Changes in src/SynTree/Expression.cc [68195a6:3de176d]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Expression.cc
r68195a6 r3de176d 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 cost 92 93 // // enumerators are not lvalues 94 // 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 90 104 set_result( type ); 91 105 } … … 324 338 return makeSub( refType->get_base() ); 325 339 } else if ( StructInstType * aggInst = dynamic_cast< StructInstType * >( t ) ) { 326 return TypeSubstitution( aggInst->get_baseParameters()->begin(), aggInst->get_baseParameters()->end(), aggInst-> get_parameters().begin() );340 return TypeSubstitution( aggInst->get_baseParameters()->begin(), aggInst->get_baseParameters()->end(), aggInst->parameters.begin() ); 327 341 } else if ( UnionInstType * aggInst = dynamic_cast< UnionInstType * >( t ) ) { 328 return TypeSubstitution( aggInst->get_baseParameters()->begin(), aggInst->get_baseParameters()->end(), aggInst-> get_parameters().begin() );342 return TypeSubstitution( aggInst->get_baseParameters()->begin(), aggInst->get_baseParameters()->end(), aggInst->parameters.begin() ); 329 343 } else { 330 344 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.