package synthesijer.ast;
import synthesijer.ast.expr.SynthesijerExprVisitor;
public abstract class Expr{
public enum TERM {LEFT, RIGHT};
private final Scope scope;
public Expr(Scope scope){
this.scope = scope;
}
public Scope getScope(){
return scope;
}
abstract public void accept(SynthesijerExprVisitor v);
abstract public boolean isConstant();
abstract public boolean isVariable();
abstract public Type getType();
abstract public Variable[] getSrcVariables();
abstract public Variable[] getDestVariables();
abstract public boolean hasMethodInvocation();
}