Changeset a2d4d1c for src/ResolvExpr
- Timestamp:
- Sep 26, 2017, 10:15:38 AM (8 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, resolv-new, stuck-waitfor-destruct, with_gc
- Children:
- 19c43b7
- Parents:
- 4dfa562 (diff), a139c11 (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. - Location:
- src/ResolvExpr
- Files:
-
- 3 edited
-
Resolver.cc (modified) (1 diff)
-
Resolver.h (modified) (1 diff)
-
TypeEnvironment.cc (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/Resolver.cc
r4dfa562 ra2d4d1c 95 95 PassVisitor<Resolver> resolver; 96 96 acceptAll( translationUnit, resolver ); 97 } 98 99 void resolveDecl( Declaration * decl, const SymTab::Indexer &indexer ) { 100 PassVisitor<Resolver> resolver( indexer ); 101 maybeAccept( decl, resolver ); 97 102 } 98 103 -
src/ResolvExpr/Resolver.h
r4dfa562 ra2d4d1c 29 29 /// Checks types and binds syntactic constructs to typed representations 30 30 void resolve( std::list< Declaration * > translationUnit ); 31 Expression * resolveInVoidContext( Expression *expr , const SymTab::Indexer &indexer ); 32 Expression * findVoidExpression ( Expression *untyped, const SymTab::Indexer &indexer ); 31 void resolveDecl( Declaration *, const SymTab::Indexer &indexer ); 32 Expression *resolveInVoidContext( Expression *expr, const SymTab::Indexer &indexer ); 33 Expression *findVoidExpression( Expression *untyped, const SymTab::Indexer &indexer ); 33 34 Expression * findSingleExpression( Expression *untyped, const SymTab::Indexer &indexer ); 34 35 void resolveCtorInit( ConstructorInit * ctorInit, const SymTab::Indexer & indexer ); -
src/ResolvExpr/TypeEnvironment.cc
r4dfa562 ra2d4d1c 123 123 for ( std::list< EqvClass >::const_iterator theClass = env.begin(); theClass != env.end(); ++theClass ) { 124 124 for ( std::set< std::string >::const_iterator theVar = theClass->vars.begin(); theVar != theClass->vars.end(); ++theVar ) { 125 /// std::c out<< "adding " << *theVar;125 /// std::cerr << "adding " << *theVar; 126 126 if ( theClass->type ) { 127 /// std::c out<< " bound to ";128 /// theClass->type->print( std::c out);129 /// std::c out<< std::endl;127 /// std::cerr << " bound to "; 128 /// theClass->type->print( std::cerr ); 129 /// std::cerr << std::endl; 130 130 sub.add( *theVar, theClass->type ); 131 131 } else if ( theVar != theClass->vars.begin() ) { 132 132 TypeInstType *newTypeInst = new TypeInstType( Type::Qualifiers(), *theClass->vars.begin(), theClass->data.kind == TypeDecl::Ftype ); 133 /// std::c out<< " bound to variable " << *theClass->vars.begin() << std::endl;133 /// std::cerr << " bound to variable " << *theClass->vars.begin() << std::endl; 134 134 sub.add( *theVar, newTypeInst ); 135 135 delete newTypeInst;
Note:
See TracChangeset
for help on using the changeset viewer.