Package org.aspectj.apache.bcel.generic
Class SwitchBuilder
java.lang.Object
org.aspectj.apache.bcel.generic.SwitchBuilder
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.
- Version:
- $Id: SwitchBuilder.java,v 1.2 2008/05/28 23:52:57 aclement Exp $
- Author:
- M. Dahm
-
Constructor Summary
ConstructorDescriptionSwitchBuilder(int[] match, InstructionHandle[] targets, InstructionHandle target)
SwitchBuilder(int[] match, InstructionHandle[] targets, InstructionHandle target, int max_gap)
Template for switch() constructs. -
Method Summary
-
Constructor Details
-
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
-
-
Method Details
-
getInstruction
-