Home | History | Annotate | Download | only in AST

Lines Matching refs:ND

78 static bool isLambda(const NamedDecl *ND) {
79 const CXXRecordDecl *Record = dyn_cast<CXXRecordDecl>(ND);
139 bool getNextDiscriminator(const NamedDecl *ND, unsigned &disc) {
141 if (isLambda(ND))
144 const DeclContext *DC = getEffectiveDeclContext(ND);
149 if (ND->isExternallyVisible()) {
150 disc = getASTContext().getManglingNumber(ND);
155 if (const TagDecl *Tag = dyn_cast<TagDecl>(ND)) {
161 unsigned &discriminator = Uniquifier[ND];
163 discriminator = ++Discriminator[std::make_pair(DC, ND->getIdentifier())];
223 void mangleName(const NamedDecl *ND);
238 void mangleNestedName(const NamedDecl *ND);
241 void mangleUnqualifiedName(const NamedDecl *ND) {
242 mangleUnqualifiedName(ND, ND->getDeclName());
244 void mangleUnqualifiedName(const NamedDecl *ND, DeclarationName Name);
253 void mangleUnscopedTemplateName(const TemplateDecl *ND);
567 void MicrosoftCXXNameMangler::mangleName(const NamedDecl *ND) {
571 mangleUnqualifiedName(ND);
573 mangleNestedName(ND);
611 isTemplate(const NamedDecl *ND, const TemplateArgumentList *&TemplateArgs) {
613 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
622 dyn_cast<ClassTemplateSpecializationDecl>(ND)) {
629 dyn_cast<VarTemplateSpecializationDecl>(ND)) {
637 void MicrosoftCXXNameMangler::mangleUnqualifiedName(const NamedDecl *ND,
646 if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) {
690 assert(ND && "mangling empty name without declaration");
692 if (const NamespaceDecl *NS = dyn_cast<NamespaceDecl>(ND)) {
699 if (const VarDecl *VD = dyn_cast<VarDecl>(ND)) {
714 const TagDecl *TD = cast<TagDecl>(ND);
762 if (ND == Structor) {
770 if (ND == Structor)
787 mangleOperatorName(Name.getCXXOverloadedOperator(), ND->getLocation());
801 void MicrosoftCXXNameMangler::mangleNestedName(const NamedDecl *ND) {
804 if (isLambda(ND))
807 const DeclContext *DC = ND->getDeclContext();
810 if (isa<TagDecl>(ND) || isa<VarDecl>(ND)) {
812 if (Context.getNextDiscriminator(ND, Disc)) {
834 ND = cast<NamedDecl>(DC);
835 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
839 mangleUnqualifiedName(ND);
1133 const NamedDecl *ND = cast<NamedDecl>(TA.getAsDecl());
1134 if (isa<FieldDecl>(ND) || isa<IndirectFieldDecl>(ND)) {
1136 cast<CXXRecordDecl>(ND->getDeclContext())->getMostRecentDecl(),
1137 cast<ValueDecl>(ND));
1138 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
1145 mangle(ND, TA.isDeclForReferenceParam() ? "$E?" : "$1?");