Changes in src/SynTree/TupleExpr.cc [3b58d91:d3b7937]
- File:
-
- 1 edited
-
src/SynTree/TupleExpr.cc (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/TupleExpr.cc
r3b58d91 rd3b7937 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // TupleExpr.cc -- 7 // TupleExpr.cc -- 8 8 // 9 9 // Author : Richard C. Bilson … … 16 16 #include "Expression.h" 17 17 #include "Common/utility.h" 18 #include "Type.h"19 18 20 19 TupleExpr::TupleExpr( Expression *_aname ) : Expression( _aname ) { … … 49 48 } 50 49 51 TupleIndexExpr::TupleIndexExpr( Expression * tuple, unsigned int index ) {52 // TupleType * type = safe_dynamic_cast< TypeType * >( tuple->get_ )53 assert( tuple->get_results().size() >= index );54 add_result( *std::next( tuple->get_results().begin(), index ) );55 }56 57 TupleIndexExpr::TupleIndexExpr( const TupleIndexExpr &other ) : Expression( other ), tuple( other.tuple->clone() ), index( other.index ) {58 }59 60 TupleIndexExpr::~TupleIndexExpr() {61 delete tuple;62 }63 64 void TupleIndexExpr::print( std::ostream &os, int indent ) const {65 os << std::string( indent, ' ' ) << "Tuple Index Expression, with tuple:" << std::endl;66 tuple->print( os, indent+2 );67 os << std::string( indent+2, ' ' ) << "with index: " << index << std::endl;68 Expression::print( os, indent );69 }70 71 MemberTupleExpr::MemberTupleExpr( Expression * member, Expression * aggregate, Expression * _aname ) : Expression( _aname ) {72 cloneAll( member->get_results(), get_results() ); // xxx - ???73 }74 75 MemberTupleExpr::MemberTupleExpr( const MemberTupleExpr &other ) : Expression( other ), member( other.member->clone() ), aggregate( other.aggregate->clone() ) {76 }77 78 MemberTupleExpr::~MemberTupleExpr() {79 delete member;80 delete aggregate;81 }82 83 void MemberTupleExpr::print( std::ostream &os, int indent ) const {84 os << std::string( indent, ' ' ) << "Member Tuple Expression, with aggregate:" << std::endl;85 aggregate->print( os, indent+2 );86 os << std::string( indent+2, ' ' ) << "with member: " << std::endl;87 member->print( os, indent+2 );88 Expression::print( os, indent );89 }90 91 92 50 // Local Variables: // 93 51 // tab-width: 4 //
Note:
See TracChangeset
for help on using the changeset viewer.