//generated by abstract-syntax-gen package de.peeeq.wurstscript.jassIm; import java.util.*; public interface ImProg extends ElementWithTrace, ImPrintable, Element { void setTrace(de.peeeq.wurstscript.ast.Element trace); de.peeeq.wurstscript.ast.Element getTrace(); void setGlobals(ImVars globals); ImVars getGlobals(); void setFunctions(ImFunctions functions); ImFunctions getFunctions(); void setMethods(ImMethods methods); ImMethods getMethods(); void setClasses(ImClasses classes); ImClasses getClasses(); void setTypeClassFunctions(ImTypeClassFuncs typeClassFunctions); ImTypeClassFuncs getTypeClassFunctions(); void setGlobalInits(java.util.Map> globalInits); java.util.Map> getGlobalInits(); Element getParent(); ImProg copy(); ImProg copyWithRefs(); void clearAttributes(); void clearAttributesLocal(); /** */ public abstract void print(java.lang.Appendable sb, int indent); /** */ public abstract String toString(); /** */ public abstract void flatten(de.peeeq.wurstscript.translation.imtranslation.ImTranslator translator); /** */ public abstract ImFunction getNearestFunc(); /** */ public abstract de.peeeq.wurstscript.ast.Element attrTrace(); /** */ public abstract ImProg attrProg(); /** */ public abstract de.peeeq.wurstscript.translation.imoptimizer.VariableUses.Uses attrVariableUses(); /** */ public abstract java.util.Map attrTypeId(); /** */ public abstract com.google.common.collect.Multimap attrSubclasses(); }