public AssignmentOperatorConstruct(ILvalueConstruct lhs, IRvalueConstruct rhs) {
            Contract.Requires(lhs != null);
            Contract.Requires(rhs != null);

            Lhs = lhs;
            Rhs = rhs;
        }
        public FunctionReturnConstruct(IRvalueConstruct rvalue) {
            Contract.Requires(rvalue != null);

            Rvalue = rvalue;
        }
 public ExponentConstruct(IRvalueConstruct operand1, IRvalueConstruct operand2)
 {
     Operand1 = operand1;
     Operand2 = operand2;
 }
 public ModuloConstruct(IRvalueConstruct operand1, IRvalueConstruct operand2)
 {
     Operand1 = operand1;
     Operand2 = operand2;
 }
 public DivisionConstruct(IRvalueConstruct operand1, IRvalueConstruct operand2)
 {
     Operand1 = operand1;
     Operand2 = operand2;
 }
 public SubtractionConstruct(IRvalueConstruct operand1, IRvalueConstruct operand2)
 {
     Operand1 = operand1;
     Operand2 = operand2;
 }
 public MultiplicationConstruct(IRvalueConstruct operand1, IRvalueConstruct operand2)
 {
     Operand1 = operand1;
     Operand2 = operand2;
 }
 public AdditionConstruct(IRvalueConstruct operand1, IRvalueConstruct operand2) {
     Operand1 = operand1;
     Operand2 = operand2;
 }