Lines Matching refs:SS
176 CXXScopeSpec &SS, in isTemplateName() argument
211 if (LookupTemplateName(R, S, SS, ObjectType, EnteringContext, in isTemplateName()
293 if (SS.isSet() && !SS.isInvalid()) { in isTemplateName()
294 NestedNameSpecifier *Qualifier = SS.getScopeRep(); in isTemplateName()
320 SourceLocation NameLoc, CXXScopeSpec &SS, in isDeductionGuideName() argument
328 if (LookupTemplateName(R, S, SS, /*ObjectType*/ QualType(), in isDeductionGuideName()
354 const CXXScopeSpec *SS, in DiagnoseUnknownTemplateName() argument
360 if (!SS || !SS->isSet() || !isDependentScopeSpecifier(*SS) || in DiagnoseUnknownTemplateName()
361 computeDeclContext(*SS)) in DiagnoseUnknownTemplateName()
366 NestedNameSpecifier *Qualifier = (NestedNameSpecifier*)SS->getScopeRep(); in DiagnoseUnknownTemplateName()
377 Scope *S, CXXScopeSpec &SS, in LookupTemplateName() argument
387 if (SS.isInvalid()) in LookupTemplateName()
399 assert(SS.isEmpty() && "ObjectType and scope specifier cannot coexist"); in LookupTemplateName()
426 } else if (SS.isNotEmpty()) { in LookupTemplateName()
429 LookupCtx = computeDeclContext(SS, EnteringContext); in LookupTemplateName()
430 IsDependent = !LookupCtx && isDependentScopeSpecifier(SS); in LookupTemplateName()
433 if (LookupCtx && RequireCompleteDeclContext(SS, LookupCtx)) in LookupTemplateName()
457 if (SS.isEmpty() && (ObjectType.isNull() || Found.empty())) { in LookupTemplateName()
484 if (ATK && SS.isEmpty() && ObjectType.isNull() && in LookupTemplateName()
523 &SS, FilterCCC, CTK_ErrorRecovery, LookupCtx)) { in LookupTemplateName()
537 << SS.getRange()); in LookupTemplateName()
558 << Found.getLookupName() << SS.getRange() in LookupTemplateName()
630 CXXScopeSpec SS; in diagnoseExprIntendedAsTemplateName() local
640 SS.Adopt(DRE->getQualifierLoc()); in diagnoseExprIntendedAsTemplateName()
645 SS.Adopt(ME->getQualifierLoc()); in diagnoseExprIntendedAsTemplateName()
652 SS.Adopt(DSDRE->getQualifierLoc()); in diagnoseExprIntendedAsTemplateName()
657 SS.Adopt(DSME->getQualifierLoc()); in diagnoseExprIntendedAsTemplateName()
693 if (TypoCorrection Corrected = CorrectTypo(NameInfo, LookupKind, S, &SS, CCC, in diagnoseExprIntendedAsTemplateName()
706 << SS.getRange(), false); in diagnoseExprIntendedAsTemplateName()
729 Sema::ActOnDependentIdExpression(const CXXScopeSpec &SS, in ActOnDependentIdExpression() argument
752 if (NestedNameSpecifier *NNS = SS.getScopeRep()) in ActOnDependentIdExpression()
767 /*Op=*/SourceLocation(), SS.getWithLocInContext(Context), TemplateKWLoc, in ActOnDependentIdExpression()
771 return BuildDependentDeclRefExpr(SS, TemplateKWLoc, NameInfo, TemplateArgs); in ActOnDependentIdExpression()
775 Sema::BuildDependentDeclRefExpr(const CXXScopeSpec &SS, in BuildDependentDeclRefExpr() argument
780 NestedNameSpecifierLoc QualifierLoc = SS.getWithLocInContext(Context); in BuildDependentDeclRefExpr()
998 CXXScopeSpec SS; in ActOnTemplateTypeArgument() local
1000 SS.Adopt(ET.getQualifierLoc()); in ActOnTemplateTypeArgument()
1006 if (SS.isSet()) in ActOnTemplateTypeArgument()
1007 Name = Context.getQualifiedTemplateName(SS.getScopeRep(), in ActOnTemplateTypeArgument()
1010 ParsedTemplateArgument Result(SS, TemplateTy::make(Name), in ActOnTemplateTypeArgument()
1137 bool Sema::ActOnTypeConstraint(const CXXScopeSpec &SS, in ActOnTypeConstraint() argument
1141 return BuildTypeConstraint(SS, TypeConstr, ConstrainedParameter, EllipsisLoc, in ActOnTypeConstraint()
1145 bool Sema::BuildTypeConstraint(const CXXScopeSpec &SS, in BuildTypeConstraint() argument
1173 SS.isSet() ? SS.getWithLocInContext(Context) : NestedNameSpecifierLoc(), in BuildTypeConstraint()
1199 CXXScopeSpec SS; in formImmediatelyDeclaredConstraint() local
1200 SS.Adopt(NS); in formImmediatelyDeclaredConstraint()
1202 SS, /*TemplateKWLoc=*/SourceLocation(), NameInfo, in formImmediatelyDeclaredConstraint()
1822 const CXXScopeSpec &SS) { in SetNestedNameSpecifier() argument
1823 if (SS.isSet()) in SetNestedNameSpecifier()
1824 T->setQualifierInfo(SS.getWithLocInContext(S.Context)); in SetNestedNameSpecifier()
1858 CXXScopeSpec &SS, IdentifierInfo *Name, SourceLocation NameLoc, in CheckClassTemplate() argument
1887 (SS.isEmpty() && TUK == TUK_Friend) in CheckClassTemplate()
1890 if (SS.isNotEmpty() && !SS.isInvalid()) { in CheckClassTemplate()
1891 SemanticContext = computeDeclContext(SS, true); in CheckClassTemplate()
1899 << SS.getScopeRep() << SS.getRange(); in CheckClassTemplate()
1903 if (RequireCompleteDeclContext(SS, SemanticContext)) in CheckClassTemplate()
1914 diagnoseQualifiedDeclaration(SS, SemanticContext, Name, NameLoc, false); in CheckClassTemplate()
1972 if (!SS.isSet()) { in CheckClassTemplate()
2005 S, SS.isValid())) in CheckClassTemplate()
2010 if (SS.isEmpty() && in CheckClassTemplate()
2095 (SS.isSet() && SemanticContext && SemanticContext->isRecord() && in CheckClassTemplate()
2103 if (SS.isSet()) { in CheckClassTemplate()
2106 if (!SS.isInvalid() && !Invalid && !PrevClassTemplate) { in CheckClassTemplate()
2109 << Name << SemanticContext << /*IsDefinition*/true << SS.getRange(); in CheckClassTemplate()
2127 SetNestedNameSpecifier(*this, NewClass, SS); in CheckClassTemplate()
3328 const CXXScopeSpec &SS) { in getRangeOfTypeInNestedNameSpecifier() argument
3329 NestedNameSpecifierLoc NNSLoc(SS.getScopeRep(), SS.location_data()); in getRangeOfTypeInNestedNameSpecifier()
3377 SourceLocation DeclStartLoc, SourceLocation DeclLoc, const CXXScopeSpec &SS, in MatchTemplateParametersToScopeSpecifier() argument
3389 if (SS.getScopeRep()) { in MatchTemplateParametersToScopeSpecifier()
3391 = dyn_cast_or_null<CXXRecordDecl>(computeDeclContext(SS, true))) in MatchTemplateParametersToScopeSpecifier()
3394 T = QualType(SS.getScopeRep()->getAsType(), 0); in MatchTemplateParametersToScopeSpecifier()
3610 << getRangeOfTypeInNestedNameSpecifier(Context, T, SS); in MatchTemplateParametersToScopeSpecifier()
3622 getRangeOfTypeInNestedNameSpecifier(Context, T, SS))) in MatchTemplateParametersToScopeSpecifier()
3661 << getRangeOfTypeInNestedNameSpecifier(Context, T, SS); in MatchTemplateParametersToScopeSpecifier()
4244 Scope *S, CXXScopeSpec &SS, SourceLocation TemplateKWLoc, in ActOnTemplateIdType() argument
4250 if (SS.isInvalid()) in ActOnTemplateIdType()
4253 if (!IsCtorOrDtorName && !IsClassName && SS.isSet()) { in ActOnTemplateIdType()
4254 DeclContext *LookupCtx = computeDeclContext(SS, /*EnteringContext*/false); in ActOnTemplateIdType()
4262 if (!LookupCtx && isDependentScopeSpecifier(SS)) { in ActOnTemplateIdType()
4266 Diag(SS.getBeginLoc(), diag::warn_cxx17_compat_implicit_typename); in ActOnTemplateIdType()
4268 Diag(SS.getBeginLoc(), diag::ext_implicit_typename) in ActOnTemplateIdType()
4269 << SS.getScopeRep() << TemplateII->getName() in ActOnTemplateIdType()
4270 << FixItHint::CreateInsertion(SS.getBeginLoc(), "typename "); in ActOnTemplateIdType()
4272 Diag(SS.getBeginLoc(), diag::err_typename_missing_template) in ActOnTemplateIdType()
4273 << SS.getScopeRep() << TemplateII->getName(); in ActOnTemplateIdType()
4278 return ActOnTypenameType(nullptr, SourceLocation(), SS, TemplateKWLoc, in ActOnTemplateIdType()
4308 assert(SS.getScopeRep() == DTN->getQualifier()); in ActOnTemplateIdType()
4317 SpecTL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnTemplateIdType()
4345 !IsCtorOrDtorName ? SS : CXXScopeSpec(), SpecTy); in ActOnTemplateIdType()
4349 ElabTL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnTemplateIdType()
4356 CXXScopeSpec &SS, in ActOnTagTemplateIdType() argument
4363 if (SS.isInvalid()) in ActOnTagTemplateIdType()
4378 assert(SS.getScopeRep() == DTN->getQualifier()); in ActOnTagTemplateIdType()
4388 SpecTL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnTagTemplateIdType()
4442 Result = Context.getElaboratedType(Keyword, SS.getScopeRep(), Result); in ActOnTagTemplateIdType()
4445 ElabTL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnTagTemplateIdType()
4997 Sema::CheckVarTemplateId(const CXXScopeSpec &SS, in CheckVarTemplateId() argument
5016 return BuildDeclarationNameExpr(SS, NameInfo, Var, in CheckVarTemplateId()
5030 Sema::CheckConceptTemplateId(const CXXScopeSpec &SS, in CheckConceptTemplateId() argument
5063 SourceRange(SS.isSet() ? SS.getBeginLoc() : ConceptNameInfo.getLoc(), in CheckConceptTemplateId()
5069 SS.isSet() ? SS.getWithLocInContext(Context) : NestedNameSpecifierLoc{}, in CheckConceptTemplateId()
5076 ExprResult Sema::BuildTemplateIdExpr(const CXXScopeSpec &SS, in BuildTemplateIdExpr() argument
5104 ExprResult Res = CheckVarTemplateId(SS, R.getLookupNameInfo(), in BuildTemplateIdExpr()
5114 return CheckConceptTemplateId(SS, TemplateKWLoc, R.getLookupNameInfo(), in BuildTemplateIdExpr()
5123 Context, R.getNamingClass(), SS.getWithLocInContext(Context), in BuildTemplateIdExpr()
5132 Sema::BuildQualifiedTemplateIdExpr(CXXScopeSpec &SS, in BuildQualifiedTemplateIdExpr() argument
5139 if (!(DC = computeDeclContext(SS, false)) || in BuildQualifiedTemplateIdExpr()
5141 RequireCompleteDeclContext(SS, DC)) in BuildQualifiedTemplateIdExpr()
5142 return BuildDependentDeclRefExpr(SS, TemplateKWLoc, NameInfo, TemplateArgs); in BuildQualifiedTemplateIdExpr()
5146 if (LookupTemplateName(R, (Scope *)nullptr, SS, QualType(), in BuildQualifiedTemplateIdExpr()
5156 << NameInfo.getName() << DC << SS.getRange(); in BuildQualifiedTemplateIdExpr()
5163 << SS.getScopeRep() << NameInfo.getName().getAsString() << SS.getRange() in BuildQualifiedTemplateIdExpr()
5175 return BuildTemplateIdExpr(SS, TemplateKWLoc, R, /*ADL*/ false, TemplateArgs); in BuildQualifiedTemplateIdExpr()
5193 CXXScopeSpec &SS, in ActOnTemplateName() argument
5207 if (SS.isInvalid()) in ActOnTemplateName()
5212 if (SS.isNotEmpty()) in ActOnTemplateName()
5213 LookupCtx = computeDeclContext(SS, EnteringContext); in ActOnTemplateName()
5234 TemplateNameKind TNK = isTemplateName(S, SS, TemplateKWLoc.isValid(), Name, in ActOnTemplateName()
5240 if (!AllowInjectedClassName && SS.isNotEmpty() && LookupRD && in ActOnTemplateName()
5275 if (!LookupTemplateName(R, S, SS, ObjectType.get(), EnteringContext, MOUS, in ActOnTemplateName()
5280 << DNI.getName() << LookupCtx << SS.getRange(); in ActOnTemplateName()
5283 << DNI.getName() << SS.getRange(); in ActOnTemplateName()
5288 NestedNameSpecifier *Qualifier = SS.getScopeRep(); in ActOnTemplateName()
5348 CXXScopeSpec SS; in CheckTemplateTypeArgument() local
5353 SS.Adopt(ArgExpr->getQualifierLoc()); in CheckTemplateTypeArgument()
5358 SS.Adopt(ArgExpr->getQualifierLoc()); in CheckTemplateTypeArgument()
5365 LookupParsedName(Result, CurScope, &SS); in CheckTemplateTypeArgument()
5370 assert(SS.getScopeRep() && "dependent scope expr must has a scope!"); in CheckTemplateTypeArgument()
5382 SS.getScopeRep(), II); in CheckTemplateTypeArgument()
5386 TL.setQualifierLoc(SS.getWithLocInContext(Context)); in CheckTemplateTypeArgument()
5819 CXXScopeSpec SS; in CheckTemplateArgument() local
5820 SS.Adopt(Arg.getTemplateQualifierLoc()); in CheckTemplateArgument()
5826 Context, SS.getWithLocInContext(Context), TemplateKWLoc, NameInfo, in CheckTemplateArgument()
7999 CXXScopeSpec SS; in BuildExpressionFromDeclTemplateArgument() local
8011 SS.MakeTrivial(Context, Qualifier, Loc); in BuildExpressionFromDeclTemplateArgument()
8015 SS, DeclarationNameInfo(VD->getDeclName(), Loc), VD); in BuildExpressionFromDeclTemplateArgument()
8838 SourceLocation ModulePrivateLoc, CXXScopeSpec &SS, in ActOnClassTemplateSpecialization() argument
8873 KWLoc, TemplateNameLoc, SS, &TemplateId, in ActOnClassTemplateSpecialization()
9030 return CheckClassTemplate(S, TagSpec, TUK, KWLoc, SS, in ActOnClassTemplateSpecialization()
9049 SetNestedNameSpecifier(*this, Partial, SS); in ActOnClassTemplateSpecialization()
9050 if (TemplateParameterLists.size() > 1 && SS.isSet()) { in ActOnClassTemplateSpecialization()
9071 SetNestedNameSpecifier(*this, Specialization, SS); in ActOnClassTemplateSpecialization()
10125 static bool ScopeSpecifierHasTemplateId(const CXXScopeSpec &SS) { in ScopeSpecifierHasTemplateId() argument
10126 if (!SS.isSet()) in ScopeSpecifierHasTemplateId()
10136 for (NestedNameSpecifier *NNS = SS.getScopeRep(); NNS; in ScopeSpecifierHasTemplateId()
10172 unsigned TagSpec, SourceLocation KWLoc, const CXXScopeSpec &SS, in ActOnExplicitInstantiation() argument
10293 SS.isSet(), TSK)) in ActOnExplicitInstantiation()
10334 SetNestedNameSpecifier(*this, Specialization, SS); in ActOnExplicitInstantiation()
10480 SourceLocation KWLoc, CXXScopeSpec &SS, in ActOnExplicitInstantiation() argument
10486 Decl *TagD = ActOnTag(S, TagSpec, Sema::TUK_Reference, KWLoc, SS, Name, in ActOnExplicitInstantiation()
10517 if (!ScopeSpecifierHasTemplateId(SS)) in ActOnExplicitInstantiation()
10519 << Record << SS.getRange(); in ActOnExplicitInstantiation()
11002 const CXXScopeSpec &SS, IdentifierInfo *Name, in ActOnDependentTag() argument
11007 NestedNameSpecifier *NNS = SS.getScopeRep(); in ActOnDependentTag()
11016 << SS.getRange(); in ActOnDependentTag()
11028 TL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnDependentTag()
11034 const CXXScopeSpec &SS, in ActOnTypenameType() argument
11038 if (SS.isInvalid()) in ActOnTypenameType()
11048 NestedNameSpecifierLoc QualifierLoc = SS.getWithLocInContext(Context); in ActOnTypenameType()
11065 const CXXScopeSpec &SS, in ActOnTypenameType() argument
11084 dyn_cast_or_null<CXXRecordDecl>(computeDeclContext(SS, false)); in ActOnTypenameType()
11101 assert(DTN->getQualifier() == SS.getScopeRep()); in ActOnTypenameType()
11111 SpecTL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnTypenameType()
11137 SS.getScopeRep(), T); in ActOnTypenameType()
11140 TL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnTypenameType()
11232 CXXScopeSpec SS; in CheckTypenameType() local
11233 SS.Adopt(QualifierLoc); in CheckTypenameType()
11237 Ctx = computeDeclContext(SS); in CheckTypenameType()
11253 if (RequireCompleteDeclContext(SS, Ctx)) in CheckTypenameType()
11260 LookupQualifiedName(Result, Ctx, SS); in CheckTypenameType()
11301 SourceRange FullRange(KeywordLoc.isValid() ? KeywordLoc : SS.getBeginLoc(), in CheckTypenameType()
11397 SourceRange FullRange(KeywordLoc.isValid() ? KeywordLoc : SS.getBeginLoc(), in CheckTypenameType()
11499 bool Sema::RebuildNestedNameSpecifierInCurrentInstantiation(CXXScopeSpec &SS) { in RebuildNestedNameSpecifierInCurrentInstantiation() argument
11500 if (SS.isInvalid()) in RebuildNestedNameSpecifierInCurrentInstantiation()
11503 NestedNameSpecifierLoc QualifierLoc = SS.getWithLocInContext(Context); in RebuildNestedNameSpecifierInCurrentInstantiation()
11504 CurrentInstantiationRebuilder Rebuilder(*this, SS.getRange().getBegin(), in RebuildNestedNameSpecifierInCurrentInstantiation()
11511 SS.Adopt(Rebuilt); in RebuildNestedNameSpecifierInCurrentInstantiation()