Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Expression.h

    r0e315a5 r20de6fb  
    6262        InferredParams inferParams;       ///< Post-resolution inferred parameter slots
    6363        std::vector<UniqueId> resnSlots;  ///< Pre-resolution inferred parameter slots
    64 
     64       
    6565        // xxx - should turn inferParams+resnSlots into a union to save some memory
    6666
     
    593593class ImplicitCopyCtorExpr : public Expression {
    594594public:
    595         ApplicationExpr * callExpr = nullptr;
     595        ApplicationExpr * callExpr;
     596        std::list< ObjectDecl * > tempDecls;
     597        std::list< ObjectDecl * > returnDecls;
     598        std::list< Expression * > dtors;
    596599
    597600        ImplicitCopyCtorExpr( ApplicationExpr * callExpr );
    598601        ImplicitCopyCtorExpr( const ImplicitCopyCtorExpr & other );
    599602        virtual ~ImplicitCopyCtorExpr();
     603
     604        ApplicationExpr * get_callExpr() const { return callExpr; }
     605        void set_callExpr( ApplicationExpr * newValue ) { callExpr = newValue; }
     606
     607        std::list< ObjectDecl * > & get_tempDecls() { return tempDecls; }
     608        std::list< ObjectDecl * > & get_returnDecls() { return returnDecls; }
     609        std::list< Expression * > & get_dtors() { return dtors; }
    600610
    601611        virtual ImplicitCopyCtorExpr * clone() const { return new ImplicitCopyCtorExpr( * this ); }
     
    743753        std::list< ObjectDecl * > returnDecls; // return variable(s) for stmt expression
    744754        std::list< Expression * > dtors; // destructor(s) for return variable(s)
    745 
    746         // readonly
    747         ExprStmt * resultExpr = nullptr;
    748755
    749756        StmtExpr( CompoundStmt * statements );
Note: See TracChangeset for help on using the changeset viewer.