Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/TupleExpr.cc

    rb4f8808 rba3706f  
    99// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Wed Aug 14 14:34:00 2019
    13 // Update Count     : 5
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Fri Mar 17 09:42:29 2017
     13// Update Count     : 3
    1414//
    1515
     
    5757}
    5858
    59 bool TupleExpr::get_lvalue() const {
    60         return false;
    61 }
    62 
    6359void TupleExpr::print( std::ostream &os, Indenter indent ) const {
    6460        os << "Tuple:" << std::endl;
     
    7167        assertf( type->size() > index, "TupleIndexExpr index out of bounds: tuple size %d, requested index %d in expr %s", type->size(), index, toString( tuple ).c_str() );
    7268        set_result( (*std::next( type->get_types().begin(), index ))->clone() );
     69        // like MemberExpr, TupleIndexExpr is always an lvalue
     70        get_result()->set_lvalue( true );
    7371}
    7472
     
    7876TupleIndexExpr::~TupleIndexExpr() {
    7977        delete tuple;
    80 }
    81 
    82 bool TupleIndexExpr::get_lvalue() const {
    83         return tuple->get_lvalue();
    8478}
    8579
     
    111105}
    112106
    113 TupleAssignExpr::TupleAssignExpr(
    114         StmtExpr * s )
    115 : Expression(), stmtExpr(s) {
    116 }
    117 
    118 
    119107TupleAssignExpr::~TupleAssignExpr() {
    120108        delete stmtExpr;
Note: See TracChangeset for help on using the changeset viewer.