//generated by abstract-syntax-gen package de.peeeq.wurstscript.jassIm; import java.util.*; public interface ImPrintable extends Element{ Element getParent(); T match(Matcher s); void match(MatcherVoid s); public interface Matcher { T case_ImClass(ImClass imClass); T case_ImVarArrayAccess(ImVarArrayAccess imVarArrayAccess); T case_ImFuncRef(ImFuncRef imFuncRef); T case_ImTypeIdOfClass(ImTypeIdOfClass imTypeIdOfClass); T case_ImTypeVarRef(ImTypeVarRef imTypeVarRef); T case_ImArrayTypeMulti(ImArrayTypeMulti imArrayTypeMulti); T case_ImDealloc(ImDealloc imDealloc); T case_ImClassType(ImClassType imClassType); T case_ImFunctionCall(ImFunctionCall imFunctionCall); T case_ImMethodCall(ImMethodCall imMethodCall); T case_ImOperatorCall(ImOperatorCall imOperatorCall); T case_ImExitwhen(ImExitwhen imExitwhen); T case_ImSimpleType(ImSimpleType imSimpleType); T case_ImVarAccess(ImVarAccess imVarAccess); T case_ImTupleType(ImTupleType imTupleType); T case_ImBoolVal(ImBoolVal imBoolVal); T case_ImInstanceof(ImInstanceof imInstanceof); T case_ImArrayType(ImArrayType imArrayType); T case_ImGetStackTrace(ImGetStackTrace imGetStackTrace); T case_ImSet(ImSet imSet); T case_ImLoop(ImLoop imLoop); T case_ImTypeIdOfObj(ImTypeIdOfObj imTypeIdOfObj); T case_ImNoExpr(ImNoExpr imNoExpr); T case_ImTypeVar(ImTypeVar imTypeVar); T case_ImAlloc(ImAlloc imAlloc); T case_ImVarargLoop(ImVarargLoop imVarargLoop); T case_ImStringVal(ImStringVal imStringVal); T case_ImVar(ImVar imVar); T case_ImCompiletimeExpr(ImCompiletimeExpr imCompiletimeExpr); T case_ImTupleExpr(ImTupleExpr imTupleExpr); T case_ImTypeVarDispatch(ImTypeVarDispatch imTypeVarDispatch); T case_ImTupleSelection(ImTupleSelection imTupleSelection); T case_ImMemberAccess(ImMemberAccess imMemberAccess); T case_ImProg(ImProg imProg); T case_ImStmts(ImStmts imStmts); T case_ImIf(ImIf imIf); T case_ImRealVal(ImRealVal imRealVal); T case_ImNull(ImNull imNull); T case_ImCast(ImCast imCast); T case_ImVoid(ImVoid imVoid); T case_ImAnyType(ImAnyType imAnyType); T case_ImStatementExpr(ImStatementExpr imStatementExpr); T case_ImFunction(ImFunction imFunction); T case_ImIntVal(ImIntVal imIntVal); T case_ImReturn(ImReturn imReturn); } public interface MatcherVoid { void case_ImClass(ImClass imClass); void case_ImVarArrayAccess(ImVarArrayAccess imVarArrayAccess); void case_ImFuncRef(ImFuncRef imFuncRef); void case_ImTypeIdOfClass(ImTypeIdOfClass imTypeIdOfClass); void case_ImTypeVarRef(ImTypeVarRef imTypeVarRef); void case_ImArrayTypeMulti(ImArrayTypeMulti imArrayTypeMulti); void case_ImDealloc(ImDealloc imDealloc); void case_ImClassType(ImClassType imClassType); void case_ImFunctionCall(ImFunctionCall imFunctionCall); void case_ImMethodCall(ImMethodCall imMethodCall); void case_ImOperatorCall(ImOperatorCall imOperatorCall); void case_ImExitwhen(ImExitwhen imExitwhen); void case_ImSimpleType(ImSimpleType imSimpleType); void case_ImVarAccess(ImVarAccess imVarAccess); void case_ImTupleType(ImTupleType imTupleType); void case_ImBoolVal(ImBoolVal imBoolVal); void case_ImInstanceof(ImInstanceof imInstanceof); void case_ImArrayType(ImArrayType imArrayType); void case_ImGetStackTrace(ImGetStackTrace imGetStackTrace); void case_ImSet(ImSet imSet); void case_ImLoop(ImLoop imLoop); void case_ImTypeIdOfObj(ImTypeIdOfObj imTypeIdOfObj); void case_ImNoExpr(ImNoExpr imNoExpr); void case_ImTypeVar(ImTypeVar imTypeVar); void case_ImAlloc(ImAlloc imAlloc); void case_ImVarargLoop(ImVarargLoop imVarargLoop); void case_ImStringVal(ImStringVal imStringVal); void case_ImVar(ImVar imVar); void case_ImCompiletimeExpr(ImCompiletimeExpr imCompiletimeExpr); void case_ImTupleExpr(ImTupleExpr imTupleExpr); void case_ImTypeVarDispatch(ImTypeVarDispatch imTypeVarDispatch); void case_ImTupleSelection(ImTupleSelection imTupleSelection); void case_ImMemberAccess(ImMemberAccess imMemberAccess); void case_ImProg(ImProg imProg); void case_ImStmts(ImStmts imStmts); void case_ImIf(ImIf imIf); void case_ImRealVal(ImRealVal imRealVal); void case_ImNull(ImNull imNull); void case_ImCast(ImCast imCast); void case_ImVoid(ImVoid imVoid); void case_ImAnyType(ImAnyType imAnyType); void case_ImStatementExpr(ImStatementExpr imStatementExpr); void case_ImFunction(ImFunction imFunction); void case_ImIntVal(ImIntVal imIntVal); void case_ImReturn(ImReturn imReturn); } ImPrintable copy(); ImPrintable copyWithRefs(); /** */ public abstract void print(java.lang.Appendable sb, int indent); /** */ public abstract String toString(); /** */ public abstract ImFunction getNearestFunc(); /** */ public abstract de.peeeq.wurstscript.ast.Element attrTrace(); /** */ public abstract ImProg attrProg(); }