org.apache.bcel.generic

Class SWITCH

public final class SWITCH extends Object implements CompoundInstruction

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.
Constructor Summary
SWITCH(int[] match, InstructionHandle[] targets, InstructionHandle target, int max_gap)
Template for switch() constructs.
SWITCH(int[] match, InstructionHandle[] targets, InstructionHandle target)
Method Summary
InstructiongetInstruction()
InstructionListgetInstructionList()

Constructor Detail

SWITCH

public SWITCH(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 case target the default target max_gap maximum gap that may between case branches

SWITCH

public SWITCH(int[] match, InstructionHandle[] targets, InstructionHandle target)

Method Detail

getInstruction

public final Instruction getInstruction()

getInstructionList

public final InstructionList getInstructionList()