class ImplicitActionsConverter extends java.lang.Object implements RuleMethodProcessor
Modifier and Type | Field and Description |
---|---|
private java.util.Set<InstructionGraphNode> |
covered |
private RuleMethod |
method |
Constructor and Description |
---|
ImplicitActionsConverter() |
Modifier and Type | Method and Description |
---|---|
boolean |
appliesTo(ParserClassNode classNode,
RuleMethod method) |
private org.objectweb.asm.tree.MethodInsnNode |
createActionWrappingInsn() |
private int |
getArgumentIndex(InstructionGraphNode callNode,
InstructionGraphNode predecessor) |
private java.util.List<InstructionGraphNode> |
getDependents(InstructionGraphNode predecessor) |
private boolean |
isImplicitAction(InstructionGraphNode node) |
private boolean |
isObjectArgumentToRuleCreatingMethodCall(InstructionGraphNode node,
InstructionGraphNode dependent) |
private boolean |
isStoredIntoObjectArray(InstructionGraphNode dependent) |
void |
process(ParserClassNode classNode,
RuleMethod method) |
private void |
replaceWithActionWrapper(InstructionGraphNode node) |
private void |
walkNode(InstructionGraphNode node) |
private final java.util.Set<InstructionGraphNode> covered
private RuleMethod method
public boolean appliesTo(ParserClassNode classNode, RuleMethod method)
appliesTo
in interface RuleMethodProcessor
public void process(ParserClassNode classNode, RuleMethod method) throws java.lang.Exception
process
in interface RuleMethodProcessor
java.lang.Exception
private void walkNode(InstructionGraphNode node)
private void replaceWithActionWrapper(InstructionGraphNode node)
private boolean isImplicitAction(InstructionGraphNode node)
private boolean isObjectArgumentToRuleCreatingMethodCall(InstructionGraphNode node, InstructionGraphNode dependent)
private boolean isStoredIntoObjectArray(InstructionGraphNode dependent)
private int getArgumentIndex(InstructionGraphNode callNode, InstructionGraphNode predecessor)
private java.util.List<InstructionGraphNode> getDependents(InstructionGraphNode predecessor)
private org.objectweb.asm.tree.MethodInsnNode createActionWrappingInsn()