Changes in src/SynTree/Expression.cc [3de176d:68195a6]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Expression.cc
r3de176d r68195a6 88 88 Type * type = var->get_type()->clone(); 89 89 type->set_lvalue( true ); 90 91 // xxx - doesn't quite work yet - get different alternatives with the same cost92 93 // // enumerators are not lvalues94 // if ( EnumInstType * inst = dynamic_cast< EnumInstType * >( var->get_type() ) ) {95 // assert( inst->baseEnum );96 // EnumDecl * decl = inst->baseEnum;97 // for ( Declaration * member : decl->members ) {98 // if ( member == _var ) {99 // type->set_lvalue( false );100 // }101 // }102 // }103 104 90 set_result( type ); 105 91 } … … 338 324 return makeSub( refType->get_base() ); 339 325 } else if ( StructInstType * aggInst = dynamic_cast< StructInstType * >( t ) ) { 340 return TypeSubstitution( aggInst->get_baseParameters()->begin(), aggInst->get_baseParameters()->end(), aggInst-> parameters.begin() );326 return TypeSubstitution( aggInst->get_baseParameters()->begin(), aggInst->get_baseParameters()->end(), aggInst->get_parameters().begin() ); 341 327 } else if ( UnionInstType * aggInst = dynamic_cast< UnionInstType * >( t ) ) { 342 return TypeSubstitution( aggInst->get_baseParameters()->begin(), aggInst->get_baseParameters()->end(), aggInst-> parameters.begin() );328 return TypeSubstitution( aggInst->get_baseParameters()->begin(), aggInst->get_baseParameters()->end(), aggInst->get_parameters().begin() ); 343 329 } else { 344 330 assertf( false, "makeSub expects struct or union type for aggregate, but got: %s", toString( t ).c_str() );
Note: See TracChangeset
for help on using the changeset viewer.