Changes in src/SynTree/Expression.cc [630a82a:2a4b088]
- File:
-
- 1 edited
-
src/SynTree/Expression.cc (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Expression.cc
r630a82a r2a4b088 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // Expression.cc -- 7 // Expression.cc -- 8 8 // 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Fri Apr 8 17:16:23 201613 // Update Count : 4011 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Dec 09 14:10:29 2015 13 // Update Count : 34 14 14 // 15 15 … … 22 22 23 23 #include "Type.h" 24 #include "Initializer.h"25 24 #include "Expression.h" 26 25 #include "Declaration.h" … … 423 422 } 424 423 425 AsmExpr::AsmExpr( const AsmExpr & other ) : inout( maybeClone( other.inout ) ), constraint( maybeClone( other.constraint ) ), operand( maybeClone( other.operand ) ) {}426 427 428 424 void AsmExpr::print( std::ostream &os, int indent ) const { 429 425 os << "Asm Expression: " << std::endl; … … 433 429 } 434 430 435 UntypedValofExpr::UntypedValofExpr( const UntypedValofExpr & other ) : Expression( other ), body ( maybeClone( other.body ) ) {}436 437 UntypedValofExpr::~UntypedValofExpr() { delete body; }438 439 431 void UntypedValofExpr::print( std::ostream &os, int indent ) const { 440 432 os << std::string( indent, ' ' ) << "Valof Expression: " << std::endl; … … 442 434 get_body()->print( os, indent + 2 ); 443 435 } 444 445 446 CompoundLiteralExpr::CompoundLiteralExpr( Type * type, Initializer * initializer ) : type( type ), initializer( initializer ) {447 add_result( type->clone() );448 }449 450 CompoundLiteralExpr::CompoundLiteralExpr( const CompoundLiteralExpr &other ) : Expression( other ), type( maybeClone( other.type ) ), initializer( maybeClone( other.initializer ) ) {}451 452 CompoundLiteralExpr::~CompoundLiteralExpr() {453 delete initializer;454 delete type;455 }456 457 void CompoundLiteralExpr::print( std::ostream &os, int indent ) const {458 os << "Compound Literal Expression: " << std::endl;459 if ( type ) type->print( os, indent + 2 );460 if ( initializer ) initializer->print( os, indent + 2 );461 }462 463 436 464 437 std::ostream & operator<<( std::ostream & out, Expression * expr ) {
Note:
See TracChangeset
for help on using the changeset viewer.