/** * Constructor for the method adapter. * @param mv MethodVisitor * @param enhancer ClassEnhancer for the class with the method * @param methodName Name of the method * @param methodDesc Method descriptor * @param mmd MetaData for the property * @param cv ClassVisitor */ public JdoPropertySetterAdapter(MethodVisitor mv, ASMClassEnhancer enhancer, String methodName, String methodDesc, AbstractMemberMetaData mmd, ClassVisitor cv) { super(ASMClassEnhancer.ASM_API_VERSION, mv); this.enhancer = enhancer; this.methodName = methodName; this.methodDescriptor = methodDesc; this.mmd = mmd; // Generate aaaSetXXX method to include code that this setXXX currently has int access = (mmd.isPublic() ? Opcodes.ACC_PUBLIC : 0) | (mmd.isProtected() ? Opcodes.ACC_PROTECTED : 0) | (mmd.isPrivate() ? Opcodes.ACC_PRIVATE : 0) | (mmd.isAbstract() ? Opcodes.ACC_ABSTRACT : 0); this.visitor = cv.visitMethod(access, ASMClassEnhancer.MN_SetterPrefix + mmd.getName(), methodDesc, null, null); }
int setAccess = (mmd.isPublic() ? Opcodes.ACC_PUBLIC : 0) | (mmd.isProtected() ? Opcodes.ACC_PROTECTED : 0) | (mmd.isPrivate() ? Opcodes.ACC_PRIVATE : 0); MethodVisitor setVisitor = writer.visitMethod(setAccess, setterName, "(" + fieldDesc + ")V", null, null); JdoPropertySetterAdapter.generateSetXXXMethod(setVisitor, mmd, asmClassName, asmTypeDescriptor, false); (mmd.isPrivate() ? Opcodes.ACC_PRIVATE : 0); MethodVisitor visitor = writer.visitMethod(access, jdoSetterName, "(" + fieldDesc + ")V", null, null); visitor.visitCode();
/** * Constructor for the method adapter. * @param mv MethodVisitor * @param enhancer ClassEnhancer for the class with the method * @param methodName Name of the method * @param methodDesc Method descriptor * @param mmd MetaData for the property * @param cv ClassVisitor */ public JdoPropertyGetterAdapter(MethodVisitor mv, ASMClassEnhancer enhancer, String methodName, String methodDesc, AbstractMemberMetaData mmd, ClassVisitor cv) { super(ASMClassEnhancer.ASM_API_VERSION, mv); this.enhancer = enhancer; this.methodName = methodName; this.methodDescriptor = methodDesc; this.mmd = mmd; // Generate aaaGetXXX method to include code that this getXXX currently has int access = (mmd.isPublic() ? Opcodes.ACC_PUBLIC : 0) | (mmd.isProtected() ? Opcodes.ACC_PROTECTED : 0) | (mmd.isPrivate() ? Opcodes.ACC_PRIVATE : 0) | (mmd.isAbstract() ? Opcodes.ACC_ABSTRACT : 0); this.visitor = cv.visitMethod(access, enhancer.getGetMethodPrefixMethodName() + mmd.getName(), methodDesc, null, null); }
int getAccess = (mmd.isPublic() ? Opcodes.ACC_PUBLIC : 0) | (mmd.isProtected() ? Opcodes.ACC_PROTECTED : 0) | (mmd.isPrivate() ? Opcodes.ACC_PRIVATE : 0); MethodVisitor getVisitor = writer.visitMethod(getAccess, getterName, "()" + fieldDesc, null, null); JdoPropertyGetterAdapter.generateGetXXXMethod(getVisitor, mmd, asmClassName, asmTypeDescriptor, false, false); (mmd.isPrivate() ? Opcodes.ACC_PRIVATE : 0); MethodVisitor visitor = writer.visitMethod(access, jdoGetterName, "()" + fieldDesc, null, null); visitor.visitCode();
/** * Constructor. * @param enhancer ClassEnhancer * @param fmd MetaData for the field we are generating for */ public JdoGetNormal(ClassEnhancer enhancer, AbstractMemberMetaData fmd) { super(enhancer, enhancer.getGetMethodPrefixMethodName() + fmd.getName(), (fmd.isPublic() ? Opcodes.ACC_PUBLIC : 0) | (fmd.isProtected() ? Opcodes.ACC_PROTECTED : 0) | (fmd.isPrivate() ? Opcodes.ACC_PRIVATE : 0) | Opcodes.ACC_STATIC, fmd.getType(), null, null); // Set the arg type/name argTypes = new Class[] {getClassEnhancer().getClassEnhanced()}; argNames = new String[] {"objPC"}; this.fmd = fmd; }
/** * Constructor. * @param enhancer ClassEnhancer * @param fmd MetaData for the field we are generating for */ public JdoSetNormal(ClassEnhancer enhancer, AbstractMemberMetaData fmd) { super(enhancer, enhancer.getSetMethodPrefixMethodName() + fmd.getName(), (fmd.isPublic() ? Opcodes.ACC_PUBLIC : 0) | (fmd.isProtected() ? Opcodes.ACC_PROTECTED : 0) | (fmd.isPrivate() ? Opcodes.ACC_PRIVATE : 0) | Opcodes.ACC_STATIC, null, null, null); // Set the arg types/names argTypes = new Class[] {getClassEnhancer().getClassEnhanced(), fmd.getType()}; argNames = new String[] {"objPC", "val"}; this.fmd = fmd; }
/** * Constructor. * @param enhancer ClassEnhancer * @param fmd MetaData for the field we are generating for */ public JdoGetViaCheck(ClassEnhancer enhancer, AbstractMemberMetaData fmd) { super(enhancer, enhancer.getGetMethodPrefixMethodName() + fmd.getName(), (fmd.isPublic() ? Opcodes.ACC_PUBLIC : 0) | (fmd.isProtected() ? Opcodes.ACC_PROTECTED : 0) | (fmd.isPrivate() ? Opcodes.ACC_PRIVATE : 0) | Opcodes.ACC_STATIC, fmd.getType(), null, null); argTypes = new Class[] {getClassEnhancer().getClassEnhanced()}; argNames = new String[] {"objPC"}; this.fmd = fmd; }
/** * Constructor. * @param enhancer ClassEnhancer * @param fmd MetaData for the field we are generating for */ public JdoSetViaCheck(ClassEnhancer enhancer, AbstractMemberMetaData fmd) { super(enhancer, enhancer.getSetMethodPrefixMethodName() + fmd.getName(), (fmd.isPublic() ? Opcodes.ACC_PUBLIC : 0) | (fmd.isProtected() ? Opcodes.ACC_PROTECTED : 0) | (fmd.isPrivate() ? Opcodes.ACC_PRIVATE : 0) | Opcodes.ACC_STATIC, null, null, null); // Set the arg types/names argTypes = new Class[] {getClassEnhancer().getClassEnhanced(), fmd.getType()}; argNames = new String[] {"objPC", "val"}; this.fmd = fmd; }
/** * Constructor. * @param enhancer ClassEnhancer * @param fmd MetaData for the field we are generating for */ public JdoSetViaMediate(ClassEnhancer enhancer, AbstractMemberMetaData fmd) { super(enhancer, enhancer.getSetMethodPrefixMethodName() + fmd.getName(), (fmd.isPublic() ? Opcodes.ACC_PUBLIC : 0) | (fmd.isProtected() ? Opcodes.ACC_PROTECTED : 0) | (fmd.isPrivate() ? Opcodes.ACC_PRIVATE : 0) | Opcodes.ACC_STATIC, null, null, null); // Set the arg types/names argTypes = new Class[] {getClassEnhancer().getClassEnhanced(), fmd.getType()}; argNames = new String[] {"objPC", "val"}; this.fmd = fmd; }
/** * Constructor. * @param enhancer ClassEnhancer * @param fmd MetaData for the field we are generating for */ public JdoGetViaMediate(ClassEnhancer enhancer, AbstractMemberMetaData fmd) { super(enhancer, enhancer.getGetMethodPrefixMethodName() + fmd.getName(), (fmd.isPublic() ? Opcodes.ACC_PUBLIC : 0) | (fmd.isProtected() ? Opcodes.ACC_PROTECTED : 0) | (fmd.isPrivate() ? Opcodes.ACC_PRIVATE : 0) | Opcodes.ACC_STATIC, fmd.getType(), null, null); // Set the arg type/name argTypes = new Class[] {getClassEnhancer().getClassEnhanced()}; argNames = new String[] {"objPC"}; this.fmd = fmd; }