org.aspectj.apache.bcel.generic
Class SwitchBuilder
java.lang.Object
org.aspectj.apache.bcel.generic.SwitchBuilder
public final class SwitchBuilder
- extends java.lang.Object
SWITCH - Branch depending on int value, generates either LOOKUPSWITCH or
TABLESWITCH instruction, depending on whether the match values (int[]) can be
sorted with no gaps between the numbers.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SwitchBuilder
public SwitchBuilder(int[] match,
InstructionHandle[] targets,
InstructionHandle target,
int max_gap)
- Template for switch() constructs. If the match array can be
sorted in ascending order with gaps no larger than max_gap
between the numbers, a TABLESWITCH instruction is generated, and
a LOOKUPSWITCH otherwise. The former may be more efficient, but
needs more space.
Note, that the key array always will be sorted, though we leave
the original arrays unaltered.
- Parameters:
match
- array of match values (case 2: ... case 7: ..., etc.)targets
- the instructions to be branched to for each casetarget
- the default targetmax_gap
- maximum gap that may between case branches
SwitchBuilder
public SwitchBuilder(int[] match,
InstructionHandle[] targets,
InstructionHandle target)
getInstruction
public final InstructionSelect getInstruction()