private static void generateGetValue( Class owner, Type ownerType, Method method, boolean isStatic, Type resolvableType, Type[] arguments, MxGeneratorAdapter getValue, TransformGenerator[] tg, Type[] stored) { getValue.visitCode(); if (!isStatic) { getValue.loadThis(); getValue.getField(resolvableType, OWNER_FIELD_NAME, ownerType); } int index = 0; for (int i = 0; i < arguments.length; i++) { getValue.loadThis(); getValue.getField(resolvableType, "arg" + i, stored[i]); if (tg != null) { tg[i].generateBackward(resolvableType, index, getValue); index += tg[i].getFieldCount(); } } getValue.visitMethodInsn( isStatic ? INVOKESTATIC : owner.isInterface() ? INVOKEINTERFACE : INVOKEVIRTUAL, ownerType.getInternalName(), method.getName(), method.getDescriptor()); getValue.returnValue(); getValue.endMethod(); }