public abstract class GroupClassGenerator extends Object implements RuleMethodProcessor
Modifier and Type | Field and Description |
---|---|
protected ParserClassNode |
classNode |
protected RuleMethod |
method |
Modifier | Constructor and Description |
---|---|
protected |
GroupClassGenerator(boolean forceCodeBuilding) |
Modifier and Type | Method and Description |
---|---|
protected abstract boolean |
appliesTo(InstructionGraphNode group) |
protected static void |
convertXLoads(InstructionGroup group) |
protected byte[] |
generateGroupClassCode(InstructionGroup group) |
protected abstract void |
generateMethod(InstructionGroup group,
ClassWriter cw) |
protected abstract Type |
getBaseType() |
protected static void |
insertSetContextCalls(InstructionGroup group,
int localVarIx) |
void |
process(ParserClassNode classNode,
RuleMethod method) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
appliesTo
protected ParserClassNode classNode
protected RuleMethod method
public final void process(@Nonnull ParserClassNode classNode, @Nonnull RuleMethod method)
process
in interface RuleMethodProcessor
protected abstract boolean appliesTo(InstructionGraphNode group)
protected final byte[] generateGroupClassCode(InstructionGroup group)
protected abstract Type getBaseType()
protected abstract void generateMethod(InstructionGroup group, ClassWriter cw)
protected static void insertSetContextCalls(InstructionGroup group, int localVarIx)
protected static void convertXLoads(InstructionGroup group)