//generated by abstract-syntax-gen package de.peeeq.wurstscript.jassIm; import java.util.*; @SuppressWarnings({"cast", "unused", "rawtypes"}) public class JassIm { public static ImProg ImProg(de.peeeq.wurstscript.ast.Element trace, ImVars globals, ImFunctions functions, ImMethods methods, ImClasses classes, ImTypeClassFuncs typeClassFunctions, java.util.Map> globalInits) { return new ImProgImpl(trace, globals, functions, methods, classes, typeClassFunctions, globalInits); } public static ImVar ImVar(de.peeeq.wurstscript.ast.Element trace, ImType type, String name, boolean isBJ) { return new ImVarImpl(trace, type, name, isBJ); } public static ImSimpleType ImSimpleType(String typename) { return new ImSimpleTypeImpl(typename); } public static ImTupleType ImTupleType(java.util.List types, java.util.List names) { return new ImTupleTypeImpl(types, names); } public static ImVoid ImVoid() { return new ImVoidImpl(); } public static ImClassType ImClassType(ImClass classDef, ImTypeArguments typeArguments) { return new ImClassTypeImpl(classDef, typeArguments); } public static ImTypeVarRef ImTypeVarRef(ImTypeVar typeVariable) { return new ImTypeVarRefImpl(typeVariable); } public static ImAnyType ImAnyType() { return new ImAnyTypeImpl(); } public static ImArrayType ImArrayType(ImType entryType) { return new ImArrayTypeImpl(entryType); } public static ImArrayTypeMulti ImArrayTypeMulti(ImType entryType, java.util.List arraySize) { return new ImArrayTypeMultiImpl(entryType, arraySize); } public static ImTypeVar ImTypeVar(String name) { return new ImTypeVarImpl(name); } public static ImFunction ImFunction(de.peeeq.wurstscript.ast.Element trace, String name, ImTypeVars typeVariables, ImVars parameters, ImType returnType, ImVars locals, ImStmts body, java.util.List flags) { return new ImFunctionImpl(trace, name, typeVariables, parameters, returnType, locals, body, flags); } public static ImTypeClassFunc ImTypeClassFunc(de.peeeq.wurstscript.ast.Element trace, String name, ImTypeVars typeVariables, ImVars parameters, ImType returnType) { return new ImTypeClassFuncImpl(trace, name, typeVariables, parameters, returnType); } public static ImClass ImClass(de.peeeq.wurstscript.ast.Element trace, String name, ImTypeVars typeVariables, ImVars fields, ImMethods methods, ImFunctions functions, java.util.List superClasses) { return new ImClassImpl(trace, name, typeVariables, fields, methods, functions, superClasses); } public static ImMethod ImMethod(de.peeeq.wurstscript.ast.Element trace, ImClassType methodClass, String name, ImFunction implementation, java.util.List subMethods, boolean isAbstract) { return new ImMethodImpl(trace, methodClass, name, implementation, subMethods, isAbstract); } public static ImIf ImIf(de.peeeq.wurstscript.ast.Element trace, ImExpr condition, ImStmts thenBlock, ImStmts elseBlock) { return new ImIfImpl(trace, condition, thenBlock, elseBlock); } public static ImLoop ImLoop(de.peeeq.wurstscript.ast.Element trace, ImStmts body) { return new ImLoopImpl(trace, body); } public static ImExitwhen ImExitwhen(de.peeeq.wurstscript.ast.Element trace, ImExpr condition) { return new ImExitwhenImpl(trace, condition); } public static ImReturn ImReturn(de.peeeq.wurstscript.ast.Element trace, ImExprOpt returnValue) { return new ImReturnImpl(trace, returnValue); } public static ImSet ImSet(de.peeeq.wurstscript.ast.Element trace, ImLExpr left, ImExpr right) { return new ImSetImpl(trace, left, right); } public static ImVarargLoop ImVarargLoop(de.peeeq.wurstscript.ast.Element trace, ImStmts body, ImVar loopVar) { return new ImVarargLoopImpl(trace, body, loopVar); } public static ImNoExpr ImNoExpr() { return new ImNoExprImpl(); } public static ImGetStackTrace ImGetStackTrace() { return new ImGetStackTraceImpl(); } public static ImCompiletimeExpr ImCompiletimeExpr(de.peeeq.wurstscript.ast.Element trace, ImExpr expr, int executionOrderIndex) { return new ImCompiletimeExprImpl(trace, expr, executionOrderIndex); } public static ImTypeVarDispatch ImTypeVarDispatch(de.peeeq.wurstscript.ast.Element trace, ImTypeClassFunc typeClassFunc, ImExprs arguments, ImTypeVar typeVariable) { return new ImTypeVarDispatchImpl(trace, typeClassFunc, arguments, typeVariable); } public static ImCast ImCast(ImExpr expr, ImType toType) { return new ImCastImpl(expr, toType); } public static ImVarAccess ImVarAccess(ImVar var) { return new ImVarAccessImpl(var); } public static ImVarArrayAccess ImVarArrayAccess(de.peeeq.wurstscript.ast.Element trace, ImVar var, ImExprs indexes) { return new ImVarArrayAccessImpl(trace, var, indexes); } public static ImTupleSelection ImTupleSelection(ImExpr tupleExpr, int tupleIndex) { return new ImTupleSelectionImpl(tupleExpr, tupleIndex); } public static ImTupleExpr ImTupleExpr(ImExprs exprs) { return new ImTupleExprImpl(exprs); } public static ImStatementExpr ImStatementExpr(ImStmts statements, ImExpr expr) { return new ImStatementExprImpl(statements, expr); } public static ImMethodCall ImMethodCall(de.peeeq.wurstscript.ast.Element trace, ImMethod method, ImTypeArguments typeArguments, ImExpr receiver, ImExprs arguments, boolean tuplesEliminated) { return new ImMethodCallImpl(trace, method, typeArguments, receiver, arguments, tuplesEliminated); } public static ImMemberAccess ImMemberAccess(de.peeeq.wurstscript.ast.Element trace, ImExpr receiver, ImTypeArguments typeArguments, ImVar var, ImExprs indexes) { return new ImMemberAccessImpl(trace, receiver, typeArguments, var, indexes); } public static ImAlloc ImAlloc(de.peeeq.wurstscript.ast.Element trace, ImClassType clazz) { return new ImAllocImpl(trace, clazz); } public static ImDealloc ImDealloc(de.peeeq.wurstscript.ast.Element trace, ImClassType clazz, ImExpr obj) { return new ImDeallocImpl(trace, clazz, obj); } public static ImInstanceof ImInstanceof(ImExpr obj, ImClassType clazz) { return new ImInstanceofImpl(obj, clazz); } public static ImTypeIdOfObj ImTypeIdOfObj(ImExpr obj, ImClassType clazz) { return new ImTypeIdOfObjImpl(obj, clazz); } public static ImTypeIdOfClass ImTypeIdOfClass(ImClassType clazz) { return new ImTypeIdOfClassImpl(clazz); } public static ImFunctionCall ImFunctionCall(de.peeeq.wurstscript.ast.Element trace, ImFunction func, ImTypeArguments typeArguments, ImExprs arguments, boolean tuplesEliminated, de.peeeq.wurstscript.translation.imtranslation.CallType callType) { return new ImFunctionCallImpl(trace, func, typeArguments, arguments, tuplesEliminated, callType); } public static ImOperatorCall ImOperatorCall(de.peeeq.wurstscript.WurstOperator op, ImExprs arguments) { return new ImOperatorCallImpl(op, arguments); } public static ImIntVal ImIntVal(int valI) { return new ImIntValImpl(valI); } public static ImRealVal ImRealVal(String valR) { return new ImRealValImpl(valR); } public static ImStringVal ImStringVal(String valS) { return new ImStringValImpl(valS); } public static ImBoolVal ImBoolVal(boolean valB) { return new ImBoolValImpl(valB); } public static ImFuncRef ImFuncRef(de.peeeq.wurstscript.ast.Element trace, ImFunction func) { return new ImFuncRefImpl(trace, func); } public static ImNull ImNull(ImType type) { return new ImNullImpl(type); } public static ImTypeArgument ImTypeArgument(ImType type, java.util.Map> typeClassBinding) { return new ImTypeArgumentImpl(type, typeClassBinding); } public static ImVars ImVars(ImVar ... elements ) { ImVars l = new ImVarsImpl(); l.addAll(Arrays.asList(elements)); return l; } public static ImVars ImVars(Iterable elements ) { ImVars l = new ImVarsImpl(); if (elements instanceof Collection) l.addAll((Collection) elements); else for (ImVar elem : elements) l.add(elem); return l; } public static ImFunctions ImFunctions(ImFunction ... elements ) { ImFunctions l = new ImFunctionsImpl(); l.addAll(Arrays.asList(elements)); return l; } public static ImFunctions ImFunctions(Iterable elements ) { ImFunctions l = new ImFunctionsImpl(); if (elements instanceof Collection) l.addAll((Collection) elements); else for (ImFunction elem : elements) l.add(elem); return l; } public static ImClasses ImClasses(ImClass ... elements ) { ImClasses l = new ImClassesImpl(); l.addAll(Arrays.asList(elements)); return l; } public static ImClasses ImClasses(Iterable elements ) { ImClasses l = new ImClassesImpl(); if (elements instanceof Collection) l.addAll((Collection) elements); else for (ImClass elem : elements) l.add(elem); return l; } public static ImTypeClassFuncs ImTypeClassFuncs(ImTypeClassFunc ... elements ) { ImTypeClassFuncs l = new ImTypeClassFuncsImpl(); l.addAll(Arrays.asList(elements)); return l; } public static ImTypeClassFuncs ImTypeClassFuncs(Iterable elements ) { ImTypeClassFuncs l = new ImTypeClassFuncsImpl(); if (elements instanceof Collection) l.addAll((Collection) elements); else for (ImTypeClassFunc elem : elements) l.add(elem); return l; } public static ImTypeVars ImTypeVars(ImTypeVar ... elements ) { ImTypeVars l = new ImTypeVarsImpl(); l.addAll(Arrays.asList(elements)); return l; } public static ImTypeVars ImTypeVars(Iterable elements ) { ImTypeVars l = new ImTypeVarsImpl(); if (elements instanceof Collection) l.addAll((Collection) elements); else for (ImTypeVar elem : elements) l.add(elem); return l; } public static ImMethods ImMethods(ImMethod ... elements ) { ImMethods l = new ImMethodsImpl(); l.addAll(Arrays.asList(elements)); return l; } public static ImMethods ImMethods(Iterable elements ) { ImMethods l = new ImMethodsImpl(); if (elements instanceof Collection) l.addAll((Collection) elements); else for (ImMethod elem : elements) l.add(elem); return l; } public static ImStmts ImStmts(ImStmt ... elements ) { ImStmts l = new ImStmtsImpl(); l.addAll(Arrays.asList(elements)); return l; } public static ImStmts ImStmts(Iterable elements ) { ImStmts l = new ImStmtsImpl(); if (elements instanceof Collection) l.addAll((Collection) elements); else for (ImStmt elem : elements) l.add(elem); return l; } public static ImExprs ImExprs(ImExpr ... elements ) { ImExprs l = new ImExprsImpl(); l.addAll(Arrays.asList(elements)); return l; } public static ImExprs ImExprs(Iterable elements ) { ImExprs l = new ImExprsImpl(); if (elements instanceof Collection) l.addAll((Collection) elements); else for (ImExpr elem : elements) l.add(elem); return l; } public static ImTypeArguments ImTypeArguments(ImTypeArgument ... elements ) { ImTypeArguments l = new ImTypeArgumentsImpl(); l.addAll(Arrays.asList(elements)); return l; } public static ImTypeArguments ImTypeArguments(Iterable elements ) { ImTypeArguments l = new ImTypeArgumentsImpl(); if (elements instanceof Collection) l.addAll((Collection) elements); else for (ImTypeArgument elem : elements) l.add(elem); return l; } }