Lines Matching refs:Scope
22 #include "clang/Sema/Scope.h"
213 // C++11 allows extra semicolons at namespace scope, but not in any of the
369 // Scope manipulation
372 /// EnterScope - Start a new scope.
375 Scope *N = ScopeCache[--NumCachedScopes];
379 Actions.CurScope = new Scope(getCurScope(), ScopeFlags, Diags);
383 /// ExitScope - Pop a scope off the scope stack.
385 assert(getCurScope() && "Scope imbalance!");
387 // Inform the actions module that this scope is going away if there are any
391 Scope *OldScope = getCurScope();
400 /// Set the flags for the current scope to ScopeFlags. If ManageFlags is false,
411 /// Restore the flags for the current scope to what they were before this
424 // If we still have scopes active, delete the scope tree.
428 // Free the scope cache.
453 // Create the translation unit scope. Install it as the current scope.
454 assert(getCurScope() == nullptr && "A scope is already active?");
455 EnterScope(Scope::DeclScope);
938 // Must temporarily exit the objective-c container scope for
939 // parsing c constructs and re-enter objc container scope
1025 ParseScope BodyScope(this, Scope::FnScope|Scope::DeclScope);
1026 Scope *ParentScope = getCurScope()->getParent();
1049 ParseScope BodyScope(this, Scope::FnScope|Scope::DeclScope);
1050 Scope *ParentScope = getCurScope()->getParent();
1066 // Enter a scope for the function body.
1067 ParseScope BodyScope(this, Scope::FnScope|Scope::DeclScope);
1143 // Late attributes are parsed in the same scope as the function body.
1178 // Enter function-declaration scope, limiting any declarators to the
1179 // function prototype scope, including parameter declarators.
1180 ParseScope PrototypeScope(this, Scope::FunctionPrototypeScope |
1181 Scope::FunctionDeclarationScope | Scope::DeclScope);
1365 // cached) and use an annotation scope token for current token.
1382 /// form a type, scope or primary expression annotation, or replace the token
1427 // after a scope specifier, because in general we can't recover from typos
1429 // jump back into scope specifier parsing).
1516 // Unable to classify the name, but maybe we can annotate a scope specifier.
1534 /// typename (possibly qualified in C++) or a C++ scope specifier not followed
1536 /// with a single annotation token representing the typename or C++ scope
1538 /// This simplifies handling of C++ scope specifiers and allows efficient
1560 "Cannot be a type or scope token!");
1653 // Remembers whether the token was originally a scope annotation.
1665 /// \brief Try to annotate a type or scope token, having already parsed an
1666 /// optional scope specifier. \p IsNewScope should be \c true unless the scope
1723 // them). If the identifier is not a type, then it can't be scope either,
1754 // push that token back into the stream and complete the C++ scope
1773 // A C++ scope specifier that isn't followed by a typename.
1779 /// annotates C++ scope specifiers and template-ids. This returns
1790 "Cannot be a type or scope token!");
1833 for (Scope *S = getCurScope(); S; S = S->getParent()) {
1834 if (S->getFlags() & Scope::FnScope) {
1841 if (S->getFlags() & Scope::ClassScope) {