[clangd] Change constness of parameters to findExplicitRefs

Summary:
Recursive AST requires non-const ast nodes, but it doesn't really
mutate them. In addition to that, in clangd we mostly have const ast nodes. So
it makes sense to move the const_cast into callee rather than having it at every
caller in the future.

Reviewers: ilya-biryukov

Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68027

llvm-svn: 372888
This commit is contained in:
Kadir Cetinkaya 2019-09-25 15:44:26 +00:00
parent de44f434e8
commit 007e4fe901
2 changed files with 6 additions and 6 deletions

View File

@ -616,15 +616,15 @@ private:
};
} // namespace
void findExplicitReferences(Stmt *S,
void findExplicitReferences(const Stmt *S,
llvm::function_ref<void(ReferenceLoc)> Out) {
assert(S);
ExplicitReferenceColletor(Out).TraverseStmt(S);
ExplicitReferenceColletor(Out).TraverseStmt(const_cast<Stmt *>(S));
}
void findExplicitReferences(Decl *D,
void findExplicitReferences(const Decl *D,
llvm::function_ref<void(ReferenceLoc)> Out) {
assert(D);
ExplicitReferenceColletor(Out).TraverseDecl(D);
ExplicitReferenceColletor(Out).TraverseDecl(const_cast<Decl *>(D));
}
llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, DeclRelation R) {

View File

@ -101,9 +101,9 @@ llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, ReferenceLoc R);
/// qualifiers.
/// FIXME: currently this does not report references to overloaded operators.
/// FIXME: extend to report location information about declaration names too.
void findExplicitReferences(Stmt *S,
void findExplicitReferences(const Stmt *S,
llvm::function_ref<void(ReferenceLoc)> Out);
void findExplicitReferences(Decl *D,
void findExplicitReferences(const Decl *D,
llvm::function_ref<void(ReferenceLoc)> Out);
/// Similar to targetDecl(), however instead of applying a filter, all possible