//generated by abstract-syntax-gen package de.peeeq.wurstscript.jassIm; import java.util.*; public interface ImFunction extends JassImElementWithName, ElementWithTrace, ImPrintable, Element { void setTrace(de.peeeq.wurstscript.ast.Element trace); de.peeeq.wurstscript.ast.Element getTrace(); void setName(String name); String getName(); void setTypeVariables(ImTypeVars typeVariables); ImTypeVars getTypeVariables(); void setParameters(ImVars parameters); ImVars getParameters(); void setReturnType(ImType returnType); ImType getReturnType(); void setLocals(ImVars locals); ImVars getLocals(); void setBody(ImStmts body); ImStmts getBody(); void setFlags(java.util.List flags); java.util.List getFlags(); Element getParent(); ImFunction copy(); ImFunction 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 boolean isNative(); /** */ public abstract boolean isBj(); /** */ public abstract boolean isExtern(); /** */ public abstract boolean isCompiletime(); /** */ public abstract boolean hasFlag(de.peeeq.wurstscript.translation.imtranslation.FunctionFlag flag); /** */ public abstract de.peeeq.wurstscript.ast.Element attrTrace(); /** */ public abstract ImProg attrProg(); /** */ public abstract java.util.Set calcUsedVariables(); /** */ public abstract java.util.Set calcReadVariables(); /** */ public abstract java.util.Set calcUsedFunctions(); }