package ql.ast; import ql.ast.expression.ExpressionInterface; import ql.ast.statement.StatementTypeInterface; import ql.ast.type.TypeInterface; /** * Check expressions for validity. */ public class ValidityExpression implements ValidityInterface { //private TypeVisitor visitor; private ExpressionInterface expression; /* Constructor */ public ValidityExpression(TypeVisitor visitor, ExpressionInterface expression) { //this.visitor = visitor; this.expression = expression; } /* Check if statement type is compatible */ public boolean statementTypeCompatible(StatementTypeInterface type) { return this.expression.getType().getClass().equals(type.getType().getClass()); } /* Check if type is compatible */ public boolean typeCompatible(TypeInterface type) { return this.expression.getType().getClass().equals(type.getClass()); } }