private void installArray(String name, int[]arr) { factory.visitField(ACC_PRIVATE + ACC_FINAL, name, "[I", null, null); factoryInit.visitVarInsn(ALOAD, THIS); // this; loadInt(factoryInit, arr.length); // this, length factoryInit.visitIntInsn(NEWARRAY, T_INT); // this, arr for (int i=0;i < arr.length; i++) buildArray(i, arr[i], IASTORE); factoryInit.visitFieldInsn(PUTFIELD, factoryName, name, "[I"); }
private void installArray(String name, byte[]arr, int p, int length) { factory.visitField(ACC_PRIVATE + ACC_FINAL, name, "[B", null, null); factoryInit.visitVarInsn(ALOAD, THIS); // this; loadInt(factoryInit, arr.length); // this, length factoryInit.visitIntInsn(NEWARRAY, T_BYTE); // this, arr for (int i=p, j=0; i < p + length; i++, j++) buildArray(j, arr[i] & 0xff, BASTORE); factoryInit.visitFieldInsn(PUTFIELD, factoryName, name, "[B"); }
private void installArray(String name, int[]arr) { factory.visitField(ACC_PRIVATE + ACC_FINAL, name, "[I", null, null); factoryInit.visitVarInsn(ALOAD, THIS); // this; loadInt(factoryInit, arr.length); // this, length factoryInit.visitIntInsn(NEWARRAY, T_INT); // this, arr for (int i=0;i < arr.length; i++) buildArray(i, arr[i], IASTORE); factoryInit.visitFieldInsn(PUTFIELD, factoryName, name, "[I"); }
private void installArray(String name, byte[]arr, int p, int length) { factory.visitField(ACC_PRIVATE + ACC_FINAL, name, "[B", null, null); factoryInit.visitVarInsn(ALOAD, THIS); // this; loadInt(factoryInit, arr.length); // this, length factoryInit.visitIntInsn(NEWARRAY, T_BYTE); // this, arr for (int i=p, j=0; i < p + length; i++, j++) buildArray(j, arr[i] & 0xff, BASTORE); factoryInit.visitFieldInsn(PUTFIELD, factoryName, name, "[B"); }