Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Expression.cc

    r62423350 raf5c204a  
    2121#include <iterator>
    2222
     23#include "Type.h"
     24#include "Initializer.h"
     25#include "Expression.h"
    2326#include "Declaration.h"
    24 #include "Expression.h"
    25 #include "Initializer.h"
    2627#include "Statement.h"
    27 #include "Type.h"
    2828#include "TypeSubstitution.h"
    29 #include "VarExprReplacer.h"
    30 
    3129#include "Common/utility.h"
    32 #include "Common/PassVisitor.h"
    33 
    3430#include "InitTweak/InitTweak.h"
    3531
     
    9692
    9793        Declaration *decl = get_var();
     94        // if ( decl != 0) decl->print(os, indent + 2);
    9895        if ( decl != 0) decl->printShort(os, indent + 2);
    9996        os << std::endl;
     
    660657}
    661658
    662 InitAlternative::InitAlternative( Type * type, Designation * designation ) : type( type ), designation( designation ) {}
    663 InitAlternative::InitAlternative( const InitAlternative & other ) : type( maybeClone( other.type ) ), designation( maybeClone( other.designation ) ) {}
    664 InitAlternative::~InitAlternative() {
    665         delete type;
    666         delete designation;
    667 }
    668 
    669 UntypedInitExpr::UntypedInitExpr( Expression * expr, const std::list<InitAlternative> & initAlts ) : expr( expr ), initAlts( initAlts ) {}
    670 UntypedInitExpr::UntypedInitExpr( const UntypedInitExpr & other ) : Expression( other ), expr( maybeClone( other.expr ) ), initAlts( other.initAlts ) {}
    671 UntypedInitExpr::~UntypedInitExpr() {
    672         delete expr;
    673 }
    674 
    675 void UntypedInitExpr::print( std::ostream & os, int indent ) const {
    676         os << "Untyped Init Expression" << std::endl << std::string( indent+2, ' ' );
    677         expr->print( os, indent+2 );
    678         if ( ! initAlts.empty() ) {
    679                 for ( const InitAlternative & alt : initAlts ) {
    680                         os << std::string( indent+2, ' ' ) <<  "InitAlternative: ";
    681                         alt.type->print( os, indent+2 );
    682                         alt.designation->print( os, indent+2 );
    683                 }
    684         }
    685 }
    686 
    687 InitExpr::InitExpr( Expression * expr, Designation * designation ) : expr( expr ), designation( designation ) {
    688         set_result( expr->get_result()->clone() );
    689 }
    690 InitExpr::InitExpr( const InitExpr & other ) : Expression( other ), expr( maybeClone( other.expr ) ), designation( maybeClone( other.designation) ) {}
    691 InitExpr::~InitExpr() {
    692         delete expr;
    693         delete designation;
    694 }
    695 
    696 void InitExpr::print( std::ostream & os, int indent ) const {
    697         os << "Init Expression" << std::endl << std::string( indent+2, ' ' );
    698         expr->print( os, indent+2 );
    699         os << std::string( indent+2, ' ' ) << "with designation: ";
    700         designation->print( os, indent+2 );
    701 }
    702 
    703 
    704659std::ostream & operator<<( std::ostream & out, const Expression * expr ) {
    705660        if ( expr ) {
Note: See TracChangeset for help on using the changeset viewer.