Changeset 04cdd9b for src/Parser/InitializerNode.cc
- Timestamp:
- Aug 19, 2016, 2:42:04 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, 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:
- e85a8631
- Parents:
- 03da511 (diff), ac71a86 (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/Parser/InitializerNode.cc
r03da511 r04cdd9b 10 10 // Created On : Sat May 16 13:20:24 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jul 4 15:37:15201613 // Update Count : 1512 // Last Modified On : Mon Aug 15 18:27:02 2016 13 // Update Count : 20 14 14 // 15 15 … … 25 25 : expr( _expr ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) { 26 26 if ( aggrp ) 27 kids = dynamic_cast< InitializerNode * >( get_link() );27 kids = dynamic_cast< InitializerNode * >( get_next() ); 28 28 29 29 if ( kids != 0 ) 30 set_l ink( 0 );30 set_last( 0 ); 31 31 } 32 32 … … 34 34 : expr( 0 ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) { 35 35 if ( init != 0 ) 36 set_l ink(init);36 set_last( init ); 37 37 38 38 if ( aggrp ) 39 kids = dynamic_cast< InitializerNode * >( get_link() );39 kids = dynamic_cast< InitializerNode * >( get_next() ); 40 40 41 41 if ( kids != 0 ) … … 58 58 while ( curdes != 0) { 59 59 curdes->printOneLine(os); 60 curdes = (ExpressionNode *)(curdes->get_ link());60 curdes = (ExpressionNode *)(curdes->get_next()); 61 61 if ( curdes ) os << ", "; 62 62 } // while … … 72 72 73 73 InitializerNode *moreInit; 74 if ( get_ link() != 0 && ((moreInit = dynamic_cast< InitializerNode * >( get_link() ) ) != 0) )74 if ( get_next() != 0 && ((moreInit = dynamic_cast< InitializerNode * >( get_next() ) ) != 0) ) 75 75 moreInit->printOneLine( os ); 76 76 } … … 82 82 //assert( next_init() != 0 ); 83 83 84 std::list< Initializer * > initlist;85 buildList< Initializer, InitializerNode>( next_init(), initlist );84 std::list< Initializer * > initlist; 85 buildList< Initializer, InitializerNode >( next_init(), initlist ); 86 86 87 std::list< Expression * > designlist;87 std::list< Expression * > designlist; 88 88 89 89 if ( designator != 0 ) { 90 buildList< Expression, ExpressionNode>( designator, designlist );90 buildList< Expression, ExpressionNode >( designator, designlist ); 91 91 } // if 92 92 93 93 return new ListInit( initlist, designlist, maybeConstructed ); 94 94 } else { 95 std::list< Expression * > designators;95 std::list< Expression * > designators; 96 96 97 97 if ( designator != 0 ) 98 buildList< Expression, ExpressionNode>( designator, designators );98 buildList< Expression, ExpressionNode >( designator, designators ); 99 99 100 100 if ( get_expression() != 0) 101 return new SingleInit( maybeBuild< Expression>( get_expression() ), designators, maybeConstructed );101 return new SingleInit( maybeBuild< Expression >( get_expression() ), designators, maybeConstructed ); 102 102 } // if 103 103
Note:
See TracChangeset
for help on using the changeset viewer.