Lines Matching refs:SD
319 bool Sema::isAcceptableNestedNameSpecifier(const NamedDecl *SD, in isAcceptableNestedNameSpecifier() argument
321 if (!SD) in isAcceptableNestedNameSpecifier()
324 SD = SD->getUnderlyingDecl(); in isAcceptableNestedNameSpecifier()
327 if (isa<NamespaceDecl>(SD)) in isAcceptableNestedNameSpecifier()
330 if (!isa<TypeDecl>(SD)) in isAcceptableNestedNameSpecifier()
335 QualType T = Context.getTypeDeclType(cast<TypeDecl>(SD)); in isAcceptableNestedNameSpecifier()
338 if (const TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(SD)) { in isAcceptableNestedNameSpecifier()
347 } else if (isa<RecordDecl>(SD)) { in isAcceptableNestedNameSpecifier()
349 } else if (isa<EnumDecl>(SD)) { in isAcceptableNestedNameSpecifier()
576 NamedDecl *SD = in BuildCXXNestedNameSpecifier() local
579 bool AcceptSpec = isAcceptableNestedNameSpecifier(SD, &IsExtension); in BuildCXXNestedNameSpecifier()
607 OuterDecl->getCanonicalDecl() != SD->getCanonicalDecl() && in BuildCXXNestedNameSpecifier()
608 (!isa<TypeDecl>(OuterDecl) || !isa<TypeDecl>(SD) || in BuildCXXNestedNameSpecifier()
611 Context.getTypeDeclType(cast<TypeDecl>(SD))))) { in BuildCXXNestedNameSpecifier()
618 Diag(SD->getLocation(), diag::note_ambig_member_ref_object_type) in BuildCXXNestedNameSpecifier()
627 if (auto *TD = dyn_cast_or_null<TypedefNameDecl>(SD)) in BuildCXXNestedNameSpecifier()
636 DiagnoseUseOfDecl(SD, IdInfo.CCLoc); in BuildCXXNestedNameSpecifier()
638 if (NamespaceDecl *Namespace = dyn_cast<NamespaceDecl>(SD)) { in BuildCXXNestedNameSpecifier()
643 if (NamespaceAliasDecl *Alias = dyn_cast<NamespaceAliasDecl>(SD)) { in BuildCXXNestedNameSpecifier()
649 Context.getTypeDeclType(cast<TypeDecl>(SD->getUnderlyingDecl())); in BuildCXXNestedNameSpecifier()
655 if (const auto *USD = dyn_cast<UsingShadowDecl>(SD)) { in BuildCXXNestedNameSpecifier()