@Override protected void createInstanceVariables(ClassWriter cw, Class<?> classToProxy, String classFileName) { // variable #1, the Provider<?> for the Contextual Instance cw.visitField(Opcodes.ACC_PRIVATE, FIELD_INSTANCE_PROVIDER, Type.getDescriptor(Provider.class), null, null).visitEnd(); // variable #2, the Method[] for all protected methods cw.visitField(Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC, FIELD_PROTECTED_METHODS, Type.getDescriptor(Method[].class), null, null).visitEnd(); }
@Override protected void createInstanceVariables(ClassWriter cw, Class<?> classToProxy, String classFileName) { // variable #1, the delegation point cw.visitField(Opcodes.ACC_PRIVATE, FIELD_PROXIED_INSTANCE, Type.getDescriptor(classToProxy), null, null).visitEnd(); // variable #2, the invocation handler cw.visitField(Opcodes.ACC_PRIVATE, FIELD_INTERCEPTOR_HANDLER, Type.getDescriptor(InterceptorHandler.class), null, null).visitEnd(); // variable #3, the Method[] of all intercepted methods. cw.visitField(Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC, FIELD_INTERCEPTED_METHODS, Type.getDescriptor(Method[].class), null, null).visitEnd(); }
if (hasInterceptors) { cw .visitField(ACC_PRIVATE, FIELD_INTERCEPTOR_HANDLER, Type.getDescriptor(InterceptorHandler.class), null, null) .visitEnd(); cw .visitField(ACC_PRIVATE | ACC_STATIC, FIELD_INTERCEPTED_METHODS, Type.getDescriptor(Method[].class), null, null) .visitEnd();
cw.visitField(Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC, FIELD_BEAN_PASSIVATION_ID, Type.getDescriptor(String.class), null, null).visitEnd();