Lines Matching refs:ND
41 bool WriteNamedDecl(const NamedDecl *ND, MangledSymbols &Symbols, int RDO) { in WriteNamedDecl() argument
49 auto isVisible = [](const NamedDecl *ND) -> bool { in WriteNamedDecl() argument
50 return ND->getVisibility() == DefaultVisibility; in WriteNamedDecl()
53 auto ignoreDecl = [this, isVisible](const NamedDecl *ND) -> bool { in WriteNamedDecl() argument
54 if (!isVisible(ND)) in WriteNamedDecl()
57 if (const VarDecl *VD = dyn_cast<VarDecl>(ND)) { in WriteNamedDecl()
68 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) { in WriteNamedDecl()
85 auto getParentFunctionDecl = [](const NamedDecl *ND) -> const NamedDecl * { in WriteNamedDecl() argument
86 if (const VarDecl *VD = dyn_cast<VarDecl>(ND)) in WriteNamedDecl()
93 auto getMangledNames = [](const NamedDecl *ND) -> std::vector<std::string> { in WriteNamedDecl() argument
94 if (!ND) in WriteNamedDecl()
96 ASTNameGenerator NameGen(ND->getASTContext()); in WriteNamedDecl()
97 std::vector<std::string> MangledNames = NameGen.getAllManglings(ND); in WriteNamedDecl()
98 if (isa<CXXConstructorDecl>(ND) || isa<CXXDestructorDecl>(ND)) in WriteNamedDecl()
103 return {NameGen.getName(ND)}; in WriteNamedDecl()
108 if (Symbols.find(ND) != Symbols.end()) in WriteNamedDecl()
112 if (isa<FieldDecl>(ND) || isa<ParmVarDecl>(ND)) in WriteNamedDecl()
115 const NamedDecl *ParentDecl = getParentFunctionDecl(ND); in WriteNamedDecl()
116 if ((ParentDecl && ignoreDecl(ParentDecl)) || ignoreDecl(ND)) in WriteNamedDecl()
124 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) in WriteNamedDecl()
128 const bool IsWeak = (ND->hasAttr<WeakAttr>() || in WriteNamedDecl()
129 ND->hasAttr<WeakRefAttr>() || ND->isWeakImported()); in WriteNamedDecl()
132 ND, in WriteNamedDecl()
135 isa<VarDecl>(ND) ? llvm::ELF::STT_OBJECT in WriteNamedDecl()
139 getMangledNames(ND)))); in WriteNamedDecl()
163 bool HandleNamedDecl(const NamedDecl *ND, MangledSymbols &Symbols, int RDO) { in HandleNamedDecl() argument
164 if (!ND) in HandleNamedDecl()
167 switch (ND->getKind()) { in HandleNamedDecl()
171 HandleDecls(cast<NamespaceDecl>(ND)->decls(), Symbols, RDO); in HandleNamedDecl()
174 HandleDecls(cast<CXXRecordDecl>(ND)->decls(), Symbols, RDO); in HandleNamedDecl()
177 HandleDecls(cast<ClassTemplateSpecializationDecl>(ND)->decls(), Symbols, in HandleNamedDecl()
181 HandleTemplateSpecializations(*cast<ClassTemplateDecl>(ND), Symbols, RDO); in HandleNamedDecl()
184 HandleTemplateSpecializations(*cast<FunctionTemplateDecl>(ND), Symbols, in HandleNamedDecl()
212 if (!ND->getIdentifier()) in HandleNamedDecl()
214 const auto *VD = cast<VarDecl>(ND); in HandleNamedDecl()
218 if (WriteNamedDecl(ND, Symbols, RDO)) in HandleNamedDecl()
228 if (WriteNamedDecl(ND, Symbols, RDO)) in HandleNamedDecl()
246 bool VisitNamedDecl(NamedDecl *ND) { in HandleTranslationUnit()
247 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) in HandleTranslationUnit()
253 if (const auto *VD = dyn_cast<ValueDecl>(ND)) { in HandleTranslationUnit()
258 NamedDecls.insert(ND); in HandleTranslationUnit()
284 for (const NamedDecl *ND : v.ValueDecls) in HandleTranslationUnit() local
285 HandleNamedDecl(ND, Symbols, FromTU); in HandleTranslationUnit()
286 for (const NamedDecl *ND : v.NamedDecls) in HandleTranslationUnit() local
287 HandleNamedDecl(ND, Symbols, FromTU); in HandleTranslationUnit()