clang-tools  9.0.0
Rename.h
Go to the documentation of this file.
1 //===--- Rename.h - Symbol-rename refactorings -------------------*- C++-*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_REFACTOR_RENAME_H
10 #define LLVM_CLANG_TOOLS_EXTRA_CLANGD_REFACTOR_RENAME_H
11 
12 #include "ClangdUnit.h"
13 #include "clang/Tooling/Core/Replacement.h"
14 #include "llvm/Support/Error.h"
15 
16 namespace clang {
17 namespace clangd {
18 
19 /// Renames all occurrences of the symbol at \p Pos to \p NewName.
20 /// Occurrences outside the current file are not modified.
21 /// Returns an error if rename a symbol that's used in another file (per the
22 /// index).
23 llvm::Expected<tooling::Replacements>
24 renameWithinFile(ParsedAST &AST, llvm::StringRef File, Position Pos,
25  llvm::StringRef NewName, const SymbolIndex *Index = nullptr);
26 
27 } // namespace clangd
28 } // namespace clang
29 
30 #endif // LLVM_CLANG_TOOLS_EXTRA_CLANGD_REFACTOR_RENAME_H
llvm::Expected< tooling::Replacements > renameWithinFile(ParsedAST &AST, llvm::StringRef File, Position Pos, llvm::StringRef NewName, const SymbolIndex *Index)
Renames all occurrences of the symbol at Pos to NewName.
Definition: Rename.cpp:161
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
const SymbolIndex * Index
Definition: Dexp.cpp:84