Lines Matching defs:LocalScope

207 /// LocalScope - Node in tree of local scopes created for C++ implicit
215 /// LocalScope object using CFGBuilder::ScopePos as link to previous scope
226 /// LocalScope can break this assumption),
228 class LocalScope {
235 const LocalScope* Scope = nullptr;
249 const_iterator(const LocalScope& S, unsigned I)
318 LocalScope(BumpVectorContext ctx, const_iterator P)
334 int LocalScope::const_iterator::distance(LocalScope::const_iterator L) {
351 LocalScope::const_iterator
352 LocalScope::const_iterator::shared_parent(LocalScope::const_iterator L) {
366 llvm::SmallDenseMap<const LocalScope *, unsigned, 4> ScopesOfL;
390 /// LocalScope::const_iterator that specifies position in LocalScope graph.
393 LocalScope::const_iterator scopePosition;
396 BlockScopePosPair(CFGBlock *b, LocalScope::const_iterator scopePos)
511 LocalScope::const_iterator ScopePos;
772 void addAutomaticObjHandling(LocalScope::const_iterator B,
773 LocalScope::const_iterator E, Stmt *S);
774 void addAutomaticObjDestruction(LocalScope::const_iterator B,
775 LocalScope::const_iterator E, Stmt *S);
776 void addScopeExitHandling(LocalScope::const_iterator B,
777 LocalScope::const_iterator E, Stmt *S);
779 void addScopeChangesHandling(LocalScope::const_iterator SrcPos,
780 LocalScope::const_iterator DstPos,
782 CFGBlock *createScopeChangesHandlingBlock(LocalScope::const_iterator SrcPos,
784 LocalScope::const_iterator DstPost,
788 LocalScope* createOrReuseLocalScope(LocalScope* Scope);
791 LocalScope* addLocalScopeForDeclStmt(DeclStmt *DS,
792 LocalScope* Scope = nullptr);
793 LocalScope* addLocalScopeForVarDecl(VarDecl *VD, LocalScope* Scope = nullptr);
1817 void CFGBuilder::addAutomaticObjHandling(LocalScope::const_iterator B,
1818 LocalScope::const_iterator E,
1834 SmallVector<LocalScope::const_iterator, 10> LocalScopeEndMarkers;
1836 for (LocalScope::const_iterator I = B; I != E; ++I) {
1857 void CFGBuilder::addAutomaticObjDestruction(LocalScope::const_iterator B,
1858 LocalScope::const_iterator E,
1908 void CFGBuilder::addScopeExitHandling(LocalScope::const_iterator B,
1909 LocalScope::const_iterator E, Stmt *S) {
1946 void CFGBuilder::addScopeChangesHandling(LocalScope::const_iterator SrcPos,
1947 LocalScope::const_iterator DstPos,
1960 LocalScope::const_iterator BasePos = SrcPos.shared_parent(DstPos);
1964 for (LocalScope::const_iterator I = DstPos; I != BasePos; ++I)
1980 LocalScope::const_iterator SrcPos, CFGBlock *SrcBlk,
1981 LocalScope::const_iterator DstPos, CFGBlock *DstBlk) {
2055 /// createOrReuseLocalScope - If Scope is NULL create new LocalScope. Either
2056 /// way return valid LocalScope object.
2057 LocalScope* CFGBuilder::createOrReuseLocalScope(LocalScope* Scope) {
2061 return new (alloc) LocalScope(BumpVectorContext(alloc), ScopePos);
2064 /// addLocalScopeForStmt - Add LocalScope to local scopes tree for statement
2071 LocalScope *Scope = nullptr;
2089 /// addLocalScopeForDeclStmt - Add LocalScope for declaration statement. Will
2091 LocalScope* CFGBuilder::addLocalScopeForDeclStmt(DeclStmt *DS,
2092 LocalScope* Scope) {
2147 /// addLocalScopeForVarDecl - Add LocalScope for variable declaration. It will
2150 LocalScope* CFGBuilder::addLocalScopeForVarDecl(VarDecl *VD,
2151 LocalScope* Scope) {
2176 LocalScope::const_iterator scopeBeginPos = ScopePos;
2810 LocalScope::const_iterator scopeBeginPos = ScopePos;
3219 addAutomaticObjHandling(ScopePos, LocalScope::const_iterator(), S);
3507 LocalScope::const_iterator LoopBeginScopePos = ScopePos;
3511 LocalScope::const_iterator ContinueScopePos = ScopePos;
3866 LocalScope::const_iterator LoopBeginScopePos = ScopePos;
4633 LocalScope::const_iterator BeginScopePos = ScopePos;
4691 LocalScope::const_iterator ContinueScopePos = ScopePos;