Changeset db4ecc5 for src/ResolvExpr
- Timestamp:
- Apr 14, 2016, 3:22:42 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 70a06f6
- Parents:
- 7eabc25
- Location:
- src/ResolvExpr
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/Resolver.cc
r7eabc25 rdb4ecc5 10 10 // Created On : Sun May 17 12:17:01 2015 11 11 // Last Modified By : Rob Schluntz 12 // Last Modified On : Mon Apr 04 17:11:54201612 // Last Modified On : Thu Apr 14 11:18:12 2016 13 13 // Update Count : 203 14 14 // … … 61 61 void resolveSingleAggrInit( Declaration *, InitIterator &, InitIterator & ); 62 62 void fallbackInit( ConstructorInit * ctorInit ); 63 64 63 std::list< Type * > functionReturn; 65 64 Type *initContext; … … 84 83 } 85 84 85 86 86 namespace { 87 87 void finishExpr( Expression *expr, const TypeEnvironment &env ) { … … 89 89 env.makeSubstitution( *expr->get_env() ); 90 90 } 91 92 Expression *findVoidExpression( Expression *untyped, const SymTab::Indexer &indexer ) { 93 global_renamer.reset(); 94 TypeEnvironment env; 95 Expression *newExpr = resolveInVoidContext( untyped, indexer, env ); 96 finishExpr( newExpr, env ); 97 return newExpr; 98 } 99 91 } // namespace 92 93 Expression *findVoidExpression( Expression *untyped, const SymTab::Indexer &indexer ) { 94 global_renamer.reset(); 95 TypeEnvironment env; 96 Expression *newExpr = resolveInVoidContext( untyped, indexer, env ); 97 finishExpr( newExpr, env ); 98 return newExpr; 99 } 100 101 namespace { 100 102 Expression *findSingleExpression( Expression *untyped, const SymTab::Indexer &indexer ) { 101 103 TypeEnvironment env; … … 484 486 485 487 void Resolver::visit( ConstructorInit *ctorInit ) { 486 TypeEnvironment env;487 488 try { 488 489 maybeAccept( ctorInit->get_ctor(), *this ); -
src/ResolvExpr/Resolver.h
r7eabc25 rdb4ecc5 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // Resolver.h -- 7 // Resolver.h -- 8 8 // 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 12:18:34 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sun May 17 12:19:32 201511 // Last Modified By : Rob Schluntz 12 // Last Modified On : Thu Apr 14 15:06:53 2016 13 13 // Update Count : 2 14 14 // … … 24 24 void resolve( std::list< Declaration * > translationUnit ); 25 25 Expression *resolveInVoidContext( Expression *expr, const SymTab::Indexer &indexer ); 26 Expression *findVoidExpression( Expression *untyped, const SymTab::Indexer &indexer ); 26 27 } // namespace ResolvExpr 27 28
Note: See TracChangeset
for help on using the changeset viewer.