Changeset b726084 for src/ResolvExpr/Resolver.cc
- Timestamp:
- Nov 9, 2016, 2:51:42 PM (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, with_gc
- Children:
- 30b65d8, d073e3c
- Parents:
- 141b786 (diff), 84118d8 (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/Resolver.cc
r141b786 rb726084 33 33 34 34 namespace ResolvExpr { 35 class Resolver : public SymTab::Indexer {35 class Resolver final : public SymTab::Indexer { 36 36 public: 37 37 Resolver() : SymTab::Indexer( false ) {} 38 Resolver( const SymTab::Indexer & indexer ) : SymTab::Indexer( indexer ) {} 39 40 virtual void visit( FunctionDecl *functionDecl ) ;41 virtual void visit( ObjectDecl * objectDecl );42 virtual void visit( TypeDecl *typeDecl ) ;43 virtual void visit( EnumDecl * enumDecl ) ;44 45 virtual void visit( ArrayType * at ) ;46 virtual void visit( PointerType * at ) ;47 48 virtual void visit( ExprStmt *exprStmt ) ;49 virtual void visit( AsmExpr *asmExpr ) ;50 virtual void visit( AsmStmt *asmStmt ) ;51 virtual void visit( IfStmt *ifStmt ) ;52 virtual void visit( WhileStmt *whileStmt ) ;53 virtual void visit( ForStmt *forStmt ) ;54 virtual void visit( SwitchStmt *switchStmt ) ;55 virtual void visit( CaseStmt *caseStmt ) ;56 virtual void visit( BranchStmt *branchStmt ) ;57 virtual void visit( ReturnStmt *returnStmt ) ;58 59 virtual void visit( SingleInit *singleInit ) ;60 virtual void visit( ListInit *listInit ) ;61 virtual void visit( ConstructorInit *ctorInit ) ;38 39 using SymTab::Indexer::visit; 40 virtual void visit( FunctionDecl *functionDecl ) override; 41 virtual void visit( ObjectDecl *functionDecl ) override; 42 virtual void visit( TypeDecl *typeDecl ) override; 43 virtual void visit( EnumDecl * enumDecl ) override; 44 45 virtual void visit( ArrayType * at ) override; 46 virtual void visit( PointerType * at ) override; 47 48 virtual void visit( ExprStmt *exprStmt ) override; 49 virtual void visit( AsmExpr *asmExpr ) override; 50 virtual void visit( AsmStmt *asmStmt ) override; 51 virtual void visit( IfStmt *ifStmt ) override; 52 virtual void visit( WhileStmt *whileStmt ) override; 53 virtual void visit( ForStmt *forStmt ) override; 54 virtual void visit( SwitchStmt *switchStmt ) override; 55 virtual void visit( CaseStmt *caseStmt ) override; 56 virtual void visit( BranchStmt *branchStmt ) override; 57 virtual void visit( ReturnStmt *returnStmt ) override; 58 59 virtual void visit( SingleInit *singleInit ) override; 60 virtual void visit( ListInit *listInit ) override; 61 virtual void visit( ConstructorInit *ctorInit ) override; 62 62 private: 63 63 typedef std::list< Initializer * >::iterator InitIterator; … … 69 69 void resolveSingleAggrInit( Declaration *, InitIterator &, InitIterator & ); 70 70 void fallbackInit( ConstructorInit * ctorInit ); 71 71 72 Type * functionReturn = nullptr; 72 73 Type *initContext = nullptr; … … 533 534 } 534 535 535 void resolveObject( const SymTab::Indexer & indexer, ObjectDecl * objectDecl ) {536 Resolver resolver( indexer );537 objectDecl->accept( resolver );538 }539 540 536 void Resolver::visit( ConstructorInit *ctorInit ) { 541 537 // xxx - fallback init has been removed => remove fallbackInit function and remove complexity from FixInit and remove C-init from ConstructorInit
Note: See TracChangeset
for help on using the changeset viewer.