//generated by abstract-syntax-gen package de.peeeq.wurstscript.jassIm; import java.util.*; public interface ImLExpr extends ImExpr, Element{ Element getParent(); T match(Matcher s); void match(MatcherVoid s); public interface Matcher { T case_ImTupleExpr(ImTupleExpr imTupleExpr); T case_ImVarArrayAccess(ImVarArrayAccess imVarArrayAccess); T case_ImTupleSelection(ImTupleSelection imTupleSelection); T case_ImMemberAccess(ImMemberAccess imMemberAccess); T case_ImStatementExpr(ImStatementExpr imStatementExpr); T case_ImVarAccess(ImVarAccess imVarAccess); } public interface MatcherVoid { void case_ImTupleExpr(ImTupleExpr imTupleExpr); void case_ImVarArrayAccess(ImVarArrayAccess imVarArrayAccess); void case_ImTupleSelection(ImTupleSelection imTupleSelection); void case_ImMemberAccess(ImMemberAccess imMemberAccess); void case_ImStatementExpr(ImStatementExpr imStatementExpr); void case_ImVarAccess(ImVarAccess imVarAccess); } ImLExpr copy(); ImLExpr copyWithRefs(); /** */ public abstract void print(java.lang.Appendable sb, int indent); /** */ public abstract String toString(); /** */ public abstract de.peeeq.wurstscript.translation.imtranslation.Flatten.Result flatten(de.peeeq.wurstscript.translation.imtranslation.ImTranslator translator, de.peeeq.wurstscript.jassIm.ImFunction f); /** */ public abstract de.peeeq.wurstscript.translation.imtranslation.Flatten.ResultL flattenL(de.peeeq.wurstscript.translation.imtranslation.ImTranslator translator, de.peeeq.wurstscript.jassIm.ImFunction f); /** */ public abstract de.peeeq.wurstscript.translation.imtranslation.purity.PurityLevel attrPurity(); /** */ public abstract void translate(java.util.List stmts, de.peeeq.wurstscript.jassAst.JassFunction f, de.peeeq.wurstscript.translation.imtojass.ImToJassTranslator translator); /** */ public abstract de.peeeq.wurstscript.jassAst.JassExpr translate(de.peeeq.wurstscript.translation.imtojass.ImToJassTranslator translator); /** */ public abstract ImType attrTyp(); /** */ public abstract ImFunction getNearestFunc(); /** */ public abstract void translateStmtToLua(java.util.List res, de.peeeq.wurstscript.translation.lua.translation.LuaTranslator tr); /** */ public abstract de.peeeq.wurstscript.luaAst.LuaExpr translateToLua(de.peeeq.wurstscript.translation.lua.translation.LuaTranslator tr); /** */ public abstract void runStatement(de.peeeq.wurstscript.intermediatelang.interpreter.ProgramState globalState, de.peeeq.wurstscript.intermediatelang.interpreter.LocalState localState); /** */ public abstract de.peeeq.wurstscript.intermediatelang.ILconst evaluate(de.peeeq.wurstscript.intermediatelang.interpreter.ProgramState globalState, de.peeeq.wurstscript.intermediatelang.interpreter.LocalState localState); /** */ public abstract de.peeeq.wurstscript.intermediatelang.ILaddress evaluateLvalue(de.peeeq.wurstscript.intermediatelang.interpreter.ProgramState globalState, de.peeeq.wurstscript.intermediatelang.interpreter.LocalState localState); /** */ public abstract de.peeeq.wurstscript.ast.Element attrTrace(); /** */ public abstract ImProg attrProg(); /** */ public abstract boolean isUsedAsLValue(); }