Lines Matching defs:SS

128 /// within the given scope, with optional C++ scope specifier SS, to
133 Scope *S, CXXScopeSpec *SS,
145 } else if (SS && SS->isNotEmpty()) {
146 LookupCtx = computeDeclContext(*SS, false);
149 if (isDependentScopeSpecifier(*SS)) {
165 return ActOnTypenameType(S, SourceLocation(), *SS, II, NameLoc).get();
167 NestedNameSpecifierLoc QualifierLoc = SS->getWithLocInContext(Context);
179 RequireCompleteDeclContext(*SS, LookupCtx))
216 Kind, S, SS, Validator);
223 CXXScopeSpec NewSS, *NewSSPtr = SS;
224 if (SS && NNS) {
243 if (SS && NNS)
244 SS->MakeTrivial(Context, NNS, SourceRange(NameLoc));
312 if (SS && SS->isNotEmpty() && !IsCtorOrDtorName) {
318 T = getElaboratedType(ETK_None, *SS, T);
321 ElabTL.setQualifierLoc(SS->getWithLocInContext(Context));
324 T = getElaboratedType(ETK_None, *SS, T);
379 bool Sema::isMicrosoftMissingTypename(const CXXScopeSpec *SS, Scope *S) {
381 const Type *Ty = SS->getScopeRep()->getAsType();
396 CXXScopeSpec *SS,
405 LookupOrdinaryName, S, SS,
413 if (!SS || !SS->isSet()) {
416 } else if (DeclContext *DC = computeDeclContext(*SS, false)) {
422 << II << DC << DroppedSpecifier << SS->getRange());
432 IILoc, S, tmpSS.isSet() ? &tmpSS : SS, false,
447 if (isTemplateName(S, SS ? *SS : EmptySS, /*hasTemplateKeyword=*/false,
463 if (!SS || (!SS->isSet() && !SS->isInvalid()))
465 else if (DeclContext *DC = computeDeclContext(*SS, false))
467 << II << DC << SS->getRange();
468 else if (isDependentScopeSpecifier(*SS)) {
470 if (getLangOpts().MicrosoftMode && isMicrosoftMissingTypename(SS, S))
473 Diag(SS->getRange().getBegin(), DiagID)
474 << (NestedNameSpecifier *)SS->getScopeRep() << II->getName()
475 << SourceRange(SS->getRange().getBegin(), IILoc)
476 << FixItHint::CreateInsertion(SS->getRange().getBegin(), "typename ");
478 *SS, *II, IILoc).get();
480 assert(SS && SS->isInvalid() &&
505 Scope *S, CXXScopeSpec &SS,
509 SemaRef.LookupParsedName(R, S, &SS);
551 SemaRef.LookupParsedName(Result, S, &SS);
559 static ParsedType buildNestedType(Sema &S, CXXScopeSpec &SS,
566 T = S.getElaboratedType(ETK_None, SS, T);
569 ElabTL.setQualifierLoc(SS.getWithLocInContext(Context));
574 CXXScopeSpec &SS,
585 QualType(), false, SS, 0, false);
590 LookupParsedName(Result, S, &SS, !CurMethod);
596 if (!SS.isSet() && CurMethod && !isResultTypeOrTemplate(Result, NextToken)) {
610 if (!SS.isSet() && NextToken.is(tok::l_paren)) {
614 return BuildDeclarationNameExpr(SS, Result, /*ADL=*/true);
631 return BuildDeclarationNameExpr(SS, Result, /*ADL=*/false);
639 isTagTypeWithMissingTag(*this, Result, S, SS, Name, NameLoc)) {
649 &SS, *CCC)) {
668 if (SS.isEmpty()) {
675 << Name << computeDeclContext(SS, false)
676 << DroppedSpecifier << SS.getRange());
726 return ActOnDependentIdExpression(SS, /*TemplateKWLoc=*/SourceLocation(),
786 if (SS.isSet() && !SS.isInvalid())
787 Template = Context.getQualifiedTemplateName(SS.getScopeRep(),
812 if (SS.isNotEmpty())
813 return buildNestedType(*this, SS, T, NameLoc);
849 isTagTypeWithMissingTag(*this, Result, S, SS, Name, NameLoc)) {
853 if (SS.isNotEmpty())
854 return buildNestedType(*this, SS, T, NameLoc);
859 return BuildPossibleImplicitMemberExpr(SS, SourceLocation(), Result, 0);
861 bool ADL = UseArgumentDependentLookup(SS, Result, NextToken.is(tok::l_paren));
862 return BuildDeclarationNameExpr(SS, Result, ADL);
3261 CXXScopeSpec &SS = DS.getTypeSpecScope();
3264 if (Tag && SS.isNotEmpty() && !Tag->isCompleteDefinition() &&
3270 Diag(SS.getBeginLoc(), diag::err_standalone_class_nested_name_specifier)
3275 << SS.getRange();
4066 CXXScopeSpec &SS = Chunk.Mem.Scope();
4067 if (S.RebuildNestedNameSpecifierInCurrentInstantiation(SS))
4108 /// \param SS The nested-name-specifier of the declarator-id.
4118 bool Sema::diagnoseQualifiedDeclaration(CXXScopeSpec &SS, DeclContext *DC,
4143 << Name << FixItHint::CreateRemoval(SS.getRange());
4144 SS.clear();
4153 << Name << SS.getRange();
4156 << Name << SS.getRange();
4159 << Name << SS.getRange();
4162 << Name << SS.getRange();
4165 << Name << cast<NamedDecl>(Cur) << cast<NamedDecl>(DC) << SS.getRange();
4173 << Name << SS.getRange();
4174 SS.clear();
4191 NestedNameSpecifierLoc SpecLoc(SS.getScopeRep(), SS.location_data());
4757 CXXScopeSpec &SS = D.getCXXScopeSpec();
4758 if (!SS.isSet()) return;
4759 DD->setQualifierInfo(SS.getWithLocInContext(DD->getASTContext()));
10329 SourceLocation KWLoc, CXXScopeSpec &SS,
10356 (SS.isNotEmpty() && TUK != TUK_Reference)) {
10359 KWLoc, NameLoc, SS, TemplateParameterLists, TUK == TUK_Friend,
10375 SS, Name, NameLoc, Attr,
10430 if (Name && SS.isNotEmpty()) {
10434 if (SS.isInvalid()) {
10442 DC = computeDeclContext(SS, false);
10448 DC = computeDeclContext(SS, true);
10450 Diag(SS.getRange().getBegin(), diag::err_dependent_nested_name_spec)
10451 << SS.getRange();
10456 if (RequireCompleteDeclContext(SS, DC))
10481 << Kind << Name << DC << SS.getRange();
10578 assert(SS.isEmpty());
10948 if (SS.isNotEmpty()) {
10949 if (SS.isSet()) {
10957 diagnoseQualifiedDeclaration(SS, DC, OrigName, NameLoc))
10960 New->setQualifierInfo(SS.getWithLocInContext(Context));