Changeset b21c77a for src/ResolvExpr/TypeEnvironment.h
- Timestamp:
- Jun 29, 2018, 4:14:15 PM (6 years ago)
- Branches:
- new-env
- Children:
- 184557e
- Parents:
- 97397a26 (diff), 28f3a19 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/TypeEnvironment.h
r97397a26 rb21c77a 10 10 // Created On : Sun May 17 12:24:58 2015 11 11 // Last Modified By : Aaron B. Moss 12 // Last Modified On : Wed Jun 13 16:31:00 201813 // Update Count : 412 // Last Modified On : Fri Jun 29 16:00:00 2018 13 // Update Count : 5 14 14 // 15 15 … … 24 24 #include <utility> // for pair 25 25 #include <vector> // for vector 26 27 #include "WidenMode.h" // for WidenMode 26 28 27 29 #include "Common/InternedString.h" // for interned_string … … 95 97 96 98 void initialize( const EqvClass &src, EqvClass &dest ); 99 void initialize( const EqvClass &src, EqvClass &dest, const Type *ty ); 97 100 EqvClass(); 98 EqvClass( std::vector<interned_string>&& vars, BoundType&& bound );99 101 EqvClass( const EqvClass &other ); 102 EqvClass( const EqvClass &other, const Type *ty ); 103 EqvClass( EqvClass &&other ); 100 104 EqvClass &operator=( const EqvClass &other ); 105 EqvClass &operator=( EqvClass &&other ); 101 106 void print( std::ostream &os, Indenter indent = {} ) const; 102 }; 103 #endif 104 107 108 /// Takes ownership of `ty`, freeing old `type` 109 void set_type(Type* ty); 110 }; 111 #endif 112 105 113 class TypeEnvironment; 106 114 … … 206 214 WidenMode widenMode, const SymTab::Indexer& indexer ); 207 215 #if !1 208 void add( const EqvClass &eqvClass ); 209 void add( EqvClass &&eqvClass ); 216 private: 217 void add( EqvClass &&eqvClass ); 218 public: 210 219 void add( const Type::ForallList &tyDecls ); 211 220 void add( const TypeSubstitution & sub ); … … 226 235 /// and extracts open variables. 227 236 void addActual( const TypeEnvironment& actualEnv, OpenVarSet& openVars ); 237 238 /// Disallows widening for all bindings in the environment 239 void forbidWidening(); 228 240 #endif 229 241 230 242 iterator begin() { return { this, bindings->begin() }; } 231 243 iterator end() { return { this, bindings->end() }; } 232 #if 0233 typedef std::list< EqvClass >::const_iterator const_iterator;234 const_iterator begin() const { return env.begin(); }235 const_iterator end() const { return env.end(); }236 #endif237 244 }; 238 245
Note: See TracChangeset
for help on using the changeset viewer.