Changes in src/GenPoly/Box.cc [2a7b3ca:0a81c3f]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/GenPoly/Box.cc
r2a7b3ca r0a81c3f 758 758 // if the argument's type is polymorphic, we don't need to box again! 759 759 return; 760 } else if ( arg->get_result()->get_lvalue() ) { 760 } else if ( arg->get_result()->get_lvalue() ) { // xxx - is this still right?? 761 // xxx - dynamic_cast<ReferenceType *>( arg->get_result() )?? 761 762 // VariableExpr and MemberExpr are lvalues; need to check this isn't coming from the second arg of a comma expression though (not an lvalue) 762 763 // xxx - need to test that this code is still reachable … … 1036 1037 assert( appExpr->has_result() ); 1037 1038 assert( ! appExpr->get_args().empty() ); 1038 if ( isPolyType( appExpr->get_result(), scopeTyVars, env ) ) { 1039 if ( isPolyPtr( appExpr->get_result(), scopeTyVars, env ) ) { // dereference returns a reference type 1040 // remove dereference from polymorphic types since they are boxed. 1039 1041 Expression *ret = appExpr->get_args().front(); 1040 1042 delete ret->get_result();
Note:
See TracChangeset
for help on using the changeset viewer.