Changes in src/SynTree/Expression.cc [4d4e5de:ea6332d]
- File:
-
- 1 edited
-
src/SynTree/Expression.cc (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Expression.cc
r4d4e5de rea6332d 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Mar 30 16:41:13201713 // Update Count : 5 212 // Last Modified On : Tue Jul 25 14:15:47 2017 13 // Update Count : 54 14 14 // 15 15 16 #include <iostream> 17 #include <cassert> 18 #include <list> 19 #include <algorithm> 20 21 #include <iterator> 22 23 #include "Declaration.h" 24 #include "Expression.h" 25 #include "Initializer.h" 26 #include "Statement.h" 27 #include "Type.h" 28 #include "TypeSubstitution.h" 29 #include "VarExprReplacer.h" 30 31 #include "Common/utility.h" 32 #include "Common/PassVisitor.h" 33 34 #include "InitTweak/InitTweak.h" 16 #include "SynTree/Expression.h" 17 18 #include <cassert> // for assert, assertf 19 #include <iostream> // for ostream, operator<<, basic_ostream 20 #include <list> // for list, _List_iterator, list<>::co... 21 22 #include "Common/utility.h" // for maybeClone, cloneAll, deleteAll 23 #include "Declaration.h" // for ObjectDecl, DeclarationWithType 24 #include "Expression.h" // for Expression, ImplicitCopyCtorExpr 25 #include "InitTweak/InitTweak.h" // for getCallArg, getPointerBase 26 #include "Initializer.h" // for Designation, Initializer 27 #include "Statement.h" // for CompoundStmt, ExprStmt, Statement 28 #include "SynTree/BaseSyntaxNode.h" // for BaseSyntaxNode 29 #include "SynTree/Constant.h" // for Constant 30 #include "Type.h" // for Type, BasicType, Type::Qualifiers 31 #include "TypeSubstitution.h" // for TypeSubstitution 35 32 36 33 … … 298 295 if ( result->isVoid() ) { 299 296 os << "nothing"; 297 } else { 298 result->print( os, indent+2 ); 299 } // if 300 os << std::endl; 301 Expression::print( os, indent ); 302 } 303 304 VirtualCastExpr::VirtualCastExpr( Expression *arg_, Type *toType ) : Expression(), arg(arg_) { 305 set_result(toType); 306 } 307 308 VirtualCastExpr::VirtualCastExpr( const VirtualCastExpr &other ) : Expression( other ), arg( maybeClone( other.arg ) ) { 309 } 310 311 VirtualCastExpr::~VirtualCastExpr() { 312 delete arg; 313 } 314 315 void VirtualCastExpr::print( std::ostream &os, int indent ) const { 316 os << "Virtual Cast of:" << std::endl << std::string( indent+2, ' ' ); 317 arg->print(os, indent+2); 318 os << std::endl << std::string( indent, ' ' ) << "to:" << std::endl; 319 os << std::string( indent+2, ' ' ); 320 if ( ! result ) { 321 os << "unknown"; 300 322 } else { 301 323 result->print( os, indent+2 );
Note:
See TracChangeset
for help on using the changeset viewer.