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;
773 void addAutomaticObjHandling(LocalScope::const_iterator B,
774 LocalScope::const_iterator E, Stmt *S);
775 void addAutomaticObjDestruction(LocalScope::const_iterator B,
776 LocalScope::const_iterator E, Stmt *S);
777 void addScopeExitHandling(LocalScope::const_iterator B,
778 LocalScope::const_iterator E, Stmt *S);
780 void addScopeChangesHandling(LocalScope::const_iterator SrcPos,
781 LocalScope::const_iterator DstPos,
783 CFGBlock *createScopeChangesHandlingBlock(LocalScope::const_iterator SrcPos,
785 LocalScope::const_iterator DstPost,
789 LocalScope* createOrReuseLocalScope(LocalScope* Scope);
792 LocalScope* addLocalScopeForDeclStmt(DeclStmt *DS,
793 LocalScope* Scope = nullptr);
794 LocalScope* addLocalScopeForVarDecl(VarDecl *VD, LocalScope* Scope = nullptr);
1824 void CFGBuilder::addAutomaticObjHandling(LocalScope::const_iterator B,
1825 LocalScope::const_iterator E,
1841 SmallVector<LocalScope::const_iterator, 10> LocalScopeEndMarkers;
1843 for (LocalScope::const_iterator I = B; I != E; ++I) {
1864 void CFGBuilder::addAutomaticObjDestruction(LocalScope::const_iterator B,
1865 LocalScope::const_iterator E,
1915 void CFGBuilder::addScopeExitHandling(LocalScope::const_iterator B,
1916 LocalScope::const_iterator E, Stmt *S) {
1953 void CFGBuilder::addScopeChangesHandling(LocalScope::const_iterator SrcPos,
1954 LocalScope::const_iterator DstPos,
1967 LocalScope::const_iterator BasePos = SrcPos.shared_parent(DstPos);
1971 for (LocalScope::const_iterator I = DstPos; I != BasePos; ++I)
1987 LocalScope::const_iterator SrcPos, CFGBlock *SrcBlk,
1988 LocalScope::const_iterator DstPos, CFGBlock *DstBlk) {
2062 /// createOrReuseLocalScope - If Scope is NULL create new LocalScope. Either
2063 /// way return valid LocalScope object.
2064 LocalScope* CFGBuilder::createOrReuseLocalScope(LocalScope* Scope) {
2068 return new (alloc) LocalScope(BumpVectorContext(alloc), ScopePos);
2071 /// addLocalScopeForStmt - Add LocalScope to local scopes tree for statement
2078 LocalScope *Scope = nullptr;
2096 /// addLocalScopeForDeclStmt - Add LocalScope for declaration statement. Will
2098 LocalScope* CFGBuilder::addLocalScopeForDeclStmt(DeclStmt *DS,
2099 LocalScope* Scope) {
2154 /// addLocalScopeForVarDecl - Add LocalScope for variable declaration. It will
2157 LocalScope* CFGBuilder::addLocalScopeForVarDecl(VarDecl *VD,
2158 LocalScope* Scope) {
2183 LocalScope::const_iterator scopeBeginPos = ScopePos;
2817 LocalScope::const_iterator scopeBeginPos = ScopePos;
3229 addAutomaticObjHandling(ScopePos, LocalScope::const_iterator(), S);
3517 LocalScope::const_iterator LoopBeginScopePos = ScopePos;
3521 LocalScope::const_iterator ContinueScopePos = ScopePos;
3876 LocalScope::const_iterator LoopBeginScopePos = ScopePos;
4643 LocalScope::const_iterator BeginScopePos = ScopePos;
4701 LocalScope::const_iterator ContinueScopePos = ScopePos;