Lines Matching refs:SS
174 CXXScopeSpec &SS, in isTemplateName() argument
209 if (LookupTemplateName(R, S, SS, ObjectType, EnteringContext, in isTemplateName()
291 if (SS.isSet() && !SS.isInvalid()) { in isTemplateName()
292 NestedNameSpecifier *Qualifier = SS.getScopeRep(); in isTemplateName()
320 CXXScopeSpec SS; in isDeductionGuideName() local
327 if (LookupTemplateName(R, S, SS, /*ObjectType*/ QualType(), in isDeductionGuideName()
353 const CXXScopeSpec *SS, in DiagnoseUnknownTemplateName() argument
359 if (!SS || !SS->isSet() || !isDependentScopeSpecifier(*SS) || in DiagnoseUnknownTemplateName()
360 computeDeclContext(*SS)) in DiagnoseUnknownTemplateName()
365 NestedNameSpecifier *Qualifier = (NestedNameSpecifier*)SS->getScopeRep(); in DiagnoseUnknownTemplateName()
376 Scope *S, CXXScopeSpec &SS, in LookupTemplateName() argument
386 if (SS.isInvalid()) in LookupTemplateName()
398 assert(SS.isEmpty() && "ObjectType and scope specifier cannot coexist"); in LookupTemplateName()
424 } else if (SS.isNotEmpty()) { in LookupTemplateName()
427 LookupCtx = computeDeclContext(SS, EnteringContext); in LookupTemplateName()
428 IsDependent = !LookupCtx && isDependentScopeSpecifier(SS); in LookupTemplateName()
431 if (LookupCtx && RequireCompleteDeclContext(SS, LookupCtx)) in LookupTemplateName()
455 if (SS.isEmpty() && (ObjectType.isNull() || Found.empty())) { in LookupTemplateName()
482 if (ATK && SS.isEmpty() && ObjectType.isNull() && in LookupTemplateName()
521 &SS, FilterCCC, CTK_ErrorRecovery, LookupCtx)) { in LookupTemplateName()
535 << SS.getRange()); in LookupTemplateName()
556 << Found.getLookupName() << SS.getRange() in LookupTemplateName()
628 CXXScopeSpec SS; in diagnoseExprIntendedAsTemplateName() local
638 SS.Adopt(DRE->getQualifierLoc()); in diagnoseExprIntendedAsTemplateName()
643 SS.Adopt(ME->getQualifierLoc()); in diagnoseExprIntendedAsTemplateName()
650 SS.Adopt(DSDRE->getQualifierLoc()); in diagnoseExprIntendedAsTemplateName()
655 SS.Adopt(DSME->getQualifierLoc()); in diagnoseExprIntendedAsTemplateName()
691 if (TypoCorrection Corrected = CorrectTypo(NameInfo, LookupKind, S, &SS, CCC, in diagnoseExprIntendedAsTemplateName()
704 << SS.getRange(), false); in diagnoseExprIntendedAsTemplateName()
727 Sema::ActOnDependentIdExpression(const CXXScopeSpec &SS, in ActOnDependentIdExpression() argument
750 if (NestedNameSpecifier *NNS = SS.getScopeRep()) in ActOnDependentIdExpression()
763 /*Op*/ SourceLocation(), SS.getWithLocInContext(Context), TemplateKWLoc, in ActOnDependentIdExpression()
767 return BuildDependentDeclRefExpr(SS, TemplateKWLoc, NameInfo, TemplateArgs); in ActOnDependentIdExpression()
771 Sema::BuildDependentDeclRefExpr(const CXXScopeSpec &SS, in BuildDependentDeclRefExpr() argument
776 NestedNameSpecifierLoc QualifierLoc = SS.getWithLocInContext(Context); in BuildDependentDeclRefExpr()
996 CXXScopeSpec SS; in ActOnTemplateTypeArgument() local
998 SS.Adopt(ET.getQualifierLoc()); in ActOnTemplateTypeArgument()
1004 if (SS.isSet()) in ActOnTemplateTypeArgument()
1005 Name = Context.getQualifiedTemplateName(SS.getScopeRep(), in ActOnTemplateTypeArgument()
1008 ParsedTemplateArgument Result(SS, TemplateTy::make(Name), in ActOnTemplateTypeArgument()
1109 bool Sema::ActOnTypeConstraint(const CXXScopeSpec &SS, in ActOnTypeConstraint() argument
1113 return BuildTypeConstraint(SS, TypeConstr, ConstrainedParameter, EllipsisLoc, in ActOnTypeConstraint()
1117 bool Sema::BuildTypeConstraint(const CXXScopeSpec &SS, in BuildTypeConstraint() argument
1159 SS.isSet() ? SS.getWithLocInContext(Context) : NestedNameSpecifierLoc(), in BuildTypeConstraint()
1185 CXXScopeSpec SS; in formImmediatelyDeclaredConstraint() local
1186 SS.Adopt(NS); in formImmediatelyDeclaredConstraint()
1188 SS, /*TemplateKWLoc=*/SourceLocation(), NameInfo, in formImmediatelyDeclaredConstraint()
1713 const CXXScopeSpec &SS) { in SetNestedNameSpecifier() argument
1714 if (SS.isSet()) in SetNestedNameSpecifier()
1715 T->setQualifierInfo(SS.getWithLocInContext(S.Context)); in SetNestedNameSpecifier()
1720 CXXScopeSpec &SS, IdentifierInfo *Name, SourceLocation NameLoc, in CheckClassTemplate() argument
1748 (SS.isEmpty() && TUK == TUK_Friend) in CheckClassTemplate()
1751 if (SS.isNotEmpty() && !SS.isInvalid()) { in CheckClassTemplate()
1752 SemanticContext = computeDeclContext(SS, true); in CheckClassTemplate()
1760 << SS.getScopeRep() << SS.getRange(); in CheckClassTemplate()
1764 if (RequireCompleteDeclContext(SS, SemanticContext)) in CheckClassTemplate()
1775 diagnoseQualifiedDeclaration(SS, SemanticContext, Name, NameLoc, false); in CheckClassTemplate()
1833 if (!SS.isSet()) { in CheckClassTemplate()
1866 S, SS.isValid())) in CheckClassTemplate()
1871 if (SS.isEmpty() && in CheckClassTemplate()
1954 (SS.isSet() && SemanticContext && SemanticContext->isRecord() && in CheckClassTemplate()
1961 if (SS.isSet()) { in CheckClassTemplate()
1964 if (!SS.isInvalid() && !Invalid && !PrevClassTemplate) { in CheckClassTemplate()
1967 << Name << SemanticContext << /*IsDefinition*/true << SS.getRange(); in CheckClassTemplate()
1985 SetNestedNameSpecifier(*this, NewClass, SS); in CheckClassTemplate()
3063 const CXXScopeSpec &SS) { in getRangeOfTypeInNestedNameSpecifier() argument
3064 NestedNameSpecifierLoc NNSLoc(SS.getScopeRep(), SS.location_data()); in getRangeOfTypeInNestedNameSpecifier()
3112 SourceLocation DeclStartLoc, SourceLocation DeclLoc, const CXXScopeSpec &SS, in MatchTemplateParametersToScopeSpecifier() argument
3124 if (SS.getScopeRep()) { in MatchTemplateParametersToScopeSpecifier()
3126 = dyn_cast_or_null<CXXRecordDecl>(computeDeclContext(SS, true))) in MatchTemplateParametersToScopeSpecifier()
3129 T = QualType(SS.getScopeRep()->getAsType(), 0); in MatchTemplateParametersToScopeSpecifier()
3345 << getRangeOfTypeInNestedNameSpecifier(Context, T, SS); in MatchTemplateParametersToScopeSpecifier()
3357 getRangeOfTypeInNestedNameSpecifier(Context, T, SS))) in MatchTemplateParametersToScopeSpecifier()
3396 << getRangeOfTypeInNestedNameSpecifier(Context, T, SS); in MatchTemplateParametersToScopeSpecifier()
3963 Scope *S, CXXScopeSpec &SS, SourceLocation TemplateKWLoc, in ActOnTemplateIdType() argument
3968 if (SS.isInvalid()) in ActOnTemplateIdType()
3971 if (!IsCtorOrDtorName && !IsClassName && SS.isSet()) { in ActOnTemplateIdType()
3972 DeclContext *LookupCtx = computeDeclContext(SS, /*EnteringContext*/false); in ActOnTemplateIdType()
3980 if (!LookupCtx && isDependentScopeSpecifier(SS)) { in ActOnTemplateIdType()
3981 Diag(SS.getBeginLoc(), diag::err_typename_missing_template) in ActOnTemplateIdType()
3982 << SS.getScopeRep() << TemplateII->getName(); in ActOnTemplateIdType()
3987 return ActOnTypenameType(nullptr, SourceLocation(), SS, TemplateKWLoc, in ActOnTemplateIdType()
4027 SpecTL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnTemplateIdType()
4055 if (SS.isNotEmpty() && !IsCtorOrDtorName) { in ActOnTemplateIdType()
4057 Result = Context.getElaboratedType(ETK_None, SS.getScopeRep(), Result); in ActOnTemplateIdType()
4060 ElabTL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnTemplateIdType()
4069 CXXScopeSpec &SS, in ActOnTagTemplateIdType() argument
4076 if (SS.isInvalid()) in ActOnTagTemplateIdType()
4101 SpecTL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnTagTemplateIdType()
4155 Result = Context.getElaboratedType(Keyword, SS.getScopeRep(), Result); in ActOnTagTemplateIdType()
4158 ElabTL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnTagTemplateIdType()
4705 Sema::CheckVarTemplateId(const CXXScopeSpec &SS, in CheckVarTemplateId() argument
4724 return BuildDeclarationNameExpr(SS, NameInfo, Var, in CheckVarTemplateId()
4739 Sema::CheckConceptTemplateId(const CXXScopeSpec &SS, in CheckConceptTemplateId() argument
4761 SourceRange(SS.isSet() ? SS.getBeginLoc() : ConceptNameInfo.getLoc(), in CheckConceptTemplateId()
4767 SS.isSet() ? SS.getWithLocInContext(Context) : NestedNameSpecifierLoc{}, in CheckConceptTemplateId()
4773 ExprResult Sema::BuildTemplateIdExpr(const CXXScopeSpec &SS, in BuildTemplateIdExpr() argument
4801 ExprResult Res = CheckVarTemplateId(SS, R.getLookupNameInfo(), in BuildTemplateIdExpr()
4810 return CheckConceptTemplateId(SS, TemplateKWLoc, R.getLookupNameInfo(), in BuildTemplateIdExpr()
4820 SS.getWithLocInContext(Context), in BuildTemplateIdExpr()
4831 Sema::BuildQualifiedTemplateIdExpr(CXXScopeSpec &SS, in BuildQualifiedTemplateIdExpr() argument
4838 if (!(DC = computeDeclContext(SS, false)) || in BuildQualifiedTemplateIdExpr()
4840 RequireCompleteDeclContext(SS, DC)) in BuildQualifiedTemplateIdExpr()
4841 return BuildDependentDeclRefExpr(SS, TemplateKWLoc, NameInfo, TemplateArgs); in BuildQualifiedTemplateIdExpr()
4845 if (LookupTemplateName(R, (Scope *)nullptr, SS, QualType(), in BuildQualifiedTemplateIdExpr()
4855 << NameInfo.getName() << DC << SS.getRange(); in BuildQualifiedTemplateIdExpr()
4861 << SS.getScopeRep() in BuildQualifiedTemplateIdExpr()
4862 << NameInfo.getName().getAsString() << SS.getRange(); in BuildQualifiedTemplateIdExpr()
4867 return BuildTemplateIdExpr(SS, TemplateKWLoc, R, /*ADL*/ false, TemplateArgs); in BuildQualifiedTemplateIdExpr()
4885 CXXScopeSpec &SS, in ActOnTemplateName() argument
4899 if (SS.isInvalid()) in ActOnTemplateName()
4904 if (SS.isNotEmpty()) in ActOnTemplateName()
4905 LookupCtx = computeDeclContext(SS, EnteringContext); in ActOnTemplateName()
4926 TemplateNameKind TNK = isTemplateName(S, SS, TemplateKWLoc.isValid(), Name, in ActOnTemplateName()
4932 if (!AllowInjectedClassName && SS.isNotEmpty() && LookupRD && in ActOnTemplateName()
4967 if (!LookupTemplateName(R, S, SS, ObjectType.get(), EnteringContext, MOUS, in ActOnTemplateName()
4972 << DNI.getName() << LookupCtx << SS.getRange(); in ActOnTemplateName()
4975 << DNI.getName() << SS.getRange(); in ActOnTemplateName()
4980 NestedNameSpecifier *Qualifier = SS.getScopeRep(); in ActOnTemplateName()
5039 CXXScopeSpec SS; in CheckTemplateTypeArgument() local
5044 SS.Adopt(ArgExpr->getQualifierLoc()); in CheckTemplateTypeArgument()
5049 SS.Adopt(ArgExpr->getQualifierLoc()); in CheckTemplateTypeArgument()
5056 LookupParsedName(Result, CurScope, &SS); in CheckTemplateTypeArgument()
5061 assert(SS.getScopeRep() && "dependent scope expr must has a scope!"); in CheckTemplateTypeArgument()
5073 Context.getDependentNameType(ETK_Typename, SS.getScopeRep(), II); in CheckTemplateTypeArgument()
5077 TL.setQualifierLoc(SS.getWithLocInContext(Context)); in CheckTemplateTypeArgument()
5534 CXXScopeSpec SS; in CheckTemplateArgument() local
5535 SS.Adopt(Arg.getTemplateQualifierLoc()); in CheckTemplateArgument()
5541 Context, SS.getWithLocInContext(Context), TemplateKWLoc, NameInfo, in CheckTemplateArgument()
7574 CXXScopeSpec SS; in BuildExpressionFromDeclTemplateArgument() local
7586 SS.MakeTrivial(Context, Qualifier, Loc); in BuildExpressionFromDeclTemplateArgument()
7590 SS, DeclarationNameInfo(VD->getDeclName(), Loc), VD); in BuildExpressionFromDeclTemplateArgument()
8294 SourceLocation ModulePrivateLoc, CXXScopeSpec &SS, in ActOnClassTemplateSpecialization() argument
8329 KWLoc, TemplateNameLoc, SS, &TemplateId, in ActOnClassTemplateSpecialization()
8483 return CheckClassTemplate(S, TagSpec, TUK, KWLoc, SS, in ActOnClassTemplateSpecialization()
8507 SetNestedNameSpecifier(*this, Partial, SS); in ActOnClassTemplateSpecialization()
8508 if (TemplateParameterLists.size() > 1 && SS.isSet()) { in ActOnClassTemplateSpecialization()
8533 SetNestedNameSpecifier(*this, Specialization, SS); in ActOnClassTemplateSpecialization()
9568 static bool ScopeSpecifierHasTemplateId(const CXXScopeSpec &SS) { in ScopeSpecifierHasTemplateId() argument
9569 if (!SS.isSet()) in ScopeSpecifierHasTemplateId()
9579 for (NestedNameSpecifier *NNS = SS.getScopeRep(); NNS; in ScopeSpecifierHasTemplateId()
9615 unsigned TagSpec, SourceLocation KWLoc, const CXXScopeSpec &SS, in ActOnExplicitInstantiation() argument
9735 SS.isSet(), TSK)) in ActOnExplicitInstantiation()
9780 SetNestedNameSpecifier(*this, Specialization, SS); in ActOnExplicitInstantiation()
9920 SourceLocation KWLoc, CXXScopeSpec &SS, in ActOnExplicitInstantiation() argument
9927 KWLoc, SS, Name, NameLoc, Attr, AS_none, in ActOnExplicitInstantiation()
9959 if (!ScopeSpecifierHasTemplateId(SS)) in ActOnExplicitInstantiation()
9961 << Record << SS.getRange(); in ActOnExplicitInstantiation()
10444 const CXXScopeSpec &SS, IdentifierInfo *Name, in ActOnDependentTag() argument
10449 NestedNameSpecifier *NNS = SS.getScopeRep(); in ActOnDependentTag()
10457 << (TUK == TUK_Definition) << Kind << SS.getRange(); in ActOnDependentTag()
10469 TL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnDependentTag()
10476 const CXXScopeSpec &SS, const IdentifierInfo &II, in ActOnTypenameType() argument
10478 if (SS.isInvalid()) in ActOnTypenameType()
10488 NestedNameSpecifierLoc QualifierLoc = SS.getWithLocInContext(Context); in ActOnTypenameType()
10501 const CXXScopeSpec &SS, in ActOnTypenameType() argument
10520 dyn_cast_or_null<CXXRecordDecl>(computeDeclContext(SS, false)); in ActOnTypenameType()
10537 assert(DTN->getQualifier() == SS.getScopeRep()); in ActOnTypenameType()
10548 SpecTL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnTypenameType()
10573 T = Context.getElaboratedType(ETK_Typename, SS.getScopeRep(), T); in ActOnTypenameType()
10576 TL.setQualifierLoc(SS.getWithLocInContext(Context)); in ActOnTypenameType()
10668 CXXScopeSpec SS; in CheckTypenameType() local
10669 SS.Adopt(QualifierLoc); in CheckTypenameType()
10673 Ctx = computeDeclContext(SS); in CheckTypenameType()
10689 if (RequireCompleteDeclContext(SS, Ctx)) in CheckTypenameType()
10696 LookupQualifiedName(Result, Ctx, SS); in CheckTypenameType()
10737 SourceRange FullRange(KeywordLoc.isValid() ? KeywordLoc : SS.getBeginLoc(), in CheckTypenameType()
10833 SourceRange FullRange(KeywordLoc.isValid() ? KeywordLoc : SS.getBeginLoc(), in CheckTypenameType()
10935 bool Sema::RebuildNestedNameSpecifierInCurrentInstantiation(CXXScopeSpec &SS) { in RebuildNestedNameSpecifierInCurrentInstantiation() argument
10936 if (SS.isInvalid()) in RebuildNestedNameSpecifierInCurrentInstantiation()
10939 NestedNameSpecifierLoc QualifierLoc = SS.getWithLocInContext(Context); in RebuildNestedNameSpecifierInCurrentInstantiation()
10940 CurrentInstantiationRebuilder Rebuilder(*this, SS.getRange().getBegin(), in RebuildNestedNameSpecifierInCurrentInstantiation()
10947 SS.Adopt(Rebuilt); in RebuildNestedNameSpecifierInCurrentInstantiation()