reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

tools/clang/include/clang/Parse/Parser.h
   35   class Scope;
tools/clang/include/clang/Sema/ExternalSemaSource.h
   34 class Scope;
tools/clang/include/clang/Sema/IdentifierResolver.h
   33 class Scope;
tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h
   28   class Scope;
tools/clang/include/clang/Sema/ScopeInfo.h
   56 class Scope;

References

tools/clang/include/clang/Parse/Parser.h
   93   Scope *ScopeCache[ScopeCacheSize];
  410   Scope *getCurScope() const { return Actions.getCurScope(); }
 1055     Scope *CurScope;
tools/clang/include/clang/Sema/ExternalSemaSource.h
   97   virtual bool LookupUnqualified(LookupResult &R, Scope *S) { return false; }
  203                                      int LookupKind, Scope *S, CXXScopeSpec *SS,
tools/clang/include/clang/Sema/IdentifierResolver.h
  155   bool isDeclInScope(Decl *D, DeclContext *Ctx, Scope *S = nullptr,
tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h
  237   bool LookupUnqualified(LookupResult &R, Scope *S) override;
  336                              int LookupKind, Scope *S, CXXScopeSpec *SS,
tools/clang/include/clang/Sema/Scope.h
  142   Scope *AnyParent;
  168   Scope *FnParent;
  169   Scope *MSLastManglingParent;
  175   Scope *BreakParent, *ContinueParent;
  179   Scope *BlockParent;
  185   Scope *TemplateParamParent;
  211   void setFlags(Scope *Parent, unsigned F);
  214   Scope(Scope *Parent, unsigned ScopeFlags, DiagnosticsEngine &Diag)
  228   const Scope *getParent() const { return AnyParent; }
  229   Scope *getParent() { return AnyParent; }
  232   const Scope *getFnParent() const { return FnParent; }
  233   Scope *getFnParent() { return FnParent; }
  235   const Scope *getMSLastManglingParent() const {
  238   Scope *getMSLastManglingParent() { return MSLastManglingParent; }
  242   Scope *getContinueParent() {
  246   const Scope *getContinueParent() const {
  252   Scope *getBreakParent() {
  255   const Scope *getBreakParent() const {
  259   Scope *getBlockParent() { return BlockParent; }
  260   const Scope *getBlockParent() const { return BlockParent; }
  262   Scope *getTemplateParamParent() { return TemplateParamParent; }
  263   const Scope *getTemplateParamParent() const { return TemplateParamParent; }
  298     if (Scope *MSLMP = getMSLastManglingParent()) {
  305     if (Scope *MSLMP = getMSLastManglingParent()) {
  312     if (const Scope *MSLMP = getMSLastManglingParent())
  337   bool isFunctionScope() const { return (getFlags() & Scope::FnScope); }
  341     return (getFlags() & Scope::ClassScope);
  347     if (const Scope *FnS = getFnParent()) {
  357     for (const Scope *S = this; S; S = S->getParent()) {
  368     if (const Scope *S = this) {
  379     return getFlags() & Scope::TemplateParamScope;
  385     return getFlags() & Scope::FunctionPrototypeScope;
  390     return getFlags() & Scope::AtCatchScope;
  395     for (const Scope *S = this; S; S = S->getParent()) {
  396       if (S->getFlags() & Scope::SwitchScope)
  398       else if (S->getFlags() & (Scope::FnScope | Scope::ClassScope |
  398       else if (S->getFlags() & (Scope::FnScope | Scope::ClassScope |
  399                                 Scope::BlockScope | Scope::TemplateParamScope |
  399                                 Scope::BlockScope | Scope::TemplateParamScope |
  400                                 Scope::FunctionPrototypeScope |
  401                                 Scope::AtCatchScope | Scope::ObjCMethodScope))
  401                                 Scope::AtCatchScope | Scope::ObjCMethodScope))
  409     return (getFlags() & Scope::OpenMPDirectiveScope);
  415     if (getFlags() & Scope::OpenMPLoopDirectiveScope) {
  426     return getFlags() & Scope::OpenMPSimdDirectiveScope;
  432     const Scope *P = getParent();
  437   bool isTryScope() const { return getFlags() & Scope::TryScope; }
  440   bool isSEHTryScope() const { return getFlags() & Scope::SEHTryScope; }
  443   bool isSEHExceptScope() const { return getFlags() & Scope::SEHExceptScope; }
  447     return getFlags() & Scope::CompoundStmtScope;
  454   bool Contains(const Scope& rhs) const { return Depth < rhs.Depth; }
  491   void Init(Scope *parent, unsigned flags);
tools/clang/include/clang/Sema/ScopeInfo.h
  721   Scope *TheScope;
  727   BlockScopeInfo(DiagnosticsEngine &Diag, Scope *BlockScope, BlockDecl *Block)
  750   Scope *TheScope;
  761   CapturedRegionScopeInfo(DiagnosticsEngine &Diag, Scope *S, CapturedDecl *CD,
tools/clang/include/clang/Sema/Sema.h
  406   SmallVector<Scope*, 2> CurrentSEHFinally;
  888   Scope *TUScope;
 1437   Scope *getScopeForContext(DeclContext *Ctx);
 1440   void PushBlockScope(Scope *BlockScope, BlockDecl *Block);
 1448   void PushCapturedRegionScope(Scope *RegionScope, CapturedDecl *CD,
 1586   TypeSourceInfo *GetTypeForDeclarator(Declarator &D, Scope *S);
 1626   TypeResult ActOnTypeName(Scope *S, Declarator &D);
 1853                          Scope *S, CXXScopeSpec *SS = nullptr,
 1860   TypeSpecifierType isTagName(IdentifierInfo &II, Scope *S);
 1861   bool isMicrosoftMissingTypename(const CXXScopeSpec *SS, Scope *S);
 1864                                Scope *S,
 2041   NameClassification ClassifyName(Scope *S, CXXScopeSpec &SS,
 2058   ExprResult ActOnNameClassifiedAsNonType(Scope *S, const CXXScopeSpec &SS,
 2095   void diagnoseExprIntendedAsTemplateName(Scope *S, ExprResult TemplateName,
 2099   Decl *ActOnDeclarator(Scope *S, Declarator &D);
 2101   NamedDecl *HandleDeclarator(Scope *S, Declarator &D,
 2103   void RegisterLocallyScopedExternCDecl(NamedDecl *ND, Scope *S);
 2124   void CheckShadow(Scope *S, VarDecl *D);
 2139   void handleTagNumbering(const TagDecl *Tag, Scope *TagScope);
 2142   void CheckTypedefForVariablyModifiedType(Scope *S, TypedefNameDecl *D);
 2143   NamedDecl* ActOnTypedefDeclarator(Scope* S, Declarator& D, DeclContext* DC,
 2146   NamedDecl* ActOnTypedefNameDecl(Scope* S, DeclContext* DC, TypedefNameDecl *D,
 2148   NamedDecl *ActOnVariableDeclarator(Scope *S, Declarator &D, DeclContext *DC,
 2155   ActOnDecompositionDeclarator(Scope *S, Declarator &D,
 2166   NamedDecl* ActOnFunctionDeclarator(Scope* S, Declarator& D, DeclContext* DC,
 2190   bool CheckFunctionDeclaration(Scope *S,
 2200   void CheckFunctionOrTemplateParamDeclarator(Scope *S, Declarator &D);
 2201   Decl *ActOnParamDeclarator(Scope *S, Declarator &D);
 2267   StmtResult ActOnCXXForRangeIdentifier(Scope *S, SourceLocation IdentLoc,
 2275   DeclGroupPtrTy FinalizeDeclaratorGroup(Scope *S, const DeclSpec &DS,
 2284   void ActOnFinishKNRParamDeclarations(Scope *S, Declarator &D,
 2289   Decl *ActOnStartOfFunctionDef(Scope *S, Declarator &D,
 2292   Decl *ActOnStartOfFunctionDef(Scope *S, Decl *D,
 2294   void ActOnStartOfObjCMethodDef(Scope *S, Decl *D);
 2326   void ActOnFinishDelayedAttribute(Scope *S, Decl *D, ParsedAttributes &Attrs);
 2345   Decl *ActOnEmptyDeclaration(Scope *S, const ParsedAttributesView &AttrList,
 2423   Decl *ActOnStartExportDecl(Scope *S, SourceLocation ExportLoc,
 2425   Decl *ActOnFinishExportDecl(Scope *S, Decl *ExportDecl,
 2449   void ActOnPopScope(SourceLocation Loc, Scope *S);
 2450   void ActOnTranslationUnitScope(Scope *S);
 2452   Decl *ParsedFreeStandingDeclSpec(Scope *S, AccessSpecifier AS, DeclSpec &DS,
 2454   Decl *ParsedFreeStandingDeclSpec(Scope *S, AccessSpecifier AS, DeclSpec &DS,
 2459   Decl *BuildAnonymousStructOrUnion(Scope *S, DeclSpec &DS,
 2464   Decl *BuildMicrosoftCAnonymousStruct(Scope *S, DeclSpec &DS,
 2497   Decl *ActOnTag(Scope *S, unsigned TagSpec, TagUseKind TUK,
 2507   Decl *ActOnTemplatedFriendTag(Scope *S, SourceLocation FriendLoc,
 2514   TypeResult ActOnDependentTag(Scope *S,
 2522   void ActOnDefs(Scope *S, Decl *TagD, SourceLocation DeclStart,
 2525   Decl *ActOnField(Scope *S, Decl *TagD, SourceLocation DeclStart,
 2528   FieldDecl *HandleField(Scope *S, RecordDecl *TagD, SourceLocation DeclStart,
 2532   MSPropertyDecl *HandleMSProperty(Scope *S, RecordDecl *TagD,
 2610   Decl *ActOnIvar(Scope *S, SourceLocation DeclStart,
 2615   void ActOnFields(Scope *S, SourceLocation RecLoc, Decl *TagDecl,
 2622   void ActOnTagStartDefinition(Scope *S, Decl *TagDecl);
 2633   SkippedDefinitionContext ActOnTagStartSkippedDefinition(Scope *S, Decl *TD);
 2640   void ActOnStartCXXMemberDeclarations(Scope *S, Decl *TagDecl,
 2647   void ActOnTagFinishDefinition(Scope *S, Decl *TagDecl,
 2663   void ActOnTagDefinitionError(Scope *S, Decl *TagDecl);
 2677   SkipBodyInfo shouldSkipAnonEnumBody(Scope *S, IdentifierInfo *II,
 2680   Decl *ActOnEnumConstant(Scope *S, Decl *EnumDecl, Decl *LastEnumConstant,
 2685                      Decl *EnumDecl, ArrayRef<Decl *> Elements, Scope *S,
 2691   void PushDeclContext(Scope *S, DeclContext *DC);
 2696   void EnterDeclaratorContext(Scope *S, DeclContext *DC);
 2697   void ExitDeclaratorContext(Scope *S);
 2700   void ActOnReenterFunctionContext(Scope* S, Decl* D);
 2721   void PushOnScopeChains(NamedDecl *D, Scope *S, bool AddToContext = true);
 2730   bool isDeclInScope(NamedDecl *D, DeclContext *Ctx, Scope *S = nullptr,
 2735   static Scope *getScopeForDeclContext(Scope *S, DeclContext *DC);
 2735   static Scope *getScopeForDeclContext(Scope *S, DeclContext *DC);
 2738   TypedefDecl *ParseTypedefDecl(Scope *S, Declarator &D, QualType T,
 2830   void MergeTypedefNameDecl(Scope *S, TypedefNameDecl *New,
 2832   bool MergeFunctionDecl(FunctionDecl *New, NamedDecl *&Old, Scope *S,
 2835                                     Scope *S, bool MergeTypeWithOld);
 2842   bool MergeCXXFunctionDecl(FunctionDecl *New, FunctionDecl *Old, Scope *S);
 2871   OverloadKind CheckOverload(Scope *S,
 3289   ExprResult BuildOverloadedCallExpr(Scope *S, Expr *Fn,
 3298   bool buildOverloadedCallSet(Scope *S, Expr *Fn, UnresolvedLookupExpr *ULE,
 3320   BuildCallToMemberFunction(Scope *S, Expr *MemExpr,
 3325   BuildCallToObjectOfClassType(Scope *S, Expr *Object, SourceLocation LParenLoc,
 3329   ExprResult BuildOverloadedArrowExpr(Scope *S, Expr *Base,
 3344   Scope *getNonFieldDeclScope(Scope *S);
 3344   Scope *getNonFieldDeclScope(Scope *S);
 3484   bool CppLookupName(LookupResult &R, Scope *S);
 3518                              Sema::LookupNameKind LookupKind, Scope *S,
 3536   NamedDecl *LookupSingleName(Scope *S, DeclarationName Name,
 3542   bool LookupName(LookupResult &R, Scope *S,
 3548   bool LookupParsedName(LookupResult &R, Scope *S, CXXScopeSpec *SS,
 3556   void LookupOverloadedOperatorName(OverloadedOperatorKind Op, Scope *S,
 3576   LiteralOperatorLookupResult LookupLiteralOperator(Scope *S, LookupResult &R,
 3600   void LookupVisibleDecls(Scope *S, LookupNameKind Kind,
 3617                              Scope *S, CXXScopeSpec *SS,
 3626                                Sema::LookupNameKind LookupKind, Scope *S,
 3689   void FilterLookupForScope(LookupResult &R, DeclContext *Ctx, Scope *S,
 3701                                  Scope *S, bool ForRedeclaration,
 3704                                       Scope *S);
 3709   void ProcessPragmaWeak(Scope *S, Decl *D);
 3711   void ProcessDeclAttributes(Scope *S, Decl *D, const Declarator &PD);
 3715   void ProcessDeclAttributeList(Scope *S, Decl *D, const ParsedAttributesView &AL,
 3788   void ImplMethodsVsClassMethods(Scope *S, ObjCImplDecl* IMPDecl,
 3794   void DiagnoseUnimplementedProperties(Scope *S, ObjCImplDecl* IMPDecl,
 3803   void DefaultSynthesizeProperties(Scope *S, ObjCImplDecl *IMPDecl,
 3806   void DefaultSynthesizeProperties(Scope *S, Decl *D, SourceLocation AtEnd);
 3816   void DiagnoseUnusedBackingIvarInAccessor(Scope *S,
 3827   ObjCPropertyDecl *HandlePropertyInClassExtension(Scope *S,
 3844   ObjCPropertyDecl *CreatePropertyDecl(Scope *S,
 4093                                       Stmt *SubStmt, Scope *CurScope);
 4146   StmtResult ActOnCXXForRangeStmt(Scope *S, SourceLocation ForLoc,
 4170   StmtResult ActOnContinueStmt(SourceLocation ContinueLoc, Scope *CurScope);
 4171   StmtResult ActOnBreakStmt(SourceLocation BreakLoc, Scope *CurScope);
 4173   void ActOnCapturedRegionStart(SourceLocation Loc, Scope *CurScope,
 4176   void ActOnCapturedRegionStart(SourceLocation Loc, Scope *CurScope,
 4203                              Scope *CurScope);
 4242   Decl *ActOnObjCExceptionDecl(Scope *S, Declarator &D);
 4254                                   Scope *CurScope);
 4263   VarDecl *BuildExceptionDeclaration(Scope *S, TypeSourceInfo *TInfo,
 4268   Decl *ActOnExceptionDeclarator(Scope *S, Declarator &D);
 4284   StmtResult ActOnSEHLeaveStmt(SourceLocation Loc, Scope *CurScope);
 4508       Scope *S, CXXScopeSpec &SS, SourceLocation TemplateKWLoc,
 4519   DiagnoseEmptyLookup(Scope *S, CXXScopeSpec &SS, LookupResult &R,
 4524   DeclResult LookupIvarInObjCMethod(LookupResult &Lookup, Scope *S,
 4526   ExprResult BuildIvarRefExpr(Scope *S, SourceLocation Loc, ObjCIvarDecl *IV);
 4528   ExprResult LookupInObjCMethod(LookupResult &LookUp, Scope *S,
 4573                                              const Scope *S);
 4579                                      const Scope *S);
 4587                                     bool IsAddressOfOperand, const Scope *S,
 4618   ExprResult ActOnNumericConstant(const Token &Tok, Scope *UDLScope = nullptr);
 4620                                     Scope *UDLScope = nullptr);
 4629                                 Scope *UDLScope = nullptr);
 4647   ExprResult BuildUnaryOp(Scope *S, SourceLocation OpLoc,
 4649   ExprResult ActOnUnaryOp(Scope *S, SourceLocation OpLoc,
 4674   ExprResult ActOnSizeofParameterPackExpr(Scope *S,
 4679   ExprResult ActOnPostfixUnaryOp(Scope *S, SourceLocation OpLoc,
 4682   ExprResult ActOnArraySubscriptExpr(Scope *S, Expr *Base, SourceLocation LLoc,
 4696     Scope *S;
 4706       const Scope *S,
 4715                            const Scope *S,
 4739   ExprResult ActOnMemberAccessExpr(Scope *S, Expr *Base,
 4778   ExprResult ActOnCallExpr(Scope *S, Expr *Fn, SourceLocation LParenLoc,
 4781   ExprResult BuildCallExpr(Scope *S, Expr *Fn, SourceLocation LParenLoc,
 4797   ExprResult ActOnCUDAExecConfigExpr(Scope *S, SourceLocation LLLLoc,
 4801   ExprResult ActOnCastExpr(Scope *S, SourceLocation LParenLoc,
 4815   ExprResult MaybeConvertParenListExprToParenExpr(Scope *S, Expr *ME);
 4844   ExprResult ActOnBinOp(Scope *S, SourceLocation TokLoc,
 4846   ExprResult BuildBinOp(Scope *S, SourceLocation OpLoc,
 4885   ExprResult ActOnBuiltinOffsetOf(Scope *S,
 4936   CheckMicrosoftIfExistsSymbol(Scope *S, CXXScopeSpec &SS,
 4940   CheckMicrosoftIfExistsSymbol(Scope *S, SourceLocation KeywordLoc,
 4958   void ActOnBlockStart(SourceLocation CaretLoc, Scope *CurScope);
 4963                            Scope *CurScope);
 4967   void ActOnBlockError(SourceLocation CaretLoc, Scope *CurScope);
 4972                                 Scope *CurScope);
 4991   Decl *ActOnStartNamespaceDef(Scope *S, SourceLocation InlineLoc,
 5042   Decl *ActOnUsingDirective(Scope *CurScope, SourceLocation UsingLoc,
 5048   void PushUsingDirective(Scope *S, UsingDirectiveDecl *UDir);
 5050   Decl *ActOnNamespaceAliasDef(Scope *CurScope,
 5058   void HideUsingShadowDecl(Scope *S, UsingShadowDecl *Shadow);
 5062   UsingShadowDecl *BuildUsingShadowDecl(Scope *S, UsingDecl *UD,
 5078       Scope *S, AccessSpecifier AS, SourceLocation UsingLoc,
 5094   Decl *ActOnUsingDeclaration(Scope *CurScope, AccessSpecifier AS,
 5099   Decl *ActOnAliasDeclaration(Scope *CurScope, AccessSpecifier AS,
 5397   void CheckImplicitSpecialMemberDeclaration(Scope *S, FunctionDecl *FD);
 5436                                 Scope *S, CXXScopeSpec &SS,
 5440                                Scope *S, CXXScopeSpec &SS,
 5593   ExprResult ActOnCXXThrow(Scope *S, SourceLocation OpLoc, Expr *expr);
 5728   ExprResult ActOnStartCXXMemberReference(Scope *S,
 5744   ExprResult ActOnPseudoDestructorExpr(Scope *S, Expr *Base,
 5753   ExprResult ActOnPseudoDestructorExpr(Scope *S, Expr *Base,
 5812   NamedDecl *FindFirstQualifierInScope(Scope *S, NestedNameSpecifier *NNS);
 5844   bool isNonTypeNestedNameSpecifier(Scope *S, CXXScopeSpec &SS,
 5847   bool BuildCXXNestedNameSpecifier(Scope *S,
 5881   bool ActOnCXXNestedNameSpecifier(Scope *S,
 5895   bool IsInvalidUnlessNestedName(Scope *S, CXXScopeSpec &SS,
 5922   bool ActOnCXXNestedNameSpecifier(Scope *S,
 5957   bool ShouldEnterDeclaratorScope(Scope *S, const CXXScopeSpec &SS);
 5965   bool ActOnCXXEnterDeclaratorScope(Scope *S, CXXScopeSpec &SS);
 5972   void ActOnCXXExitDeclaratorScope(Scope *S, const CXXScopeSpec &SS);
 5979   void ActOnCXXEnterDeclInitializer(Scope *S, Decl *Dcl);
 5983   void ActOnCXXExitDeclInitializer(Scope *S, Decl *Dcl);
 6056       CXXMethodDecl *CallOperator, Scope *CurScope);
 6067                                     Declarator &ParamInfo, Scope *CurScope);
 6071   void ActOnLambdaError(SourceLocation StartLoc, Scope *CurScope,
 6077                              Scope *CurScope);
 6206   Decl *ActOnStartLinkageSpecification(Scope *S,
 6210   Decl *ActOnFinishLinkageSpecification(Scope *S,
 6218   CXXRecordDecl *getCurrentClass(Scope *S, const CXXScopeSpec *SS);
 6219   bool isCurrentClassName(const IdentifierInfo &II, Scope *S,
 6227   NamedDecl *ActOnCXXMemberDeclarator(Scope *S, AccessSpecifier AS,
 6239                                     Scope *S,
 6251                                     Scope *S,
 6261                                     Scope *S,
 6376   void ActOnFinishCXXMemberSpecification(Scope *S, SourceLocation RLoc,
 6383   void ActOnReenterCXXMethodParameter(Scope *S, ParmVarDecl *Param);
 6384   unsigned ActOnReenterTemplateScope(Scope *S, Decl *Template);
 6385   void ActOnStartDelayedMemberDeclarations(Scope *S, Decl *Record);
 6386   void ActOnStartDelayedCXXMethodDeclaration(Scope *S, Decl *Method);
 6387   void ActOnDelayedCXXMethodParameter(Scope *S, Decl *Param);
 6388   void ActOnFinishDelayedMemberDeclarations(Scope *S, Decl *Record);
 6389   void ActOnFinishDelayedCXXMethodDeclaration(Scope *S, Decl *Method);
 6409   Decl *ActOnFriendTypeDecl(Scope *S, const DeclSpec &DS,
 6411   NamedDecl *ActOnFriendFunctionDecl(Scope *S, Declarator &D,
 6647   bool LookupTemplateName(LookupResult &R, Scope *S, CXXScopeSpec &SS,
 6653   TemplateNameKind isTemplateName(Scope *S,
 6667   void ActOnUndeclaredTypeTemplateName(Scope *S, TemplateTy &Name,
 6672   bool resolveAssumedTemplateNameAsType(Scope *S, TemplateName &Name,
 6678   bool isDeductionGuideName(Scope *S, const IdentifierInfo &Name,
 6684                                    Scope *S,
 6700   NamedDecl *ActOnTypeParameter(Scope *S, bool Typename,
 6713   NamedDecl *ActOnNonTypeTemplateParameter(Scope *S, Declarator &D,
 6718   NamedDecl *ActOnTemplateTemplateParameter(Scope *S,
 6761       Scope *S, unsigned TagSpec, TagUseKind TUK, SourceLocation KWLoc,
 6785   ActOnTemplateIdType(Scope *S, CXXScopeSpec &SS, SourceLocation TemplateKWLoc,
 6805       Scope *S, Declarator &D, TypeSourceInfo *DI,
 6841       Scope *S, CXXScopeSpec &SS, SourceLocation TemplateKWLoc,
 6846       Scope *S, unsigned TagSpec, TagUseKind TUK, SourceLocation KWLoc,
 6861   Decl *ActOnTemplateDeclarator(Scope *S,
 6884       Scope *S, SourceLocation ExternLoc, SourceLocation TemplateLoc,
 6890   DeclResult ActOnExplicitInstantiation(Scope *S, SourceLocation ExternLoc,
 6897   DeclResult ActOnExplicitInstantiation(Scope *S,
 7030   bool CheckTemplateDeclScope(Scope *S, TemplateParameterList *TemplateParams);
 7041   ActOnTypenameType(Scope *S, SourceLocation TypenameLoc,
 7060   ActOnTypenameType(Scope *S, SourceLocation TypenameLoc,
 7096       Scope *S, MultiTemplateParamsArg TemplateParameterLists,
 8515   DeclResult actOnObjCTypeParam(Scope *S,
 8524   ObjCTypeParamList *actOnObjCTypeParamList(Scope *S, SourceLocation lAngleLoc,
 8527   void popObjCTypeParamList(Scope *S, ObjCTypeParamList *typeParamList);
 8530       Scope *S, SourceLocation AtInterfaceLoc, IdentifierInfo *ClassName,
 8538   void ActOnSuperClassOfClassInterface(Scope *S,
 8619          Scope *S,
 8643                Scope *S,
 8696   Decl *ActOnAtEnd(Scope *S, SourceRange AtEnd,
 8700   Decl *ActOnProperty(Scope *S, SourceLocation AtLoc,
 8707   Decl *ActOnPropertyImplDecl(Scope *S,
 8738       Scope *S,
 8788   ObjCMessageKind getObjCMessageKind(Scope *S,
 8795   ExprResult ActOnSuperMessage(Scope *S, SourceLocation SuperLoc,
 8820   ExprResult ActOnClassMessage(Scope *S,
 8846   ExprResult ActOnInstanceMessage(Scope *S,
 8860   ExprResult ActOnObjCBridgedCast(Scope *S,
 8989   void ActOnPragmaDump(Scope *S, SourceLocation Loc, IdentifierInfo *II);
 8997                          Scope *curScope,
 9006   void DeclApplyPragmaWeak(Scope *S, NamedDecl *ND, WeakInfo &W);
 9080   void AddPragmaAttributes(Scope *S, Decl *D);
 9154   bool ActOnCoroutineBodyStart(Scope *S, SourceLocation KwLoc,
 9156   ExprResult ActOnCoawaitExpr(Scope *S, SourceLocation KwLoc, Expr *E);
 9157   ExprResult ActOnCoyieldExpr(Scope *S, SourceLocation KwLoc, Expr *E);
 9158   StmtResult ActOnCoreturnStmt(Scope *S, SourceLocation KwLoc, Expr *E);
 9382                            const DeclarationNameInfo &DirName, Scope *CurScope,
 9400   ExprResult ActOnOpenMPIdExpression(Scope *CurScope, CXXScopeSpec &ScopeSpec,
 9427       Scope *S, DeclContext *DC, DeclarationName Name,
 9431   void ActOnOpenMPDeclareReductionCombinerStart(Scope *S, Decl *D);
 9436   VarDecl *ActOnOpenMPDeclareReductionInitializerStart(Scope *S, Decl *D);
 9442       Scope *S, DeclGroupPtrTy DeclReductions, bool IsValid);
 9445   TypeResult ActOnOpenMPDeclareMapperVarDecl(Scope *S, Declarator &D);
 9452       Scope *S, DeclContext *DC, DeclarationName Name, QualType MapperType,
 9457                                                 Scope *S, QualType MapperType,
 9462   ActOnOpenMPDeclareMapperDirectiveEnd(OMPDeclareMapperDecl *D, Scope *S,
 9472   lookupOpenMPDeclareTargetName(Scope *CurScope, CXXScopeSpec &ScopeSpec,
 9494   void ActOnOpenMPRegionStart(OpenMPDirectiveKind DKind, Scope *CurScope);
10420   ExprResult checkPseudoObjectIncDec(Scope *S, SourceLocation OpLoc,
10422   ExprResult checkPseudoObjectAssignment(Scope *S, SourceLocation OpLoc,
10634   ConditionResult ActOnCondition(Scope *S, SourceLocation Loc,
10641   DeclResult ActOnCXXConditionDeclaration(Scope *S, Declarator &D);
11102   void CodeCompleteOrdinaryName(Scope *S,
11104   void CodeCompleteDeclSpec(Scope *S, DeclSpec &DS,
11109   void CodeCompleteExpression(Scope *S,
11111   void CodeCompleteExpression(Scope *S, QualType PreferredType,
11113   void CodeCompleteMemberReferenceExpr(Scope *S, Expr *Base, Expr *OtherOpBase,
11117   void CodeCompletePostfixExpression(Scope *S, ExprResult LHS,
11119   void CodeCompleteTag(Scope *S, unsigned TagSpec);
11123   void CodeCompleteBracketDeclarator(Scope *S);
11124   void CodeCompleteCase(Scope *S);
11127   QualType ProduceCallSignatureHelp(Scope *S, Expr *Fn, ArrayRef<Expr *> Args,
11129   QualType ProduceConstructorSignatureHelp(Scope *S, QualType Type,
11133   QualType ProduceCtorInitMemberSignatureHelp(Scope *S, Decl *ConstructorDecl,
11139   void CodeCompleteInitializer(Scope *S, Decl *D);
11140   void CodeCompleteAfterIf(Scope *S);
11142   void CodeCompleteQualifiedId(Scope *S, CXXScopeSpec &SS, bool EnteringContext,
11145   void CodeCompleteUsing(Scope *S);
11146   void CodeCompleteUsingDirective(Scope *S);
11147   void CodeCompleteNamespaceDecl(Scope *S);
11148   void CodeCompleteNamespaceAliasDecl(Scope *S);
11149   void CodeCompleteOperatorName(Scope *S);
11154   void CodeCompleteLambdaIntroducer(Scope *S, LambdaIntroducer &Intro,
11157   void CodeCompleteObjCAtDirective(Scope *S);
11158   void CodeCompleteObjCAtVisibility(Scope *S);
11159   void CodeCompleteObjCAtStatement(Scope *S);
11160   void CodeCompleteObjCAtExpression(Scope *S);
11161   void CodeCompleteObjCPropertyFlags(Scope *S, ObjCDeclSpec &ODS);
11162   void CodeCompleteObjCPropertyGetter(Scope *S);
11163   void CodeCompleteObjCPropertySetter(Scope *S);
11164   void CodeCompleteObjCPassingType(Scope *S, ObjCDeclSpec &DS,
11166   void CodeCompleteObjCMessageReceiver(Scope *S);
11167   void CodeCompleteObjCSuperMessage(Scope *S, SourceLocation SuperLoc,
11170   void CodeCompleteObjCClassMessage(Scope *S, ParsedType Receiver,
11174   void CodeCompleteObjCInstanceMessage(Scope *S, Expr *Receiver,
11178   void CodeCompleteObjCForCollection(Scope *S,
11180   void CodeCompleteObjCSelector(Scope *S,
11184   void CodeCompleteObjCProtocolDecl(Scope *S);
11185   void CodeCompleteObjCInterfaceDecl(Scope *S);
11186   void CodeCompleteObjCSuperclass(Scope *S,
11189   void CodeCompleteObjCImplementationDecl(Scope *S);
11190   void CodeCompleteObjCInterfaceCategory(Scope *S,
11193   void CodeCompleteObjCImplementationCategory(Scope *S,
11196   void CodeCompleteObjCPropertyDefinition(Scope *S);
11197   void CodeCompleteObjCPropertySynthesizeIvar(Scope *S,
11199   void CodeCompleteObjCMethodDecl(Scope *S, Optional<bool> IsInstanceMethod,
11201   void CodeCompleteObjCMethodDeclSelector(Scope *S,
11206   void CodeCompleteObjCClassPropertyRefExpr(Scope *S, IdentifierInfo &ClassName,
11210   void CodeCompleteInPreprocessorConditionalExclusion(Scope *S);
11213   void CodeCompletePreprocessorMacroArgument(Scope *S,
11461   Scope *CurScope;
11504   Scope *getCurScope() const { return CurScope; }
tools/clang/include/clang/Sema/SemaInternal.h
   94                          Scope *S, CXXScopeSpec *SS,
  201   Scope *getScope() const { return S; }
  305   Scope *S;
tools/clang/lib/Parse/ParseCXXInlineMethods.cpp
  264   ParseScope ClassTemplateScope(this, Scope::TemplateParamScope,
  275   ParseScope ClassScope(this, Scope::ClassScope|Scope::DeclScope,
  275   ParseScope ClassScope(this, Scope::ClassScope|Scope::DeclScope,
  292   ParseScope TemplateScope(this, Scope::TemplateParamScope, LM.TemplateScope);
  303   ParseScope PrototypeScope(this, Scope::FunctionPrototypeScope |
  304                             Scope::FunctionDeclarationScope | Scope::DeclScope);
  304                             Scope::FunctionDeclarationScope | Scope::DeclScope);
  469   ParseScope ClassTemplateScope(this, Scope::TemplateParamScope, HasTemplateScope);
  476   ParseScope ClassScope(this, Scope::ClassScope|Scope::DeclScope,
  476   ParseScope ClassScope(this, Scope::ClassScope|Scope::DeclScope,
  486   ParseScope TemplateScope(this, Scope::TemplateParamScope, LM.TemplateScope);
  515   ParseScope FnScope(this, Scope::FnScope | Scope::DeclScope |
  515   ParseScope FnScope(this, Scope::FnScope | Scope::DeclScope |
  516                                Scope::CompoundStmtScope);
  573   ParseScope ClassTemplateScope(this, Scope::TemplateParamScope,
  582   unsigned ScopeFlags = Scope::ClassScope|Scope::DeclScope;
  582   unsigned ScopeFlags = Scope::ClassScope|Scope::DeclScope;
tools/clang/lib/Parse/ParseDecl.cpp
  471     PrototypeScope.emplace(this, Scope::FunctionPrototypeScope |
  472                                      Scope::FunctionDeclarationScope |
  473                                      Scope::DeclScope);
 1431   ParseScope ClassTemplateScope(this, Scope::TemplateParamScope,
 1438   unsigned ScopeFlags = Scope::ClassScope|Scope::DeclScope;
 1438   unsigned ScopeFlags = Scope::ClassScope|Scope::DeclScope;
 1509       ParseScope TempScope(this, Scope::TemplateParamScope, HasTemplateScope);
 1516           this, Scope::FnScope | Scope::DeclScope | Scope::CompoundStmtScope,
 1516           this, Scope::FnScope | Scope::DeclScope | Scope::CompoundStmtScope,
 1516           this, Scope::FnScope | Scope::DeclScope | Scope::CompoundStmtScope,
 2255         Scope *S = nullptr;
 2266         Scope *S = nullptr;
 3103           = (getCurScope()->getFlags() & (Scope::ControlScope |
 3104                                           Scope::BlockScope |
 3105                                           Scope::TemplateParamScope |
 3106                                           Scope::FunctionPrototypeScope |
 3107                                           Scope::AtCatchScope)) == 0;
 4135   ParseScope StructScope(this, Scope::ClassScope|Scope::DeclScope);
 4135   ParseScope StructScope(this, Scope::ClassScope|Scope::DeclScope);
 4385   bool CanBeBitfield = getCurScope()->getFlags() & Scope::ClassScope;
 4639   ParseScope EnumScope(this, Scope::DeclScope | Scope::EnumScope);
 4639   ParseScope EnumScope(this, Scope::DeclScope | Scope::EnumScope);
 4764   bool CanBeBitfield = getCurScope()->getFlags() & Scope::ClassScope;
 6006                                 Scope::FunctionPrototypeScope|Scope::DeclScope|
 6006                                 Scope::FunctionPrototypeScope|Scope::DeclScope|
 6008                                    ? Scope::FunctionDeclarationScope : 0));
 6203                             Scope::FunctionPrototypeScope | Scope::DeclScope |
 6203                             Scope::FunctionPrototypeScope | Scope::DeclScope |
 6205                                ? Scope::FunctionDeclarationScope : 0));
 6411   if (getCurScope()->getFlags() & Scope::FunctionDeclarationScope &&
tools/clang/lib/Parse/ParseDeclCXX.cpp
  212   ParseScope NamespaceScope(this, Scope::DeclScope);
  259   ParseScope NamespaceScope(this, Scope::DeclScope);
  337   ParseScope LinkageScope(this, Scope::DeclScope);
  420   ParseScope ExportScope(this, Scope::DeclScope);
 3021     ParseScope ClassScope(this, Scope::ClassScope|Scope::DeclScope);
 3021     ParseScope ClassScope(this, Scope::ClassScope|Scope::DeclScope);
 3182     for (const Scope *S = getCurScope(); S; S = S->getParent()) {
 3198       if ((S->getFlags() & Scope::FnScope))
 3206   ParseScope ClassScope(this, Scope::ClassScope|Scope::DeclScope);
 3206   ParseScope ClassScope(this, Scope::ClassScope|Scope::DeclScope);
 3263                                           Scope::ClassInheritanceScope);
tools/clang/lib/Parse/ParseExpr.cpp
 3019   ParseScope BlockScope(this, Scope::BlockScope | Scope::FnScope |
 3019   ParseScope BlockScope(this, Scope::BlockScope | Scope::FnScope |
 3020                                   Scope::CompoundStmtScope | Scope::DeclScope);
 3020                                   Scope::CompoundStmtScope | Scope::DeclScope);
tools/clang/lib/Parse/ParseExprCXX.cpp
 1258   ParseScope TemplateParamScope(this, Scope::TemplateParamScope,
 1286                               Scope::FunctionPrototypeScope |
 1287                               Scope::FunctionDeclarationScope |
 1288                               Scope::DeclScope);
 1455   unsigned ScopeFlags = Scope::BlockScope | Scope::FnScope | Scope::DeclScope |
 1455   unsigned ScopeFlags = Scope::BlockScope | Scope::FnScope | Scope::DeclScope |
 1455   unsigned ScopeFlags = Scope::BlockScope | Scope::FnScope | Scope::DeclScope |
 1456                         Scope::CompoundStmtScope;
tools/clang/lib/Parse/ParseObjc.cpp
   99   Scope *S;
  103   ObjCTypeParamListScope(Sema &Actions, Scope *S)
 1392   ParseScope PrototypeScope(this, Scope::FunctionPrototypeScope |
 1393                             Scope::FunctionDeclarationScope | Scope::DeclScope);
 1393                             Scope::FunctionDeclarationScope | Scope::DeclScope);
 1906   ParseScope ClassScope(this, Scope::DeclScope|Scope::ClassScope);
 1906   ParseScope ClassScope(this, Scope::DeclScope|Scope::ClassScope);
 2472   ParseScope bodyScope(this, Scope::DeclScope | Scope::CompoundStmtScope);
 2472   ParseScope bodyScope(this, Scope::DeclScope | Scope::CompoundStmtScope);
 2508   ParseScope TryScope(this, Scope::DeclScope | Scope::CompoundStmtScope);
 2508   ParseScope TryScope(this, Scope::DeclScope | Scope::CompoundStmtScope);
 2529         ParseScope CatchScope(this, Scope::DeclScope |
 2530                                         Scope::CompoundStmtScope |
 2531                                         Scope::AtCatchScope);
 2576                               Scope::DeclScope | Scope::CompoundStmtScope);
 2576                               Scope::DeclScope | Scope::CompoundStmtScope);
 2626   ParseScope BodyScope(this, Scope::DeclScope | Scope::CompoundStmtScope);
 2626   ParseScope BodyScope(this, Scope::DeclScope | Scope::CompoundStmtScope);
 3661   ParseScope BodyScope(this, (parseMethod ? Scope::ObjCMethodScope : 0) |
 3662                                  Scope::FnScope | Scope::DeclScope |
 3662                                  Scope::FnScope | Scope::DeclScope |
 3663                                  Scope::CompoundStmtScope);
tools/clang/lib/Parse/ParseOpenMP.cpp
  323     ParseScope OMPDRScope(this, Scope::FnScope | Scope::DeclScope |
  323     ParseScope OMPDRScope(this, Scope::FnScope | Scope::DeclScope |
  324                                     Scope::CompoundStmtScope |
  325                                     Scope::OpenMPDirectiveScope);
  359         ParseScope OMPDRScope(this, Scope::FnScope | Scope::DeclScope |
  359         ParseScope OMPDRScope(this, Scope::FnScope | Scope::DeclScope |
  360                                         Scope::CompoundStmtScope |
  361                                         Scope::OpenMPDirectiveScope);
  553   unsigned ScopeFlags = Scope::FnScope | Scope::DeclScope |
  553   unsigned ScopeFlags = Scope::FnScope | Scope::DeclScope |
  554                         Scope::CompoundStmtScope | Scope::OpenMPDirectiveScope;
  554                         Scope::CompoundStmtScope | Scope::OpenMPDirectiveScope;
  650         new Parser::ParseScope(&P, Scope::TemplateParamScope, HasTemplateScope);
  657         &P, Scope::FnScope | Scope::DeclScope | Scope::CompoundStmtScope,
  657         &P, Scope::FnScope | Scope::DeclScope | Scope::CompoundStmtScope,
  657         &P, Scope::FnScope | Scope::DeclScope | Scope::CompoundStmtScope,
 1587   unsigned ScopeFlags = Scope::FnScope | Scope::DeclScope |
 1587   unsigned ScopeFlags = Scope::FnScope | Scope::DeclScope |
 1588                         Scope::CompoundStmtScope | Scope::OpenMPDirectiveScope;
 1588                         Scope::CompoundStmtScope | Scope::OpenMPDirectiveScope;
 1793       ScopeFlags |= Scope::OpenMPLoopDirectiveScope;
 1795       ScopeFlags |= Scope::OpenMPSimdDirectiveScope;
tools/clang/lib/Parse/ParsePragma.cpp
  661   ParseScope CapturedRegionScope(this, Scope::FnScope | Scope::DeclScope |
  661   ParseScope CapturedRegionScope(this, Scope::FnScope | Scope::DeclScope |
  662                                            Scope::CompoundStmtScope);
tools/clang/lib/Parse/ParseStmt.cpp
  478       Scope::DeclScope | Scope::CompoundStmtScope | Scope::SEHTryScope));
  478       Scope::DeclScope | Scope::CompoundStmtScope | Scope::SEHTryScope));
  478       Scope::DeclScope | Scope::CompoundStmtScope | Scope::SEHTryScope));
  516   ParseScope ExpectScope(this, Scope::DeclScope | Scope::ControlScope |
  516   ParseScope ExpectScope(this, Scope::DeclScope | Scope::ControlScope |
  517                                    Scope::SEHExceptScope);
  528                                           Scope::SEHFilterScope);
  862                                 Scope::DeclScope | Scope::CompoundStmtScope);
  862                                 Scope::DeclScope | Scope::CompoundStmtScope);
 1234   ParseScope IfScope(this, Scope::DeclScope | Scope::ControlScope, C99orCXX);
 1234   ParseScope IfScope(this, Scope::DeclScope | Scope::ControlScope, C99orCXX);
 1266   ParseScope InnerScope(this, Scope::DeclScope, C99orCXX, Tok.is(tok::l_brace));
 1305     ParseScope InnerScope(this, Scope::DeclScope, C99orCXX,
 1374   unsigned ScopeFlags = Scope::SwitchScope;
 1376     ScopeFlags |= Scope::DeclScope | Scope::ControlScope;
 1376     ScopeFlags |= Scope::DeclScope | Scope::ControlScope;
 1413   getCurScope()->AddFlags(Scope::BreakScope);
 1414   ParseScope InnerScope(this, Scope::DeclScope, C99orCXX, Tok.is(tok::l_brace));
 1462     ScopeFlags = Scope::BreakScope | Scope::ContinueScope |
 1462     ScopeFlags = Scope::BreakScope | Scope::ContinueScope |
 1463                  Scope::DeclScope  | Scope::ControlScope;
 1463                  Scope::DeclScope  | Scope::ControlScope;
 1465     ScopeFlags = Scope::BreakScope | Scope::ContinueScope;
 1465     ScopeFlags = Scope::BreakScope | Scope::ContinueScope;
 1485   ParseScope InnerScope(this, Scope::DeclScope, C99orCXX, Tok.is(tok::l_brace));
 1512     ScopeFlags = Scope::BreakScope | Scope::ContinueScope | Scope::DeclScope;
 1512     ScopeFlags = Scope::BreakScope | Scope::ContinueScope | Scope::DeclScope;
 1512     ScopeFlags = Scope::BreakScope | Scope::ContinueScope | Scope::DeclScope;
 1514     ScopeFlags = Scope::BreakScope | Scope::ContinueScope;
 1514     ScopeFlags = Scope::BreakScope | Scope::ContinueScope;
 1527   ParseScope InnerScope(this, Scope::DeclScope, C99orCXX, Tok.is(tok::l_brace));
 1647     ScopeFlags = Scope::DeclScope | Scope::ControlScope;
 1647     ScopeFlags = Scope::DeclScope | Scope::ControlScope;
 1796   getCurScope()->AddFlags(Scope::BreakScope | Scope::ContinueScope);
 1796   getCurScope()->AddFlags(Scope::BreakScope | Scope::ContinueScope);
 1911   ParseScope InnerScope(this, Scope::DeclScope, C99orCXXorObjC,
 2214       /*isStmtExpr=*/false, Scope::DeclScope | Scope::TryScope |
 2214       /*isStmtExpr=*/false, Scope::DeclScope | Scope::TryScope |
 2215                                 Scope::CompoundStmtScope |
 2216                                 (FnTry ? Scope::FnTryCatchScope : 0)));
 2288   ParseScope CatchScope(this, Scope::DeclScope | Scope::ControlScope |
 2288   ParseScope CatchScope(this, Scope::DeclScope | Scope::ControlScope |
 2289                                   Scope::CatchScope |
 2290                                   (FnCatch ? Scope::FnTryCatchScope : 0));
tools/clang/lib/Parse/ParseTemplate.cpp
   70   ParseScope TemplateParmScope(this, Scope::TemplateParamScope);
  150   unsigned NewFlags = getCurScope()->getFlags() & ~Scope::TemplateParamScope;
  686     ParseScope TemplateParmScope(this, Scope::TemplateParamScope);
 1484         new ParseScope(this, Scope::TemplateParamScope));
 1489       TemplateParamScopeStack.push_back(new ParseScope(this, Scope::DeclScope));
 1508   ParseScope FnScope(this, Scope::FnScope | Scope::DeclScope |
 1508   ParseScope FnScope(this, Scope::FnScope | Scope::DeclScope |
 1509                                Scope::CompoundStmtScope);
tools/clang/lib/Parse/Parser.cpp
  368     Scope *N = ScopeCache[--NumCachedScopes];
  372     Actions.CurScope = new Scope(getCurScope(), ScopeFlags, Diags);
  384   Scope *OldScope = getCurScope();
  448   EnterScope(Scope::DeclScope);
 1187     ParseScope BodyScope(this, Scope::FnScope | Scope::DeclScope |
 1187     ParseScope BodyScope(this, Scope::FnScope | Scope::DeclScope |
 1188                                    Scope::CompoundStmtScope);
 1189     Scope *ParentScope = getCurScope()->getParent();
 1218     ParseScope BodyScope(this, Scope::FnScope | Scope::DeclScope |
 1218     ParseScope BodyScope(this, Scope::FnScope | Scope::DeclScope |
 1219                                    Scope::CompoundStmtScope);
 1220     Scope *ParentScope = getCurScope()->getParent();
 1237   ParseScope BodyScope(this, Scope::FnScope | Scope::DeclScope |
 1237   ParseScope BodyScope(this, Scope::FnScope | Scope::DeclScope |
 1238                                  Scope::CompoundStmtScope);
 1358   ParseScope PrototypeScope(this, Scope::FunctionPrototypeScope |
 1359                             Scope::FunctionDeclarationScope | Scope::DeclScope);
 1359                             Scope::FunctionDeclarationScope | Scope::DeclScope);
 2043   for (Scope *S = getCurScope(); S; S = S->getParent()) {
 2044     if (S->getFlags() & Scope::FnScope) {
 2051     if (S->getFlags() & Scope::ClassScope) {
tools/clang/lib/Sema/IdentifierResolver.cpp
   99 bool IdentifierResolver::isDeclInScope(Decl *D, DeclContext *Ctx, Scope *S,
  124       if (S->getParent()->getFlags() & Scope::ControlScope) {
  129       if (S->getFlags() & Scope::FnTryCatchScope)
tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp
  245 bool MultiplexExternalSemaSource::LookupUnqualified(LookupResult &R, Scope *S){
  316                                      int LookupKind, Scope *S, CXXScopeSpec *SS,
tools/clang/lib/Sema/Scope.cpp
   20 void Scope::setFlags(Scope *parent, unsigned flags) {
   87 void Scope::Init(Scope *parent, unsigned flags) {
   98   const Scope *S = this;
  187   if (const Scope *Parent = getParent())
tools/clang/lib/Sema/Sema.cpp
   72 void Sema::ActOnTranslationUnitScope(Scope *S) {
 1613 Scope *Sema::getScopeForContext(DeclContext *Ctx) {
 1619   for (Scope *S = getCurScope(); S; S = S->getParent()) {
 1622     if (S->getFlags() & (Scope::DeclScope | Scope::TemplateParamScope))
 1622     if (S->getFlags() & (Scope::DeclScope | Scope::TemplateParamScope))
 1644 void Sema::PushBlockScope(Scope *BlockScope, BlockDecl *Block) {
 2163 void Sema::PushCapturedRegionScope(Scope *S, CapturedDecl *CD, RecordDecl *RD,
tools/clang/lib/Sema/SemaAttr.cpp
  553 void Sema::ActOnPragmaUnused(const Token &IdTok, Scope *curScope,
  807 void Sema::AddPragmaAttributes(Scope *S, Decl *D) {
tools/clang/lib/Sema/SemaCUDA.cpp
   40 ExprResult Sema::ActOnCUDAExecConfigExpr(Scope *S, SourceLocation LLLLoc,
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
  282   for (Scope *S = getCurScope(); S; S = S->getParent()) {
  358 NamedDecl *Sema::FindFirstQualifierInScope(Scope *S, NestedNameSpecifier *NNS) {
  383 bool Sema::isNonTypeNestedNameSpecifier(Scope *S, CXXScopeSpec &SS,
  483 bool Sema::BuildCXXNestedNameSpecifier(Scope *S, NestedNameSpecInfo &IdInfo,
  833 bool Sema::ActOnCXXNestedNameSpecifier(Scope *S, NestedNameSpecInfo &IdInfo,
  878 bool Sema::IsInvalidUnlessNestedName(Scope *S, CXXScopeSpec &SS,
  888 bool Sema::ActOnCXXNestedNameSpecifier(Scope *S,
 1020 bool Sema::ShouldEnterDeclaratorScope(Scope *S, const CXXScopeSpec &SS) {
 1069 bool Sema::ActOnCXXEnterDeclaratorScope(Scope *S, CXXScopeSpec &SS) {
 1096 void Sema::ActOnCXXExitDeclaratorScope(Scope *S, const CXXScopeSpec &SS) {
tools/clang/lib/Sema/SemaChecking.cpp
  456                                      Scope::ScopeFlags NeededScopeFlags,
  464   Scope *S = SemaRef.getCurScope();
 1438     if (SemaBuiltinSEHScopeCheck(*this, TheCall, Scope::SEHExceptScope,
 1444     if (SemaBuiltinSEHScopeCheck(*this, TheCall, Scope::SEHFilterScope,
tools/clang/lib/Sema/SemaCodeComplete.cpp
 1991 static void AddOrdinaryNameResults(Sema::ParserCompletionContext CCC, Scope *S,
 2082             !(S->getFlags() & Scope::ClassInheritanceScope);
 4056 void Sema::CodeCompleteOrdinaryName(Scope *S,
 4143 static void AddClassMessageCompletions(Sema &SemaRef, Scope *S,
 4149 void Sema::CodeCompleteDeclSpec(Scope *S, DeclSpec &DS,
 4202       (S->getFlags() & Scope::DeclScope) != 0 &&
 4203       (S->getFlags() & (Scope::ClassScope | Scope::TemplateParamScope |
 4203       (S->getFlags() & (Scope::ClassScope | Scope::TemplateParamScope |
 4204                         Scope::FunctionPrototypeScope | Scope::AtCatchScope)) ==
 4204                         Scope::FunctionPrototypeScope | Scope::AtCatchScope)) ==
 4331 void Sema::CodeCompleteExpression(Scope *S,
 4402 void Sema::CodeCompleteExpression(Scope *S, QualType PreferredType,
 4408 void Sema::CodeCompletePostfixExpression(Scope *S, ExprResult E,
 4658     Sema &SemaRef, ResultBuilder &Results, Scope *S, QualType BaseType,
 4682         for (Scope *DepScope = S; DepScope; DepScope = DepScope->getParent())
 4695 void Sema::CodeCompleteMemberReferenceExpr(Scope *S, Expr *Base,
 4836 void Sema::CodeCompleteObjCClassPropertyRefExpr(Scope *S,
 4860 void Sema::CodeCompleteTag(Scope *S, unsigned TagSpec) {
 4958 void Sema::CodeCompleteBracketDeclarator(Scope *S) {
 4962 void Sema::CodeCompleteCase(Scope *S) {
 5094 ProduceSignatureHelp(Sema &SemaRef, Scope *S,
 5104 QualType Sema::ProduceCallSignatureHelp(Scope *S, Expr *Fn,
 5200 QualType Sema::ProduceConstructorSignatureHelp(Scope *S, QualType Type,
 5240     Scope *S, Decl *ConstructorDecl, CXXScopeSpec SS, ParsedType TemplateTypeTy,
 5258 void Sema::CodeCompleteInitializer(Scope *S, Decl *D) {
 5273 void Sema::CodeCompleteAfterIf(Scope *S) {
 5332 void Sema::CodeCompleteQualifiedId(Scope *S, CXXScopeSpec &SS,
 5411 void Sema::CodeCompleteUsing(Scope *S) {
 5441 void Sema::CodeCompleteUsingDirective(Scope *S) {
 5461 void Sema::CodeCompleteNamespaceDecl(Scope *S) {
 5509 void Sema::CodeCompleteNamespaceAliasDecl(Scope *S) {
 5526 void Sema::CodeCompleteOperatorName(Scope *S) {
 5711 static bool isNamespaceScope(Scope *S) {
 5719 void Sema::CodeCompleteLambdaIntroducer(Scope *S, LambdaIntroducer &Intro,
 5858 void Sema::CodeCompleteObjCAtDirective(Scope *S) {
 5995 void Sema::CodeCompleteObjCAtVisibility(Scope *S) {
 6006 void Sema::CodeCompleteObjCAtStatement(Scope *S) {
 6018 void Sema::CodeCompleteObjCAtExpression(Scope *S) {
 6060 void Sema::CodeCompleteObjCPropertyFlags(Scope *S, ObjCDeclSpec &ODS) {
 6278 void Sema::CodeCompleteObjCPropertyGetter(Scope *S) {
 6304 void Sema::CodeCompleteObjCPropertySetter(Scope *S) {
 6331 void Sema::CodeCompleteObjCPassingType(Scope *S, ObjCDeclSpec &DS,
 6596 void Sema::CodeCompleteObjCMessageReceiver(Scope *S) {
 6633 void Sema::CodeCompleteObjCSuperMessage(Scope *S, SourceLocation SuperLoc,
 6728 static void AddClassMessageCompletions(Sema &SemaRef, Scope *S,
 6803 void Sema::CodeCompleteObjCClassMessage(Scope *S, ParsedType Receiver,
 6838 void Sema::CodeCompleteObjCInstanceMessage(Scope *S, Expr *Receiver,
 6995 void Sema::CodeCompleteObjCForCollection(Scope *S,
 7011 void Sema::CodeCompleteObjCSelector(Scope *S,
 7113 void Sema::CodeCompleteObjCProtocolDecl(Scope *) {
 7151 void Sema::CodeCompleteObjCInterfaceDecl(Scope *S) {
 7169 void Sema::CodeCompleteObjCSuperclass(Scope *S, IdentifierInfo *ClassName,
 7194 void Sema::CodeCompleteObjCImplementationDecl(Scope *S) {
 7212 void Sema::CodeCompleteObjCInterfaceCategory(Scope *S,
 7247 void Sema::CodeCompleteObjCImplementationCategory(Scope *S,
 7288 void Sema::CodeCompleteObjCPropertyDefinition(Scope *S) {
 7326     Scope *S, IdentifierInfo *PropertyName) {
 8153 void Sema::CodeCompleteObjCMethodDecl(Scope *S, Optional<bool> IsInstanceMethod,
 8327     Scope *S, bool IsInstanceMethod, bool AtParameterName, ParsedType ReturnTy,
 8569 void Sema::CodeCompleteInPreprocessorConditionalExclusion(Scope *S) {
 8626 void Sema::CodeCompletePreprocessorMacroArgument(Scope *S,
tools/clang/lib/Sema/SemaCoroutine.cpp
  252 static ExprResult buildOperatorCoawaitLookupExpr(Sema &SemaRef, Scope *S,
  283 static ExprResult buildOperatorCoawaitCall(Sema &SemaRef, Scope *S,
  599 bool Sema::ActOnCoroutineBodyStart(Scope *SC, SourceLocation KWLoc,
  651 static bool isWithinCatchScope(Scope *S) {
  666   while (S && !(S->getFlags() & Scope::FnScope)) {
  667     if (S->getFlags() & Scope::CatchScope)
  692 ExprResult Sema::ActOnCoawaitExpr(Scope *S, SourceLocation Loc, Expr *E) {
  791 ExprResult Sema::ActOnCoyieldExpr(Scope *S, SourceLocation Loc, Expr *E) {
  846 StmtResult Sema::ActOnCoreturnStmt(Scope *S, SourceLocation Loc, Expr *E) {
tools/clang/lib/Sema/SemaDecl.cpp
  282                              Scope *S, CXXScopeSpec *SS,
  608 DeclSpec::TST Sema::isTagName(IdentifierInfo &II, Scope *S) {
  641 bool Sema::isMicrosoftMissingTypename(const CXXScopeSpec *SS, Scope *S) {
  659                                    Scope *S,
  785                                     Scope *S, CXXScopeSpec &SS,
  848 Sema::NameClassification Sema::ClassifyName(Scope *S, CXXScopeSpec &SS,
 1213 ExprResult Sema::ActOnNameClassifiedAsNonType(Scope *S, const CXXScopeSpec &SS,
 1289 void Sema::PushDeclContext(Scope *S, DeclContext *DC) {
 1303 Sema::SkippedDefinitionContext Sema::ActOnTagStartSkippedDefinition(Scope *S,
 1324 void Sema::EnterDeclaratorContext(Scope *S, DeclContext *DC) {
 1344   Scope *Ancestor = S->getParent();
 1353 void Sema::ExitDeclaratorContext(Scope *S) {
 1358   Scope *Ancestor = S->getParent();
 1366 void Sema::ActOnReenterFunctionContext(Scope* S, Decl *D) {
 1422 void Sema::PushOnScopeChains(NamedDecl *D, Scope *S, bool AddToContext) {
 1482 bool Sema::isDeclInScope(NamedDecl *D, DeclContext *Ctx, Scope *S,
 1487 Scope *Sema::getScopeForDeclContext(Scope *S, DeclContext *DC) {
 1487 Scope *Sema::getScopeForDeclContext(Scope *S, DeclContext *DC) {
 1504 void Sema::FilterLookupForScope(LookupResult &R, DeclContext *Ctx, Scope *S,
 1881 void Sema::ActOnPopScope(SourceLocation Loc, Scope *S) {
 1984 Scope *Sema::getNonFieldDeclScope(Scope *S) {
 1984 Scope *Sema::getNonFieldDeclScope(Scope *S) {
 1985   while (((S->getFlags() & Scope::DeclScope) == 0) ||
 1996 static void LookupPredefedObjCSuperType(Sema &ThisSema, Scope *S,
 2032                                      Scope *S, bool ForRedeclaration,
 2207 void Sema::MergeTypedefNameDecl(Scope *S, TypedefNameDecl *New,
 2293         Scope *EnumScope = getNonFieldDeclScope(S);
 3158                              Scope *S, bool MergeTypeWithOld) {
 3759                                         Scope *S, bool MergeTypeWithOld) {
 4281 Sema::ParsedFreeStandingDeclSpec(Scope *S, AccessSpecifier AS, DeclSpec &DS,
 4293 static unsigned getMSManglingNumber(const LangOptions &LO, Scope *S) {
 4299 void Sema::handleTagNumbering(const TagDecl *Tag, Scope *TagScope) {
 4393 Sema::ParsedFreeStandingDeclSpec(Scope *S, AccessSpecifier AS, DeclSpec &DS,
 4653                                          Scope *S,
 4693 InjectAnonymousStructOrUnionMembers(Sema &SemaRef, Scope *S, DeclContext *Owner,
 4811 Decl *Sema::BuildAnonymousStructOrUnion(Scope *S, DeclSpec &DS,
 5089 Decl *Sema::BuildMicrosoftCAnonymousStruct(Scope *S, DeclSpec &DS,
 5379 Decl *Sema::ActOnDeclarator(Scope *S, Declarator &D) {
 5514 NamedDecl *Sema::HandleDeclarator(Scope *S, Declarator &D,
 5534   while ((S->getFlags() & Scope::DeclScope) == 0 ||
 5535          (S->getFlags() & Scope::TemplateParamScope) != 0)
 5852 Sema::RegisterLocallyScopedExternCDecl(NamedDecl *ND, Scope *S) {
 5887 Sema::ActOnTypedefDeclarator(Scope* S, Declarator& D, DeclContext* DC,
 5934 Sema::CheckTypedefForVariablyModifiedType(Scope *S, TypedefNameDecl *NewTD) {
 5974 Sema::ActOnTypedefNameDecl(Scope *S, DeclContext *DC, TypedefNameDecl *NewTD,
 6427 static bool hasParsedAttr(Scope *S, const Declarator &PD,
 6479     Scope *S, Declarator &D, DeclContext *DC, TypeSourceInfo *TInfo,
 7382 void Sema::CheckShadow(Scope *S, VarDecl *D) {
 7896     Scope *S;
 7966     ActOnFDArgs &ExtraArgs, bool IsLocalFriend, Scope *S) {
 8553 static Scope *getTagInjectionScope(Scope *S, const LangOptions &LangOpts) {
 8553 static Scope *getTagInjectionScope(Scope *S, const LangOptions &LangOpts) {
 8557          ((S->getFlags() & Scope::DeclScope) == 0) ||
 8564 Sema::ActOnFunctionDeclarator(Scope *S, Declarator &D, DeclContext *DC,
10235 bool Sema::CheckFunctionDeclaration(Scope *S, FunctionDecl *NewFD,
12310 Sema::ActOnCXXForRangeIdentifier(Scope *S, SourceLocation IdentLoc,
12800 Sema::DeclGroupPtrTy Sema::FinalizeDeclaratorGroup(Scope *S, const DeclSpec &DS,
12946 void Sema::CheckFunctionOrTemplateParamDeclarator(Scope *S, Declarator &D) {
12985 Decl *Sema::ActOnParamDeclarator(Scope *S, Declarator &D) {
13227 void Sema::ActOnFinishKNRParamDeclarations(Scope *S, Declarator &D,
13264 Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, Declarator &D,
13269   Scope *ParentScope = FnBodyScope->getParent();
13483 Decl *Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, Decl *D,
14079 void Sema::ActOnFinishDelayedAttribute(Scope *S, Decl *D,
14094                                           IdentifierInfo &II, Scope *S) {
14100   Scope *BlockScope = S;
14104   Scope *ContextScope = BlockScope;
14347 TypedefDecl *Sema::ParseTypedefDecl(Scope *S, Declarator &D, QualType T,
14633 static FixItHint createFriendTagNNSFixIt(Sema &SemaRef, NamedDecl *ND, Scope *S,
14697 Decl *Sema::ActOnTag(Scope *S, unsigned TagSpec, TagUseKind TUK,
15589       if (Scope *EnclosingScope = getScopeForDeclContext(S, DC))
15633 void Sema::ActOnTagStartDefinition(Scope *S, Decl *TagD) {
15667 void Sema::ActOnStartCXXMemberDeclarations(Scope *S, Decl *TagD,
15704 void Sema::ActOnTagFinishDefinition(Scope *S, Decl *TagD,
15749 void Sema::ActOnTagDefinitionError(Scope *S, Decl *TagD) {
15861 Decl *Sema::ActOnField(Scope *S, Decl *TagD, SourceLocation DeclStart,
15871 FieldDecl *Sema::HandleField(Scope *S, RecordDecl *Record,
16252 Decl *Sema::ActOnIvar(Scope *S,
16400 void Sema::ActOnFields(Scope *S, SourceLocation RecLoc, Decl *EnclosingDecl,
17070 Sema::SkipBodyInfo Sema::shouldSkipAnonEnumBody(Scope *S, IdentifierInfo *II,
17096 Decl *Sema::ActOnEnumConstant(Scope *S, Decl *theEnumDecl, Decl *lastEnumConst,
17348                          Decl *EnumDeclX, ArrayRef<Decl *> Elements, Scope *S,
tools/clang/lib/Sema/SemaDeclAttr.cpp
 2073 static void handleDependencyAttr(Sema &S, Scope *Scope, Decl *D,
 2078     if (!(Scope->getFlags() & clang::Scope::FunctionDeclarationScope)) {
 6446 static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D,
 7202 void Sema::ProcessDeclAttributeList(Scope *S, Decl *D,
 7376 void Sema::DeclApplyPragmaWeak(Scope *S, NamedDecl *ND, WeakInfo &W) {
 7401 void Sema::ProcessPragmaWeak(Scope *S, Decl *D) {
 7429 void Sema::ProcessDeclAttributes(Scope *S, Decl *D, const Declarator &PD) {
tools/clang/lib/Sema/SemaDeclCXX.cpp
  437                                 Scope *S) {
  687 Sema::ActOnDecompositionDeclarator(Scope *S, Declarator &D,
 2320 CXXRecordDecl *Sema::getCurrentClass(Scope *, const CXXScopeSpec *SS) {
 2338 bool Sema::isCurrentClassName(const IdentifierInfo &II, Scope *S,
 3147 Sema::ActOnCXXMemberDeclarator(Scope *S, AccessSpecifier AS, Declarator &D,
 3969                           Scope *S,
 3985                           Scope *S,
 4047                           Scope *S,
 8366     Scope *S, SourceLocation RLoc, Decl *TagDecl, SourceLocation LBrac,
 8467 unsigned Sema::ActOnReenterTemplateScope(Scope *S, Decl *D) {
 8518 void Sema::ActOnStartDelayedMemberDeclarations(Scope *S, Decl *RecordD) {
 8525 void Sema::ActOnFinishDelayedMemberDeclarations(Scope *S, Decl *RecordD) {
 8533 void Sema::ActOnReenterCXXMethodParameter(Scope *S, ParmVarDecl *Param) {
 8550 void Sema::ActOnStartDelayedCXXMethodDeclaration(Scope *S, Decl *MethodD) {
 8558 void Sema::ActOnDelayedCXXMethodParameter(Scope *S, Decl *ParamD) {
 8580 void Sema::ActOnFinishDelayedCXXMethodDeclaration(Scope *S, Decl *MethodD) {
 9306     Scope *NamespcScope, SourceLocation InlineLoc, SourceLocation NamespaceLoc,
 9316   Scope *DeclRegionScope = NamespcScope->getParent();
 9802 static bool TryNamespaceTypoCorrection(Sema &S, LookupResult &R, Scope *Sc,
 9830 Decl *Sema::ActOnUsingDirective(Scope *S, SourceLocation UsingLoc,
 9913 void Sema::PushUsingDirective(Scope *S, UsingDirectiveDecl *UDir) {
 9926 Decl *Sema::ActOnUsingDeclaration(Scope *S, AccessSpecifier AS,
10196 UsingShadowDecl *Sema::BuildUsingShadowDecl(Scope *S,
10266 void Sema::HideUsingShadowDecl(Scope *S, UsingShadowDecl *Shadow) {
10393     Scope *S, AccessSpecifier AS, SourceLocation UsingLoc,
10960 Decl *Sema::ActOnAliasDeclaration(Scope *S, AccessSpecifier AS,
11116 Decl *Sema::ActOnNamespaceAliasDef(Scope *S, SourceLocation NamespaceLoc,
11399 void Sema::CheckImplicitSpecialMemberDeclaration(Scope *S, FunctionDecl *FD) {
11480   Scope *S = getScopeForContext(ClassDecl);
11759   Scope *S = getScopeForContext(ClassDecl);
12385   Scope *S = getScopeForContext(ClassDecl);
12709   Scope *S = getScopeForContext(ClassDecl);
13094   Scope *S = getScopeForContext(ClassDecl);
13226   Scope *S = getScopeForContext(ClassDecl);
14192 Decl *Sema::ActOnStartLinkageSpecification(Scope *S, SourceLocation ExternLoc,
14232 Decl *Sema::ActOnFinishLinkageSpecification(Scope *S,
14243 Decl *Sema::ActOnEmptyDeclaration(Scope *S,
14258 VarDecl *Sema::BuildExceptionDeclaration(Scope *S,
14385 Decl *Sema::ActOnExceptionDeclarator(Scope *S, Declarator &D) {
14593 Decl *Sema::ActOnTemplatedFriendTag(Scope *S, SourceLocation FriendLoc,
14727 Decl *Sema::ActOnFriendTypeDecl(Scope *S, const DeclSpec &DS,
14818 NamedDecl *Sema::ActOnFriendFunctionDecl(Scope *S, Declarator &D,
14874   Scope *DCScope = S;
15060   Scope FakeDCScope(S, Scope::DeclScope, Diags);
15060   Scope FakeDCScope(S, Scope::DeclScope, Diags);
15086     if (Scope *EnclosingScope = getScopeForDeclContext(S, DC))
15507 void Sema::ActOnCXXEnterDeclInitializer(Scope *S, Decl *D) {
15528 void Sema::ActOnCXXExitDeclInitializer(Scope *S, Decl *D) {
15543 DeclResult Sema::ActOnCXXConditionDeclaration(Scope *S, Declarator &D) {
16144 MSPropertyDecl *Sema::HandleMSProperty(Scope *S, RecordDecl *Record,
tools/clang/lib/Sema/SemaDeclObjC.cpp
  361 void Sema::ActOnStartOfObjCMethodDef(Scope *FnBodyScope, Decl *D) {
  541 ActOnSuperClassOfClassInterface(Scope *S,
  665 DeclResult Sema::actOnObjCTypeParam(Scope *S,
  769 ObjCTypeParamList *Sema::actOnObjCTypeParamList(Scope *S,
  804 void Sema::popObjCTypeParamList(Scope *S, ObjCTypeParamList *typeParamList) {
  976     Scope *S, SourceLocation AtInterfaceLoc, IdentifierInfo *ClassName,
 1406        Scope *S,
 2950 void Sema::ImplMethodsVsClassMethods(Scope *S, ObjCImplDecl* IMPDecl,
 3891 Decl *Sema::ActOnAtEnd(Scope *S, SourceRange AtEnd, ArrayRef<Decl *> allMethods,
 4540     Scope *S, SourceLocation MethodLoc, SourceLocation EndLoc,
 4810 void Sema::ActOnDefs(Scope *S, Decl *TagD, SourceLocation DeclStart,
 4897 Decl *Sema::ActOnObjCExceptionDecl(Scope *S, Declarator &D) {
 5050 void Sema::DiagnoseUnusedBackingIvarInAccessor(Scope *S,
tools/clang/lib/Sema/SemaExpr.cpp
 1920 bool Sema::DiagnoseEmptyLookup(Scope *S, CXXScopeSpec &SS, LookupResult &R,
 2491 DeclResult Sema::LookupIvarInObjCMethod(LookupResult &Lookup, Scope *S,
12047           ? Scope::ControlScope | Scope::ContinueScope | Scope::BreakScope
12047           ? Scope::ControlScope | Scope::ContinueScope | Scope::BreakScope
12047           ? Scope::ControlScope | Scope::ContinueScope | Scope::BreakScope
12048           : Scope::ContinueScope | Scope::BreakScope;
12048           : Scope::ContinueScope | Scope::BreakScope;
12049   const unsigned ForInitFlags = Scope::ControlScope | Scope::DeclScope;
12049   const unsigned ForInitFlags = Scope::ControlScope | Scope::DeclScope;
14081 void Sema::ActOnBlockStart(SourceLocation CaretLoc, Scope *CurScope) {
14111                                Scope *CurScope) {
14227 void Sema::ActOnBlockError(SourceLocation CaretLoc, Scope *CurScope) {
17299 Sema::ConditionResult Sema::ActOnCondition(Scope *S, SourceLocation Loc,
tools/clang/lib/Sema/SemaExprCXX.cpp
   84                                     Scope *S, CXXScopeSpec &SS,
  135                                    Scope *S, CXXScopeSpec &SS,
  745                 (Scope::FnScope | Scope::ClassScope | Scope::BlockScope |
  745                 (Scope::FnScope | Scope::ClassScope | Scope::BlockScope |
  745                 (Scope::FnScope | Scope::ClassScope | Scope::BlockScope |
  746                  Scope::FunctionPrototypeScope | Scope::ObjCMethodScope |
  746                  Scope::FunctionPrototypeScope | Scope::ObjCMethodScope |
  747                  Scope::TryScope))
 8046 Sema::CheckMicrosoftIfExistsSymbol(Scope *S,
 8081 Sema::CheckMicrosoftIfExistsSymbol(Scope *S, SourceLocation KeywordLoc,
tools/clang/lib/Sema/SemaExprMember.cpp
  239                                       const Scope *S) {
  751                                const Scope *S,
  926 static bool IsInFnTryBlockHandler(const Scope *S) {
  931     if (S->getFlags() & Scope::FnTryCatchScope)
  932       return (S->getFlags() & Scope::TryScope) != Scope::TryScope;
  932       return (S->getFlags() & Scope::TryScope) != Scope::TryScope;
  967                                const Scope *S,
 1685 ExprResult Sema::ActOnMemberAccessExpr(Scope *S, Expr *Base,
 1838                               bool IsKnownInstance, const Scope *S) {
tools/clang/lib/Sema/SemaExprObjC.cpp
 2124 Sema::ObjCMessageKind Sema::getObjCMessageKind(Scope *S,
 2222 ExprResult Sema::ActOnSuperMessage(Scope *S,
 2591 ExprResult Sema::ActOnClassMessage(Scope *S,
 3211 ExprResult Sema::ActOnInstanceMessage(Scope *S,
 4544 ExprResult Sema::ActOnObjCBridgedCast(Scope *S,
tools/clang/lib/Sema/SemaLambda.cpp
  539     CXXMethodDecl *CallOperator, Scope *CurScope) {
  886                                         Scope *CurScope) {
  894     auto *TemplateParamScope = CurScope->getTemplateParamParent();
 1233 void Sema::ActOnLambdaError(SourceLocation StartLoc, Scope *CurScope,
 1532                                  Scope *CurScope) {
tools/clang/lib/Sema/SemaLookup.cpp
  103     void visitScopeChain(Scope *S, Scope *InnermostFileScope) {
  103     void visitScopeChain(Scope *S, Scope *InnermostFileScope) {
 1120 static bool isNamespaceOrTranslationUnitScope(Scope *S) {
 1133 static std::pair<DeclContext *, bool> findOuterContext(Scope *S) {
 1136   for (Scope *OuterS = S->getParent(); OuterS;
 1173   Scope *OutermostTemplateScope = S->getParent();
 1216 bool Sema::CppLookupName(LookupResult &R, Scope *S) {
 1225     for (Scope *PreS = S; PreS; PreS = PreS->getParent())
 1233   Scope *Initial = S;
 1376             Scope *InnermostFileScope = S;
 1914 bool Sema::LookupName(LookupResult &R, Scope *S, bool AllowBuiltinCreation) {
 1925       while (!(S->getFlags() & Scope::DeclScope) ||
 2459 bool Sema::LookupParsedName(LookupResult &R, Scope *S, CXXScopeSpec *SS,
 3021 NamedDecl *Sema::LookupSingleName(Scope *S, DeclarationName Name,
 3039 void Sema::LookupOverloadedOperatorName(OverloadedOperatorKind Op, Scope *S,
 3378 Sema::LookupLiteralOperator(Scope *S, LookupResult &R,
 3719   void lookupVisibleDecls(Sema &SemaRef, Scope *S, Sema::LookupNameKind Kind,
 3723     Scope *Initial = S;
 3938   void lookupInScope(Scope *S, LookupResult &Result,
 4038 void Sema::LookupVisibleDecls(Scope *S, LookupNameKind Kind,
 4066     Scope *S = CurScope;
 4080     Scope *S = CurScope->getFnParent();
 4100                                       Scope *S, CXXScopeSpec *SS,
 4595                                       Scope *S, CXXScopeSpec *SS,
 4648                                   Scope *S, CorrectionCandidateCallback &CCC,
 4799     Scope *S, CXXScopeSpec *SS, CorrectionCandidateCallback &CCC,
 4974                                  Scope *S, CXXScopeSpec *SS,
 5109     Scope *S, CXXScopeSpec *SS, CorrectionCandidateCallback &CCC,
 5501 void Sema::ActOnPragmaDump(Scope *S, SourceLocation IILoc, IdentifierInfo *II) {
tools/clang/lib/Sema/SemaModule.cpp
  525 Decl *Sema::ActOnStartExportDecl(Scope *S, SourceLocation ExportLoc,
  691 Decl *Sema::ActOnFinishExportDecl(Scope *S, Decl *D, SourceLocation RBraceLoc) {
tools/clang/lib/Sema/SemaObjCProperty.cpp
  177 Decl *Sema::ActOnProperty(Scope *S, SourceLocation AtLoc,
  412 Sema::HandlePropertyInClassExtension(Scope *S,
  564 ObjCPropertyDecl *Sema::CreatePropertyDecl(Scope *S,
 1044 Decl *Sema::ActOnPropertyImplDecl(Scope *S,
 1833 void Sema::DefaultSynthesizeProperties(Scope *S, ObjCImplDecl *IMPDecl,
 1926 void Sema::DefaultSynthesizeProperties(Scope *S, Decl *D,
 1975 void Sema::DiagnoseUnimplementedProperties(Scope *S, ObjCImplDecl* IMPDecl,
tools/clang/lib/Sema/SemaOpenMP.cpp
  131     Scope *CurScope = nullptr;
  156                  Scope *CurScope, SourceLocation Loc)
  309             Scope *CurScope, SourceLocation Loc) {
  719   Scope *getCurScope() const {
 1232       Scope *TopScope = I->CurScope ? I->CurScope->getParent() : nullptr;
 1233       Scope *CurScope = getCurScope();
 2132                                Scope *CurScope, SourceLocation Loc) {
 2206                                      Scope *S, DSAStackTy *Stack);
 3091 void Sema::ActOnOpenMPRegionStart(OpenMPDirectiveKind DKind, Scope *CurScope) {
 5369       Scope *S, ArrayRef<LoopIterationSpace> ResultIterSpaces, bool LimitedType,
 5373   buildPreCond(Scope *S, Expr *Cond,
 5389   buildOrderedLoopData(Scope *S, Expr *Counter,
 5395       Scope *S, llvm::MapVector<const Expr *, DeclRefExpr *> &Captures) const;
 5397   Expr *buildFinalCondition(Scope *S) const;
 5946     Scope *S, ArrayRef<LoopIterationSpace> ResultIterSpaces, bool LimitedType,
 6204     Scope *S, llvm::MapVector<const Expr *, DeclRefExpr *> &Captures) const {
 6318 Expr *OpenMPIterationSpaceChecker::buildFinalCondition(Scope *S) const {
 6325     Scope *S, Expr *Cond,
 6406     Scope *S, Expr *Counter,
 7051   Scope *CurScope = DSA.getCurScope();
13930                                      Scope *S, DSAStackTy *Stack) {
15579     Scope *S, DeclContext *DC, DeclarationName Name,
15660 void Sema::ActOnOpenMPDeclareReductionCombinerStart(Scope *S, Decl *D) {
15721 VarDecl *Sema::ActOnOpenMPDeclareReductionInitializerStart(Scope *S, Decl *D) {
15790     Scope *S, DeclGroupPtrTy DeclReductions, bool IsValid) {
15803 TypeResult Sema::ActOnOpenMPDeclareMapperVarDecl(Scope *S, Declarator &D) {
15834     Scope *S, DeclContext *DC, DeclarationName Name, QualType MapperType,
15912                                                     Scope *S,
15926 Sema::ActOnOpenMPDeclareMapperDirectiveEnd(OMPDeclareMapperDecl *D, Scope *S,
16175 Sema::lookupOpenMPDeclareTargetName(Scope *CurScope, CXXScopeSpec &ScopeSpec,
tools/clang/lib/Sema/SemaOverload.cpp
  994 Sema::CheckOverload(Scope *S, FunctionDecl *New, const LookupResult &Old,
12226 BuildRecoveryCallExpr(Sema &SemaRef, Scope *S, Expr *Fn,
12307 bool Sema::buildOverloadedCallSet(Scope *S, Expr *Fn,
12374 static ExprResult FinishOverloadedCallExpr(Sema &SemaRef, Scope *S, Expr *Fn,
12481 ExprResult Sema::BuildOverloadedCallExpr(Scope *S, Expr *Fn,
13304 Sema::BuildCallToMemberFunction(Scope *S, Expr *MemExprE,
13586 Sema::BuildCallToObjectOfClassType(Scope *S, Expr *Obj,
13868 Sema::BuildOverloadedArrowExpr(Scope *S, Expr *Base, SourceLocation OpLoc,
14074   Scope *S = nullptr;
tools/clang/lib/Sema/SemaPseudoObject.cpp
  216     ExprResult buildAssignmentOperation(Scope *Sc,
  220     ExprResult buildIncDecOperation(Scope *Sc, SourceLocation opLoc,
  289     ExprResult buildAssignmentOperation(Scope *Sc,
  293     ExprResult buildIncDecOperation(Scope *Sc, SourceLocation opLoc,
  328    ExprResult buildAssignmentOperation(Scope *Sc,
  431 PseudoOpBuilder::buildAssignmentOperation(Scope *Sc, SourceLocation opcLoc,
  496 PseudoOpBuilder::buildIncDecOperation(Scope *Sc, SourceLocation opcLoc,
  892 ObjCPropertyOpBuilder::buildAssignmentOperation(Scope *Sc,
  939 ObjCPropertyOpBuilder::buildIncDecOperation(Scope *Sc, SourceLocation opcLoc,
 1000 ObjCSubscriptOpBuilder::buildAssignmentOperation(Scope *Sc,
 1560 ExprResult Sema::checkPseudoObjectIncDec(Scope *Sc, SourceLocation opcLoc,
 1589 ExprResult Sema::checkPseudoObjectAssignment(Scope *S, SourceLocation opcLoc,
tools/clang/lib/Sema/SemaStmt.cpp
  505                        Stmt *SubStmt, Scope *CurScope) {
 1749   Scope *BreakParent = CurScope->getBreakParent();
 1751     if (BreakParent->getFlags() & Scope::SwitchScope) {
 2093 StmtResult Sema::ActOnCXXForRangeStmt(Scope *S, SourceLocation ForLoc,
 2303 static StmtResult RebuildForRangeWithDereference(Sema &SemaRef, Scope *S,
 2372   Scope *S = getCurScope();
 2912                                      const Scope &DestScope) {
 2920 Sema::ActOnContinueStmt(SourceLocation ContinueLoc, Scope *CurScope) {
 2921   Scope *S = CurScope->getContinueParent();
 2932 Sema::ActOnBreakStmt(SourceLocation BreakLoc, Scope *CurScope) {
 2933   Scope *S = CurScope->getBreakParent();
 3555                       Scope *CurScope) {
 3874                            Scope *CurScope) {
 3881     Scope *AtCatchParent = CurScope;
 4217 Sema::ActOnSEHLeaveStmt(SourceLocation Loc, Scope *CurScope) {
 4218   Scope *SEHTryParent = CurScope;
 4318 void Sema::ActOnCapturedRegionStart(SourceLocation Loc, Scope *CurScope,
 4347 void Sema::ActOnCapturedRegionStart(SourceLocation Loc, Scope *CurScope,
tools/clang/lib/Sema/SemaTemplate.cpp
  128 TemplateNameKind Sema::isTemplateName(Scope *S,
  268 bool Sema::isDeductionGuideName(Scope *S, const IdentifierInfo &Name,
  303                                        Scope *S,
  327                               Scope *S, CXXScopeSpec &SS,
  565 void Sema::diagnoseExprIntendedAsTemplateName(Scope *S, ExprResult TemplateName,
  910 static void maybeDiagnoseTemplateParameterShadow(Sema &SemaRef, Scope *S,
  978 NamedDecl *Sema::ActOnTypeParameter(Scope *S, bool Typename,
 1113 NamedDecl *Sema::ActOnNonTypeTemplateParameter(Scope *S, Declarator &D,
 1248 NamedDecl *Sema::ActOnTemplateTemplateParameter(Scope* S,
 1352     Scope *S, unsigned TagSpec, TagUseKind TUK, SourceLocation KWLoc,
 1677     Scope *Outer = S;
 1678     while ((Outer->getFlags() & Scope::TemplateParamScope) != 0)
 1693       if (Scope *EnclosingScope = getScopeForDeclContext(S, DC))
 3390 void Sema::ActOnUndeclaredTypeTemplateName(Scope *S, TemplateTy &ParsedName,
 3408 bool Sema::resolveAssumedTemplateNameAsType(Scope *S, TemplateName &Name,
 3444     Scope *S, CXXScopeSpec &SS, SourceLocation TemplateKWLoc,
 3833     Scope *S, Declarator &D, TypeSourceInfo *DI, SourceLocation TemplateKWLoc,
 4375 TemplateNameKind Sema::ActOnDependentTemplateName(Scope *S,
 7373 Sema::CheckTemplateDeclScope(Scope *S, TemplateParameterList *TemplateParams) {
 7378   while ((S->getFlags() & Scope::DeclScope) == 0 ||
 7379          (S->getFlags() & Scope::TemplateParamScope) != 0)
 7674     Scope *S, unsigned TagSpec, TagUseKind TUK, SourceLocation KWLoc,
 8040 Decl *Sema::ActOnTemplateDeclarator(Scope *S,
 8048 Decl *Sema::ActOnConceptDefinition(Scope *S,
 8949     Scope *S, SourceLocation ExternLoc, SourceLocation TemplateLoc,
 9247 Sema::ActOnExplicitInstantiation(Scope *S, SourceLocation ExternLoc,
 9361 DeclResult Sema::ActOnExplicitInstantiation(Scope *S,
 9380   while ((S->getFlags() & Scope::DeclScope) == 0 ||
 9381          (S->getFlags() & Scope::TemplateParamScope) != 0)
 9764 Sema::ActOnDependentTag(Scope *S, unsigned TagSpec, TagUseKind TUK,
 9796 Sema::ActOnTypenameType(Scope *S, SourceLocation TypenameLoc,
 9832 Sema::ActOnTypenameType(Scope *S,
tools/clang/lib/Sema/SemaTemplateVariadic.cpp
  974 ExprResult Sema::ActOnSizeofParameterPackExpr(Scope *S,
tools/clang/lib/Sema/SemaType.cpp
 1137              Scope *S,
 5285 TypeSourceInfo *Sema::GetTypeForDeclarator(Declarator &D, Scope *S) {
 5850 TypeResult Sema::ActOnTypeName(Scope *S, Declarator &D) {
tools/clang/tools/extra/clang-include-fixer/IncludeFixer.cpp
  185     const DeclarationNameInfo &Typo, int LookupKind, Scope *S, CXXScopeSpec *SS,
tools/clang/tools/extra/clang-include-fixer/IncludeFixer.h
  105                                     int LookupKind, Scope *S, CXXScopeSpec *SS,
tools/clang/tools/extra/clangd/IncludeFixer.cpp
  306 collectAccessibleScopes(Sema &Sem, const DeclarationNameInfo &Typo, Scope *S,
  332                              Scope *S, CXXScopeSpec *SS,
tools/clang/unittests/Frontend/FrontendActionTest.cpp
  204                              Scope *S, CXXScopeSpec *SS,
tools/clang/unittests/Sema/ExternalSemaSourceTest.cpp
  108                              Scope *S, CXXScopeSpec *SS,
  150                              Scope *S, CXXScopeSpec *SS,
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
  477   bool LookupUnqualified(clang::LookupResult &R, clang::Scope *S) override {
  555               clang::Scope *S, clang::CXXScopeSpec *SS,
tools/lldb/source/Symbol/CxxModuleHandler.cpp
   48                        std::vector<Scope *> &result) {
   55     Scope *scope =
   56         new Scope(result.back(), Scope::DeclScope, sema.getDiagnostics());
   56         new Scope(result.back(), Scope::DeclScope, sema.getDiagnostics());
   76   std::vector<Scope *> scopes;
   84   for (Scope *s : scopes)
usr/include/c++/7.4.0/type_traits
 1558     { typedef _Tp     type; };