package zinara.ast.expression; import zinara.ast.ASTNode; import zinara.ast.type.Type; import zinara.code_generator.Genx86; import zinara.exceptions.TypeClashException; import zinara.exceptions.InvalidCodeException; import java.io.IOException; public abstract class Expression extends ASTNode { public Type type; public String yesLabel; public String noLabel; //@ ensures \result != null public abstract Type getType() throws TypeClashException; public abstract String toString(); public abstract boolean isStaticallyKnown(); public abstract Object staticValue(); public abstract void tox86(Genx86 generate) throws IOException,InvalidCodeException; }