Home | History | Annotate | Download | only in Index

Lines Matching refs:Parent

44                                       const NamedDecl *Parent,
56 return handleDeclOccurrence(D, Loc, /*IsRef=*/true, Parent, Roles, Relations,
198 static const Decl *adjustParent(const Decl *Parent) {
199 if (!Parent)
201 for (;; Parent = cast<Decl>(Parent->getDeclContext())) {
202 if (isa<TranslationUnitDecl>(Parent))
204 if (isa<LinkageSpecDecl>(Parent) || isa<BlockDecl>(Parent))
206 if (auto NS = dyn_cast<NamespaceDecl>(Parent)) {
209 } else if (auto RD = dyn_cast<RecordDecl>(Parent)) {
212 } else if (auto FD = dyn_cast<FieldDecl>(Parent)) {
216 return Parent;
231 bool IsRef, const Decl *Parent,
298 Parent = adjustParent(Parent);
299 if (Parent)
300 Parent = getCanonicalDecl(Parent);
301 assert((!Parent || !Parent->isImplicit() ||
302 (isa<FunctionDecl>(Parent) &&
303 cast<FunctionDecl>(Parent)->getBuiltinID()) ||
304 isa<ObjCInterfaceDecl>(Parent) || isa<ObjCMethodDecl>(Parent)) &&
305 "unexpected implicit parent!");
323 if (!IsRef && Parent && !cast<DeclContext>(Parent)->isFunctionOrMethod()) {
324 addRelation(SymbolRelation{(unsigned)SymbolRole::RelationChildOf, Parent});
331 IndexDataConsumer::ASTNodeInfo Node{ OrigE, OrigD, Parent, ContainerDC };