out.println(str);
}
if(inst instanceof BranchInstruction) {
if(inst instanceof Select) { // Special cases LOOKUPSWITCH and TABLESWITCH
Select s = (Select)inst;
int[] matchs = s.getMatchs();
InstructionHandle[] targets = s.getTargets();
if(s instanceof TABLESWITCH) {
out.println("\ttableswitch " + matchs[0] + " " +
matchs[matchs.length - 1]);
for(int j=0; j < targets.length; j++) {
out.println("\t\t" + get(targets[j]));
}
} else { // LOOKUPSWITCH
out.println("\tlookupswitch ");
for(int j=0; j < targets.length; j++) {
out.println("\t\t" + matchs[j] + " : " + get(targets[j]));
}
}
out.println("\t\tdefault: " + get(s.getTarget())); // Applies for both
} else {
BranchInstruction bi = (BranchInstruction)inst;
ih = bi.getTarget();
str = get(ih);
out.println("\t" + Constants.OPCODE_NAMES[bi.getOpcode()] + " " + str);