Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Expression.cc

    r3be261a r630a82a  
    99// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed Dec 09 14:10:29 2015
    13 // Update Count     : 34
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Fri Apr  8 17:16:23 2016
     13// Update Count     : 40
    1414//
    1515
     
    2222
    2323#include "Type.h"
     24#include "Initializer.h"
    2425#include "Expression.h"
    2526#include "Declaration.h"
     
    443444
    444445
     446CompoundLiteralExpr::CompoundLiteralExpr( Type * type, Initializer * initializer ) : type( type ), initializer( initializer ) {
     447        add_result( type->clone() );
     448}
     449
     450CompoundLiteralExpr::CompoundLiteralExpr( const CompoundLiteralExpr &other ) : Expression( other ), type( maybeClone( other.type ) ), initializer( maybeClone( other.initializer ) ) {}
     451
     452CompoundLiteralExpr::~CompoundLiteralExpr() {
     453        delete initializer;
     454        delete type;
     455}
     456
     457void 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
    445463
    446464std::ostream & operator<<( std::ostream & out, Expression * expr ) {
Note: See TracChangeset for help on using the changeset viewer.