//generated by abstract-syntax-gen package de.peeeq.wurstscript.jassAst; import java.util.*; public interface JassExpr extends Element{ Element getParent(); T match(Matcher s); void match(MatcherVoid s); public interface Matcher { T case_JassExprIntVal(JassExprIntVal jassExprIntVal); T case_JassExprNull(JassExprNull jassExprNull); T case_JassExprBoolVal(JassExprBoolVal jassExprBoolVal); T case_JassExprUnary(JassExprUnary jassExprUnary); T case_JassExprVarAccess(JassExprVarAccess jassExprVarAccess); T case_JassExprStringVal(JassExprStringVal jassExprStringVal); T case_JassExprBinary(JassExprBinary jassExprBinary); T case_JassExprRealVal(JassExprRealVal jassExprRealVal); T case_JassExprVarArrayAccess(JassExprVarArrayAccess jassExprVarArrayAccess); T case_JassExprFuncRef(JassExprFuncRef jassExprFuncRef); T case_JassExprFunctionCall(JassExprFunctionCall jassExprFunctionCall); } public interface MatcherVoid { void case_JassExprIntVal(JassExprIntVal jassExprIntVal); void case_JassExprNull(JassExprNull jassExprNull); void case_JassExprBoolVal(JassExprBoolVal jassExprBoolVal); void case_JassExprUnary(JassExprUnary jassExprUnary); void case_JassExprVarAccess(JassExprVarAccess jassExprVarAccess); void case_JassExprStringVal(JassExprStringVal jassExprStringVal); void case_JassExprBinary(JassExprBinary jassExprBinary); void case_JassExprRealVal(JassExprRealVal jassExprRealVal); void case_JassExprVarArrayAccess(JassExprVarArrayAccess jassExprVarArrayAccess); void case_JassExprFuncRef(JassExprFuncRef jassExprFuncRef); void case_JassExprFunctionCall(JassExprFunctionCall jassExprFunctionCall); } JassExpr copy(); JassExpr copyWithRefs(); /** */ public abstract String getType(); /** */ public abstract int getLine(); /** */ public abstract JassProg getProg(); /** */ public abstract void print(java.lang.StringBuilder sb, boolean withSpace); }