diff options
Diffstat (limited to 'clang/lib/Tooling/Refactoring')
| -rw-r--r-- | clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp | 1 | ||||
| -rw-r--r-- | clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp b/clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp index 7dfd3988d9041..70a4df07ea67b 100644 --- a/clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp +++ b/clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp @@ -7,6 +7,7 @@ //===----------------------------------------------------------------------===// #include "clang/Tooling/Refactoring/RefactoringActionRuleRequirements.h" +#include "clang/AST/Attr.h" using namespace clang; using namespace tooling; diff --git a/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp b/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp index e26248f50c298..d966a5ef23c25 100644 --- a/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp +++ b/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp @@ -39,6 +39,8 @@ namespace clang { namespace tooling { const NamedDecl *getCanonicalSymbolDeclaration(const NamedDecl *FoundDecl) { + if (!FoundDecl) + return nullptr; // If FoundDecl is a constructor or destructor, we want to instead take // the Decl of the corresponding class. if (const auto *CtorDecl = dyn_cast<CXXConstructorDecl>(FoundDecl)) @@ -65,7 +67,7 @@ public: std::vector<std::string> Find() { // Fill OverriddenMethods and PartialSpecs storages. - TraverseDecl(Context.getTranslationUnitDecl()); + TraverseAST(Context); if (const auto *MethodDecl = dyn_cast<CXXMethodDecl>(FoundDecl)) { addUSRsOfOverridenFunctions(MethodDecl); for (const auto &OverriddenMethod : OverriddenMethods) { |
