Changes in src/SynTree/Expression.h [d7dc824:fbcde64]
- File:
-
- 1 edited
-
src/SynTree/Expression.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Expression.h
rd7dc824 rfbcde64 690 690 }; 691 691 692 /// MemberTupleExpr represents a tuple member selection operation on a struct type, e.g. s.[a, b, c] after processing by the expression analyzer 693 class MemberTupleExpr : public Expression { 694 public: 695 MemberTupleExpr( Expression * member, Expression * aggregate, Expression * _aname = nullptr ); 696 MemberTupleExpr( const MemberTupleExpr & other ); 697 virtual ~MemberTupleExpr(); 698 699 Expression * get_member() const { return member; } 700 Expression * get_aggregate() const { return aggregate; } 701 MemberTupleExpr * set_member( Expression * newValue ) { member = newValue; return this; } 702 MemberTupleExpr * set_aggregate( Expression * newValue ) { aggregate = newValue; return this; } 703 704 virtual MemberTupleExpr * clone() const { return new MemberTupleExpr( * this ); } 705 virtual void accept( Visitor & v ) { v.visit( this ); } 706 virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); } 707 virtual void print( std::ostream & os, int indent = 0 ) const; 708 private: 709 Expression * member; 710 Expression * aggregate; 711 }; 712 692 713 /// TupleAssignExpr represents a multiple assignment operation, where both sides of the assignment have tuple type, e.g. [a, b, c] = [d, e, f];, a mass assignment operation, where the left hand side has tuple type and the right hand side does not, e.g. [a, b, c] = 5.0;, or a tuple ctor/dtor expression 693 714 class TupleAssignExpr : public Expression {
Note:
See TracChangeset
for help on using the changeset viewer.