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