Changeset 249d6e6 for src/ResolvExpr/Occurs.cc
- Timestamp:
- Jun 4, 2018, 10:53:34 AM (6 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, with_gc
- Children:
- 1ddbf3b, b429026
- Parents:
- 863c413 (diff), 428bef8 (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/Occurs.cc
r863c413 r249d6e6 38 38 39 39 Occurs::Occurs( std::string varName, const TypeEnvironment & env ) : result( false ), tenv( env ) { 40 EqvClass eqvClass; 41 if ( tenv.lookup( varName, eqvClass ) ) { 42 eqvVars = eqvClass.vars; 40 if ( const EqvClass *eqvClass = tenv.lookup( varName ) ) { 41 eqvVars = eqvClass->vars; 43 42 } else { 44 43 eqvVars.insert( varName ); … … 47 46 48 47 void Occurs::previsit( TypeInstType * typeInst ) { 49 EqvClass eqvClass; 50 /// std::cerr << "searching for vars: "; 48 /// std::cerr << "searching for vars: "; 51 49 /// std::copy( eqvVars.begin(), eqvVars.end(), std::ostream_iterator< std::string >( std::cerr, " " ) ); 52 50 /// std::cerr << std::endl; 53 51 if ( eqvVars.find( typeInst->get_name() ) != eqvVars.end() ) { 54 52 result = true; 55 } else if ( tenv.lookup( typeInst->get_name(), eqvClass) ) {56 if ( eqvClass .type ) {53 } else if ( const EqvClass *eqvClass = tenv.lookup( typeInst->get_name() ) ) { 54 if ( eqvClass->type ) { 57 55 /// std::cerr << typeInst->get_name() << " is bound to"; 58 56 /// eqvClass.type->print( std::cerr ); 59 57 /// std::cerr << std::endl; 60 eqvClass .type->accept( *visitor );58 eqvClass->type->accept( *visitor ); 61 59 } // if 62 60 } // if
Note: See TracChangeset
for help on using the changeset viewer.