Changes in src/SynTree/Expression.cc [9a705dc8:c0bf94e]
- File:
-
- 1 edited
-
src/SynTree/Expression.cc (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Expression.cc
r9a705dc8 rc0bf94e 299 299 } 300 300 301 KeywordCastExpr::KeywordCastExpr( Expression *arg, Target target ) : Expression(), arg(arg), target( target ) {302 }303 304 KeywordCastExpr::KeywordCastExpr( const KeywordCastExpr &other ) : Expression( other ), arg( maybeClone( other.arg ) ), target( other.target ) {305 }306 307 KeywordCastExpr::~KeywordCastExpr() {308 delete arg;309 }310 311 const std::string & KeywordCastExpr::targetString() const {312 static const std::string targetStrs[] = {313 "coroutine", "thread", "monitor"314 };315 static_assert(316 (sizeof(targetStrs) / sizeof(targetStrs[0])) == ((unsigned long)NUMBER_OF_TARGETS),317 "Each KeywordCastExpr::Target should have a corresponding string representation"318 );319 return targetStrs[(unsigned long)target];320 }321 322 void KeywordCastExpr::print( std::ostream &os, Indenter indent ) const {323 os << "Keyword Cast of:" << std::endl << indent+1;324 arg->print(os, indent+1);325 os << std::endl << indent << "... to: ";326 os << targetString();327 Expression::print( os, indent );328 }329 330 301 VirtualCastExpr::VirtualCastExpr( Expression *arg_, Type *toType ) : Expression(), arg(arg_) { 331 302 set_result(toType);
Note:
See TracChangeset
for help on using the changeset viewer.