966967968969970971972973974975976
// First three arguments go to the super-class builder.loadThis(); builder.loadArgument(0); builder.loadArgument(1); builder.loadArgument(2); builder.invokeConstructor(AbstractMethodInvocation.class, Object.class, InstanceContext.class, MethodAdvice[].class); for (int i = 0; i < description.argumentTypes.length; i++) {
976977978979980981982983984985986
{ String name = "p" + i; String type = description.argumentTypes[i]; builder.loadThis(); builder.loadArgument(3 + i); builder.putField(invocationClassName, name, type); } builder.returnResult();
10531054105510561057105810591060106110621063
{ indexOutOfRange(builder); } else { builder.loadArgument(0); builder.startSwitch(0, description.argumentTypes.length - 1, new SwitchCallback() { public void doSwitch(SwitchBlock block) {
10961097109810991100110111021103110411051106
{ indexOutOfRange(builder); } else { builder.loadArgument(0).startSwitch(0, description.argumentTypes.length - 1, new SwitchCallback() { public void doSwitch(SwitchBlock block) { for (int i = 0; i < description.argumentTypes.length; i++)
11131114111511161117111811191120112111221123
public void doBuild(InstructionBuilder builder) { String type = description.argumentTypes[index]; builder.loadThis(); builder.loadArgument(1).castOrUnbox(type); builder.putField(invocationClassName, "p" + index, type); } }); } }