Changes in src/ResolvExpr/Alternative.cc [50377a4:ea6332d]
- File:
-
- 1 edited
-
src/ResolvExpr/Alternative.cc (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/Alternative.cc
r50377a4 rea6332d 34 34 : cost( cost ), cvtCost( cvtCost ), expr( expr ), env( env ) {} 35 35 36 Alternative::Alternative( const Alternative &other ) : cost( other.cost ), cvtCost( other.cvtCost ), expr( maybeClone( other.expr ) ), env( other.env ) { 36 Alternative::Alternative( const Alternative &other ) { 37 initialize( other, *this ); 37 38 } 38 39 39 40 Alternative &Alternative::operator=( const Alternative &other ) { 40 41 if ( &other == this ) return *this; 41 delete expr; 42 cost = other.cost; 43 cvtCost = other.cvtCost; 44 expr = maybeClone( other.expr ); 45 env = other.env; 42 initialize( other, *this ); 46 43 return *this; 47 44 } … … 62 59 } 63 60 61 void Alternative::initialize( const Alternative &src, Alternative &dest ) { 62 dest.cost = src.cost; 63 dest.cvtCost = src.cvtCost; 64 dest.expr = maybeClone( src.expr ); 65 dest.env = src.env; 66 } 67 64 68 Alternative::~Alternative() { 65 69 delete expr; 66 70 } 67 71 68 void Alternative::print( std::ostream &os, Indenterindent ) const {69 os << "Cost " << cost << ": ";72 void Alternative::print( std::ostream &os, int indent ) const { 73 os << std::string( indent, ' ' ) << "Cost " << cost << ": "; 70 74 if ( expr ) { 71 expr->print( os, indent +1);72 os << std::endl << indent <<"(types:" << std::endl;73 os << indent+1;74 expr-> result->print( os, indent+1);75 os << std::endl << indent <<")" << std::endl;75 expr->print( os, indent ); 76 os << "(types:" << std::endl; 77 os << std::string( indent+4, ' ' ); 78 expr->get_result()->print( os, indent + 4 ); 79 os << std::endl << ")" << std::endl; 76 80 } else { 77 81 os << "Null expression!" << std::endl; 78 82 } // if 79 os << indent<< "Environment: ";80 env.print( os, indent+ 1);83 os << std::string( indent, ' ' ) << "Environment: "; 84 env.print( os, indent+2 ); 81 85 os << std::endl; 82 86 }
Note:
See TracChangeset
for help on using the changeset viewer.