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 RuleMethodProcessorpublic void process(ParserClassNode classNode, RuleMethod method) throws java.lang.Exception
process in interface RuleMethodProcessorjava.lang.Exceptionprivate 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()