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