ASTLoopInvariantExpression.java

package edu.udel.cis.vsl.tass.front.minimp.ast.expression;

import edu.udel.cis.vsl.tass.front.minimp.ast.type.ASTBoolType;
import edu.udel.cis.vsl.tass.front.minimp.ast.type.ASTTypeIF;

public class ASTLoopInvariantExpression extends ASTExpression {
  public enum InvariantOP {
    EQ, NEQ, LT, GT, LTE, GTE
  };

  private InvariantOP operator;
  private ASTExpressionIF left;
  private ASTExpressionIF right;

  public ASTLoopInvariantExpression(InvariantOP operator, ASTExpressionIF left,
      ASTExpressionIF right) {
    super(new ASTBoolType());
    this.operator = operator;
    this.left = left;
    this.right = right;

  }

  public ASTTypeIF getType() {
    return left.getType();
  }

  public ASTExpressionIF getLeft() {
    return left;
  }

  public ASTExpressionIF getRight() {
    return right;
  }

  public InvariantOP getOperator() {
    return operator;
  }
}