Changes in src/SynTree/Expression.h [e612146c:ea6332d]
- File:
-
- 1 edited
-
src/SynTree/Expression.h (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Expression.h
re612146c rea6332d 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sun Sep 3 19:23:46201713 // Update Count : 4 811 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Aug 8 11:54:00 2017 13 // Update Count : 44 14 14 // 15 16 15 #pragma once 17 16 … … 25 24 #include "Constant.h" // for Constant 26 25 #include "Initializer.h" // for Designation (ptr only), Initializer 27 #include "Label.h" // for Label28 26 #include "Mutator.h" // for Mutator 29 27 #include "SynTree.h" // for UniqueId … … 175 173 }; 176 174 177 // GCC &&label 178 // https://gcc.gnu.org/onlinedocs/gcc-3.4.2/gcc/Labels-as-Values.html 175 // xxx - this doesn't appear to actually be hooked in anywhere. We should use this instead of the "&&"" UntypedExpr hack 179 176 class LabelAddressExpr : public Expression { 180 177 public: 181 Labelarg;182 183 LabelAddressExpr( const Label &arg );178 Expression * arg; 179 180 LabelAddressExpr( Expression * arg ); 184 181 LabelAddressExpr( const LabelAddressExpr & other ); 185 182 virtual ~LabelAddressExpr(); 183 184 Expression * get_arg() const { return arg; } 185 void set_arg(Expression * newValue ) { arg = newValue; } 186 186 187 187 virtual LabelAddressExpr * clone() const { return new LabelAddressExpr( * this ); } … … 283 283 DeclarationWithType * get_var() const { return var; } 284 284 void set_var( DeclarationWithType * newValue ) { var = newValue; } 285 286 static VariableExpr * functionPointer( FunctionDecl * decl );287 285 288 286 virtual VariableExpr * clone() const { return new VariableExpr( * this ); } … … 540 538 public: 541 539 Expression * inout; 542 Expression* constraint;540 ConstantExpr * constraint; 543 541 Expression * operand; 544 542 545 AsmExpr( Expression * inout, Expression* constraint, Expression * operand ) : inout( inout ), constraint( constraint ), operand( operand ) {}543 AsmExpr( Expression * inout, ConstantExpr * constraint, Expression * operand ) : inout( inout ), constraint( constraint ), operand( operand ) {} 546 544 AsmExpr( const AsmExpr & other ); 547 545 virtual ~AsmExpr() { delete inout; delete constraint; delete operand; }; … … 550 548 void set_inout( Expression * newValue ) { inout = newValue; } 551 549 552 Expression* get_constraint() const { return constraint; }553 void set_constraint( Expression* newValue ) { constraint = newValue; }550 ConstantExpr * get_constraint() const { return constraint; } 551 void set_constraint( ConstantExpr * newValue ) { constraint = newValue; } 554 552 555 553 Expression * get_operand() const { return operand; }
Note:
See TracChangeset
for help on using the changeset viewer.