Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Expression.h

    r3b0c8cb r849720f  
    231231        enum Target {
    232232                Coroutine, Thread, Monitor, NUMBER_OF_TARGETS
    233         };
    234         struct Concrete {
    235                 std::string field;
    236                 std::string getter;
    237         };
    238         Target target;
    239         Concrete concrete_target;
     233        } target;
    240234
    241235        KeywordCastExpr( Expression * arg, Target target );
     
    581575class AsmExpr : public Expression {
    582576  public:
    583         std::string inout;
     577        Expression * inout;
    584578        Expression * constraint;
    585579        Expression * operand;
    586580
    587         AsmExpr( const std::string * _inout, Expression * constraint, Expression * operand ) : inout( _inout ? *_inout : "" ), constraint( constraint ), operand( operand ) { delete _inout; }
     581        AsmExpr( Expression * inout, Expression * constraint, Expression * operand ) : inout( inout ), constraint( constraint ), operand( operand ) {}
    588582        AsmExpr( const AsmExpr & other );
    589         virtual ~AsmExpr() { delete constraint; delete operand; };
     583        virtual ~AsmExpr() { delete inout; delete constraint; delete operand; };
     584
     585        Expression * get_inout() const { return inout; }
     586        void set_inout( Expression * newValue ) { inout = newValue; }
     587
     588        Expression * get_constraint() const { return constraint; }
     589        void set_constraint( Expression * newValue ) { constraint = newValue; }
     590
     591        Expression * get_operand() const { return operand; }
     592        void set_operand( Expression * newValue ) { operand = newValue; }
    590593
    591594        virtual AsmExpr * clone() const override { return new AsmExpr( * this ); }
Note: See TracChangeset for help on using the changeset viewer.