Lines Matching refs:Scope
1 //===--- SemaCXXScopeSpec.cpp - Semantic Analysis for C++ scope specifiers-===//
10 // This file implements C++ semantic analysis for scope specifiers.
64 /// scope specifier.
66 /// \param SS the C++ scope specifier as it appears in the source
69 /// this scope specifier, so we can retrieve the declaration context of a
73 /// \returns the declaration context represented by the scope specifier @p SS,
257 for (Scope *S = getCurScope(); S; S = S->getParent()) {
329 /// nested-name-specifier within the given scope, and return the result of that
331 NamedDecl *Sema::FindFirstQualifierInScope(Scope *S, NestedNameSpecifier *NNS) {
356 bool Sema::isNonTypeNestedNameSpecifier(Scope *S, CXXScopeSpec &SS,
369 assert(!SS.isSet() && "ObjectType and scope specifier cannot coexist");
427 /// \param S Scope in which the nested-name-specifier occurs.
437 /// scope of the nested-name-specifier that was computed at template
448 /// the result of name lookup within the scope of the nested-name-specifier
454 /// scope if it *knows* that the result is correct. It should not return in a
455 /// dependent context, for example. Nor will it extend \p SS with the scope
457 bool Sema::BuildCXXNestedNameSpecifier(Scope *S,
478 assert(!SS.isSet() && "ObjectType and scope specifier cannot coexist");
512 // the scope of the class of the object expression. If the name is found
513 // only in the scope of the class of the object expression, the name
521 // unqualified name lookup in the given scope (if available) or
532 // Perform unqualified name lookup in the current scope.
632 // We already found the name in the scope of the object. Now, look
633 // into the current scope (the scope of the postfix-expression) to
635 // scope, reconstruct the result from the template instantiation itself.
795 bool Sema::ActOnCXXNestedNameSpecifier(Scope *S,
843 bool Sema::IsInvalidUnlessNestedName(Scope *S, CXXScopeSpec &SS,
858 bool Sema::ActOnCXXNestedNameSpecifier(Scope *S,
983 bool Sema::ShouldEnterDeclaratorScope(Scope *S, const CXXScopeSpec &SS) {
995 // in a template-id is first looked up in the scope of the member
1000 // i.e. we don't push a scope unless it's a class member.
1007 // namespace scope from anything but a file context.
1021 /// ActOnCXXEnterDeclaratorScope - Called when a C++ scope specifier (global
1022 /// scope or nested-name-specifier) is parsed, part of a declarator-id.
1024 /// looked up in the declarator-id's scope, until the declarator is parsed and
1027 bool Sema::ActOnCXXEnterDeclaratorScope(Scope *S, CXXScopeSpec &SS) {
1042 // Rebuild the nested name specifier for the new scope.
1053 /// defining scope.
1054 void Sema::ActOnCXXExitDeclaratorScope(Scope *S, const CXXScopeSpec &SS) {
1059 "exiting declarator scope we never really entered");