Changes in src/SynTree/Expression.cc [630a82a:afc1045]
- File:
-
- 1 edited
-
src/SynTree/Expression.cc (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Expression.cc
r630a82a rafc1045 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" … … 212 211 213 212 os << " of "; 213 214 if ( type ) { 215 type->print(os, indent + 2); 216 } else { 217 os << "<NULL>"; 218 } 219 220 os << std::endl; 221 Expression::print( os, indent ); 222 } 223 224 OffsetPackExpr::OffsetPackExpr( StructInstType *type_, Expression *aname_ ) : Expression( aname_ ), type( type_ ) { 225 add_result( new ArrayType( Type::Qualifiers(), new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ), 0, false, false ) ); 226 } 227 228 OffsetPackExpr::OffsetPackExpr( const OffsetPackExpr &other ) : Expression( other ), type( maybeClone( other.type ) ) {} 229 230 OffsetPackExpr::~OffsetPackExpr() { delete type; } 231 232 void OffsetPackExpr::print( std::ostream &os, int indent ) const { 233 os << std::string( indent, ' ' ) << "Offset pack expression on "; 214 234 215 235 if ( type ) { … … 444 464 445 465 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 466 464 467 std::ostream & operator<<( std::ostream & out, Expression * expr ) {
Note:
See TracChangeset
for help on using the changeset viewer.