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;
}
}