Lines Matching refs:SD
328 bool Sema::isAcceptableNestedNameSpecifier(const NamedDecl *SD, in isAcceptableNestedNameSpecifier() argument
330 if (!SD) in isAcceptableNestedNameSpecifier()
333 SD = SD->getUnderlyingDecl(); in isAcceptableNestedNameSpecifier()
336 if (isa<NamespaceDecl>(SD)) in isAcceptableNestedNameSpecifier()
339 if (!isa<TypeDecl>(SD)) in isAcceptableNestedNameSpecifier()
344 QualType T = Context.getTypeDeclType(cast<TypeDecl>(SD)); in isAcceptableNestedNameSpecifier()
347 if (const TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(SD)) { in isAcceptableNestedNameSpecifier()
356 } else if (isa<RecordDecl>(SD)) { in isAcceptableNestedNameSpecifier()
358 } else if (isa<EnumDecl>(SD)) { in isAcceptableNestedNameSpecifier()
665 NamedDecl *SD = in BuildCXXNestedNameSpecifier() local
668 bool AcceptSpec = isAcceptableNestedNameSpecifier(SD, &IsExtension); in BuildCXXNestedNameSpecifier()
696 OuterDecl->getCanonicalDecl() != SD->getCanonicalDecl() && in BuildCXXNestedNameSpecifier()
697 (!isa<TypeDecl>(OuterDecl) || !isa<TypeDecl>(SD) || in BuildCXXNestedNameSpecifier()
700 Context.getTypeDeclType(cast<TypeDecl>(SD))))) { in BuildCXXNestedNameSpecifier()
707 Diag(SD->getLocation(), diag::note_ambig_member_ref_object_type) in BuildCXXNestedNameSpecifier()
716 if (auto *TD = dyn_cast_or_null<TypedefNameDecl>(SD)) in BuildCXXNestedNameSpecifier()
725 DiagnoseUseOfDecl(SD, IdInfo.CCLoc); in BuildCXXNestedNameSpecifier()
727 if (NamespaceDecl *Namespace = dyn_cast<NamespaceDecl>(SD)) { in BuildCXXNestedNameSpecifier()
732 if (NamespaceAliasDecl *Alias = dyn_cast<NamespaceAliasDecl>(SD)) { in BuildCXXNestedNameSpecifier()
738 Context.getTypeDeclType(cast<TypeDecl>(SD->getUnderlyingDecl())); in BuildCXXNestedNameSpecifier()
744 if (const auto *USD = dyn_cast<UsingShadowDecl>(SD)) { in BuildCXXNestedNameSpecifier()