package jetbrains.mps.baseLanguage.closures.helper; /*Generated by MPS */ import jetbrains.mps.generator.template.TemplateQueryContext; import org.jetbrains.mps.openapi.model.SNode; public enum Flags { CONTAINS_INVOKE("contains_invoke"), NEEDS_INITIALIZER("needs_initializer"), PRODUCES_VALUE("produces_value"), TERMINATE("terminate"), WRAPPING_LOCAL_VARIABLE("wrapping_local_variable"), REMOVE_THIS("remove_this"), FUNCTION_METHOD("function_method"); private String name; Flags(String name) { this.name = PREFIX(name); } public void flag(TemplateQueryContext gtx, SNode node) { gtx.putSessionObject(this.toString() + "_" + node.getNodeId().toString(), Boolean.TRUE); } public void clear(TemplateQueryContext gtx, SNode node) { gtx.putSessionObject(this.toString() + "_" + node.getNodeId().toString(), null); } public boolean isFlagged(TemplateQueryContext gtx, SNode node) { Object val = gtx.getSessionObject(this.toString() + "_" + node.getNodeId().toString()); return val != null; } @Override public String toString() { return this.name; } private static String PREFIX(String str) { return "jetbrains.mps.baselanguage.closures.generator." + str; } }