Changes in / [046959b:242f705]
- Location:
- src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Common/ScopedMap.h
r046959b r242f705 33 33 struct Scope { 34 34 MapType map; 35 Note note; 36 37 template<typename N> 38 Scope(N&& n) : map(), note(std::forward<N>(n)) {} 39 40 Scope() = default; 41 Scope(const Scope&) = default; 42 Scope(Scope&&) = default; 43 Scope& operator= (const Scope&) = default; 44 Scope& operator= (Scope&&) = default; 35 Note note; 45 36 }; 46 37 typedef std::vector< Scope > ScopeList; … … 219 210 } 220 211 221 // Starts a new scope with the given note222 template<typename N>223 void beginScope( N&& n ) {224 scopes.emplace_back( std::forward<N>(n) );225 }226 227 212 /// Ends a scope; invalidates any iterators pointing to elements of that scope 228 213 void endScope() { … … 232 217 233 218 /// Default constructor initializes with one scope 234 ScopedMap() : scopes() { beginScope(); } 235 236 /// Constructs with a given note on the outermost scope 237 template<typename N> 238 ScopedMap( N&& n ) : scopes() { beginScope(std::forward<N>(n)); } 219 ScopedMap() { beginScope(); } 239 220 240 221 iterator begin() { return iterator(scopes, scopes.back().map.begin(), currentScope()).next_valid(); } -
src/Parser/TypedefTable.cc
r046959b r242f705 91 91 92 92 void TypedefTable::enterScope() { 93 kindTable.beginScope( 0);93 kindTable.beginScope(); 94 94 debugPrint( cerr << "Entering scope " << kindTable.currentScope() << endl; print() ); 95 95 } // TypedefTable::enterScope -
src/Parser/TypedefTable.h
r046959b r242f705 25 25 typedef ScopedMap< std::string, int, int > KindTable; 26 26 KindTable kindTable; 27 unsigned int level ;27 unsigned int level = 0; 28 28 public: 29 TypedefTable() : kindTable{0}, level{0} {}30 29 ~TypedefTable(); 31 30
Note: See TracChangeset
for help on using the changeset viewer.