}
}
break;
}
case TYPE_CONSTANT: {
ConstantChooser chooser = (ConstantChooser) choosers.get(i);
Integer value = (Integer)chooser.getValue();
if(value.intValue() < -128 || value.intValue() > 127) {
throw new RuntimeException("Constant value out of range.");
}
group.add(new ParamModifyAction(instruction, i, chooser.getValue()));
break;
}
case TYPE_CONSTANT_WIDE: {
ConstantChooser chooser = (ConstantChooser) choosers.get(i);
/* @TODO range check? */
group.add(new ParamModifyAction(instruction, i, chooser.getValue()));
break;
}
case TYPE_ARRAYTYPE: {
ArrayTypeChooser chooser = (ArrayTypeChooser) choosers.get(i);
group.add(new ParamModifyAction(instruction, i, chooser.getValue()));
break;
}
case TYPE_CONSTANT_POOL_CONSTANT: {
ConstantpoolConstantChooser chooser = (ConstantpoolConstantChooser) choosers.get(i);
group.add(new ParamModifyAction(instruction, i, chooser.getValue()));
break;
}
case TYPE_LOCAL_VARIABLE_READONLY:
// no action required
break;