Lines Matching refs:SS

74 DeclContext *Sema::computeDeclContext(const CXXScopeSpec &SS,  in computeDeclContext()  argument
76 if (!SS.isSet() || SS.isInvalid()) in computeDeclContext()
79 NestedNameSpecifier *NNS = SS.getScopeRep(); in computeDeclContext()
125 diagnoseMissingImport(SS.getLastQualifierNameLoc(), PartialSpec, in computeDeclContext()
167 bool Sema::isDependentScopeSpecifier(const CXXScopeSpec &SS) { in isDependentScopeSpecifier() argument
168 if (!SS.isSet() || SS.isInvalid()) in isDependentScopeSpecifier()
171 return SS.getScopeRep()->isDependent(); in isDependentScopeSpecifier()
199 bool Sema::RequireCompleteDeclContext(CXXScopeSpec &SS, in RequireCompleteDeclContext() argument
220 SourceLocation loc = SS.getLastQualifierNameLoc(); in RequireCompleteDeclContext()
221 if (loc.isInvalid()) loc = SS.getRange().getBegin(); in RequireCompleteDeclContext()
225 SS.getRange())) { in RequireCompleteDeclContext()
226 SS.SetInvalid(SS.getRange()); in RequireCompleteDeclContext()
233 return RequireCompleteEnumDecl(EnumD, loc, &SS); in RequireCompleteDeclContext()
242 CXXScopeSpec *SS) { in RequireCompleteEnumDecl() argument
266 if (SS) in RequireCompleteEnumDecl()
267 SS->SetInvalid(SS->getRange()); in RequireCompleteEnumDecl()
274 if (SS) { in RequireCompleteEnumDecl()
276 << QualType(EnumD->getTypeForDecl(), 0) << SS->getRange(); in RequireCompleteEnumDecl()
277 SS->SetInvalid(SS->getRange()); in RequireCompleteEnumDecl()
287 CXXScopeSpec &SS) { in ActOnCXXGlobalScopeSpecifier() argument
288 SS.MakeGlobal(Context, CCLoc); in ActOnCXXGlobalScopeSpecifier()
294 CXXScopeSpec &SS) { in ActOnSuperScopeSpecifier() argument
319 SS.MakeSuper(Context, RD, SuperLoc, ColonColonLoc); in ActOnSuperScopeSpecifier()
397 bool Sema::isNonTypeNestedNameSpecifier(Scope *S, CXXScopeSpec &SS, in isNonTypeNestedNameSpecifier() argument
409 assert(!SS.isSet() && "ObjectType and scope specifier cannot coexist"); in isNonTypeNestedNameSpecifier()
412 } else if (SS.isSet()) { in isNonTypeNestedNameSpecifier()
415 LookupCtx = computeDeclContext(SS, false); in isNonTypeNestedNameSpecifier()
416 isDependent = isDependentScopeSpecifier(SS); in isNonTypeNestedNameSpecifier()
417 Found.setContextRange(SS.getRange()); in isNonTypeNestedNameSpecifier()
428 RequireCompleteDeclContext(SS, LookupCtx)) in isNonTypeNestedNameSpecifier()
498 bool EnteringContext, CXXScopeSpec &SS, in BuildCXXNestedNameSpecifier() argument
518 assert(!SS.isSet() && "ObjectType and scope specifier cannot coexist"); in BuildCXXNestedNameSpecifier()
521 } else if (SS.isSet()) { in BuildCXXNestedNameSpecifier()
524 LookupCtx = computeDeclContext(SS, EnteringContext); in BuildCXXNestedNameSpecifier()
525 isDependent = isDependentScopeSpecifier(SS); in BuildCXXNestedNameSpecifier()
526 Found.setContextRange(SS.getRange()); in BuildCXXNestedNameSpecifier()
538 RequireCompleteDeclContext(SS, LookupCtx)) in BuildCXXNestedNameSpecifier()
593 SS.Extend(Context, IdInfo.Identifier, IdInfo.IdentifierLoc, IdInfo.CCLoc); in BuildCXXNestedNameSpecifier()
638 Found.getLookupNameInfo(), Found.getLookupKind(), S, &SS, CCC, in BuildCXXNestedNameSpecifier()
645 SS.clear(); in BuildCXXNestedNameSpecifier()
648 << SS.getRange()); in BuildCXXNestedNameSpecifier()
654 SS.MakeTrivial(Context, Corrected.getCorrectionSpecifier(), in BuildCXXNestedNameSpecifier()
728 SS.Extend(Context, Namespace, IdInfo.IdentifierLoc, IdInfo.CCLoc); in BuildCXXNestedNameSpecifier()
733 SS.Extend(Context, Alias, IdInfo.IdentifierLoc, IdInfo.CCLoc); in BuildCXXNestedNameSpecifier()
780 SS.Extend(Context, SourceLocation(), TLB.getTypeLocInContext(Context, T), in BuildCXXNestedNameSpecifier()
823 SS.Extend(Context, IdInfo.Identifier, IdInfo.IdentifierLoc, in BuildCXXNestedNameSpecifier()
836 DiagnoseUnknownTypeName(IdInfo.Identifier, IdInfo.IdentifierLoc, S, &SS, in BuildCXXNestedNameSpecifier()
845 } else if (SS.isSet()) in BuildCXXNestedNameSpecifier()
847 << LookupCtx << SS.getRange(); in BuildCXXNestedNameSpecifier()
856 bool EnteringContext, CXXScopeSpec &SS, in ActOnCXXNestedNameSpecifier() argument
859 if (SS.isInvalid()) in ActOnCXXNestedNameSpecifier()
862 return BuildCXXNestedNameSpecifier(S, IdInfo, EnteringContext, SS, in ActOnCXXNestedNameSpecifier()
867 bool Sema::ActOnCXXNestedNameSpecifierDecltype(CXXScopeSpec &SS, in ActOnCXXNestedNameSpecifierDecltype() argument
870 if (SS.isInvalid() || DS.getTypeSpecType() == DeclSpec::TST_error) in ActOnCXXNestedNameSpecifierDecltype()
889 SS.Extend(Context, SourceLocation(), TLB.getTypeLocInContext(Context, T), in ActOnCXXNestedNameSpecifierDecltype()
900 bool Sema::IsInvalidUnlessNestedName(Scope *S, CXXScopeSpec &SS, in IsInvalidUnlessNestedName() argument
903 if (SS.isInvalid()) in IsInvalidUnlessNestedName()
906 return !BuildCXXNestedNameSpecifier(S, IdInfo, EnteringContext, SS, in IsInvalidUnlessNestedName()
911 CXXScopeSpec &SS, in ActOnCXXNestedNameSpecifier() argument
920 if (SS.isInvalid()) in ActOnCXXNestedNameSpecifier()
933 assert(DTN->getQualifier() == SS.getScopeRep()); in ActOnCXXNestedNameSpecifier()
944 SpecTL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnCXXNestedNameSpecifier()
952 SS.Extend(Context, TemplateKWLoc, Builder.getTypeLocInContext(Context, T), in ActOnCXXNestedNameSpecifier()
967 if (SS.getRange().isValid()) in ActOnCXXNestedNameSpecifier()
968 R.setBegin(SS.getRange().getBegin()); in ActOnCXXNestedNameSpecifier()
1002 SS.Extend(Context, TemplateKWLoc, Builder.getTypeLocInContext(Context, T), in ActOnCXXNestedNameSpecifier()
1015 void *Sema::SaveNestedNameSpecifierAnnotation(CXXScopeSpec &SS) { in SaveNestedNameSpecifierAnnotation() argument
1016 if (SS.isEmpty() || SS.isInvalid()) in SaveNestedNameSpecifierAnnotation()
1020 (sizeof(NestedNameSpecifierAnnotation) + SS.location_size()), in SaveNestedNameSpecifierAnnotation()
1024 Annotation->NNS = SS.getScopeRep(); in SaveNestedNameSpecifierAnnotation()
1025 memcpy(Annotation + 1, SS.location_data(), SS.location_size()); in SaveNestedNameSpecifierAnnotation()
1031 CXXScopeSpec &SS) { in RestoreNestedNameSpecifierAnnotation() argument
1033 SS.SetInvalid(AnnotationRange); in RestoreNestedNameSpecifierAnnotation()
1039 SS.Adopt(NestedNameSpecifierLoc(Annotation->NNS, Annotation + 1)); in RestoreNestedNameSpecifierAnnotation()
1042 bool Sema::ShouldEnterDeclaratorScope(Scope *S, const CXXScopeSpec &SS) { in ShouldEnterDeclaratorScope() argument
1043 assert(SS.isSet() && "Parser passed invalid CXXScopeSpec."); in ShouldEnterDeclaratorScope()
1050 NestedNameSpecifier *Qualifier = SS.getScopeRep(); in ShouldEnterDeclaratorScope()
1091 bool Sema::ActOnCXXEnterDeclaratorScope(Scope *S, CXXScopeSpec &SS) { in ActOnCXXEnterDeclaratorScope() argument
1092 assert(SS.isSet() && "Parser passed invalid CXXScopeSpec."); in ActOnCXXEnterDeclaratorScope()
1094 if (SS.isInvalid()) return true; in ActOnCXXEnterDeclaratorScope()
1096 DeclContext *DC = computeDeclContext(SS, true); in ActOnCXXEnterDeclaratorScope()
1101 if (!DC->isDependentContext() && RequireCompleteDeclContext(SS, DC)) in ActOnCXXEnterDeclaratorScope()
1108 RebuildNestedNameSpecifierInCurrentInstantiation(SS); in ActOnCXXEnterDeclaratorScope()
1118 void Sema::ActOnCXXExitDeclaratorScope(Scope *S, const CXXScopeSpec &SS) { in ActOnCXXExitDeclaratorScope() argument
1119 assert(SS.isSet() && "Parser passed invalid CXXScopeSpec."); in ActOnCXXExitDeclaratorScope()
1120 if (SS.isInvalid()) in ActOnCXXExitDeclaratorScope()
1122 assert(!SS.isInvalid() && computeDeclContext(SS, true) && in ActOnCXXExitDeclaratorScope()