Package org.apache.jdo.impl.enhancer.classfile

Examples of org.apache.jdo.impl.enhancer.classfile.InsnInterfaceInvoke


        insn = insn.append(Insn.create(opc_aload_0));
        insn = insn.append(Insn.create(opc_getfield, managedFieldRef));

        // call providedXXXField
        insn = insn.append(
            new InsnInterfaceInvoke(
                pool.addInterfaceMethodRef(
                    JDO_StateManager_Path,
                    providedXXXField_Name,
                    providedXXXField_Sig),
                countMethodArgWords(providedXXXField_Sig)));
View Full Code Here


        insn = insn.append(Insn.create(opc_aload_0));
        insn = insn.append(Insn.create(opc_iload_1));

        // call replacingXXXField
        insn = insn.append(
            new InsnInterfaceInvoke(
                pool.addInterfaceMethodRef(
                    JDO_StateManager_Path,
                    replacingXXXField_Name,
                    replacingXXXField_Sig),
                countMethodArgWords(replacingXXXField_Sig)));
View Full Code Here

        insn = insn.append(InsnUtils.integerConstant(keyFieldNo, pool));
        insn = insn.append(Insn.create(opc_iadd));

        // call fetchXXXField
        insn = insn.append(
            new InsnInterfaceInvoke(
                pool.addInterfaceMethodRef(
                    JDO_ObjectIdFieldSupplier_Path,
                    fetchXXXField_Name,
                    fetchXXXField_Sig),
                countMethodArgWords(fetchXXXField_Sig)));
View Full Code Here

        insn = insn.append(Insn.create(opc_aload_3));
        insn = insn.append(Insn.create(opc_getfield, keyFieldRef));

        // call storeXXXField
        insn = insn.append(
            new InsnInterfaceInvoke(
                pool.addInterfaceMethodRef(
                    JDO_ObjectIdFieldConsumer_Path,
                    storeXXXField_Name,
                    storeXXXField_Sig),
                countMethodArgWords(storeXXXField_Sig)));
View Full Code Here

        insn = insn.append(Insn.create(opc_iadd));

        // test result of isLoaded and return field if nonzero
        final InsnTarget mediate = new InsnTarget();
        insn = insn.append(
            new InsnInterfaceInvoke(
                pool.addInterfaceMethodRef(
                    JDO_StateManager_Path,
                    JDO_SM_isLoaded_Name,
                    JDO_SM_isLoaded_Sig),
                countMethodArgWords(JDO_SM_isLoaded_Sig)));
        insn = insn.append(Insn.create(opc_ifeq, mediate));
        insn = appendDirectReadReturn(insn, fieldRef);

        // call sm for mediation
        insn = insn.append(mediate);
        insn = insn.append(InsnUtils.aLoad(varStart, pool));

        // push instance
        insn = insn.append(Insn.create(opc_aload_0));

        // push absolute field index
        insn = insn.append(
            Insn.create(opc_getstatic,
                        pool.addFieldRef(
                            className,
                            JDO_PC_jdoInheritedFieldCount_Name,
                            JDO_PC_jdoInheritedFieldCount_Sig)));
        insn = insn.append(InsnUtils.integerConstant(fieldIndex, pool));
        insn = insn.append(Insn.create(opc_iadd));

        // push field
        insn = insn.append(Insn.create(opc_aload_0));
        insn = insn.append(Insn.create(opc_getfield, fieldRef));

        // call the sm's get field method
        switch (sig.charAt(0)) {
        case 'Z':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_getBooleanField_Name,
                        JDO_SM_getBooleanField_Sig),
                    countMethodArgWords(JDO_SM_getBooleanField_Sig)));
            insn = insn.append(Insn.create(opc_ireturn));
            break;
        case 'C':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_getCharField_Name,
                        JDO_SM_getCharField_Sig),
                    countMethodArgWords(JDO_SM_getCharField_Sig)));
            insn = insn.append(Insn.create(opc_ireturn));
            break;
        case 'B':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_getByteField_Name,
                        JDO_SM_getByteField_Sig),
                    countMethodArgWords(JDO_SM_getByteField_Sig)));
            insn = insn.append(Insn.create(opc_ireturn));
            break;
        case 'S':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_getShortField_Name,
                        JDO_SM_getShortField_Sig),
                    countMethodArgWords(JDO_SM_getShortField_Sig)));
            insn = insn.append(Insn.create(opc_ireturn));
            break;
        case 'I':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_getIntField_Name,
                        JDO_SM_getIntField_Sig),
                    countMethodArgWords(JDO_SM_getIntField_Sig)));
            insn = insn.append(Insn.create(opc_ireturn));
            break;
        case 'J':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_getLongField_Name,
                        JDO_SM_getLongField_Sig),
                    countMethodArgWords(JDO_SM_getLongField_Sig)));
            insn = insn.append(Insn.create(opc_lreturn));
            break;
        case 'F':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_getFloatField_Name,
                        JDO_SM_getFloatField_Sig),
                    countMethodArgWords(JDO_SM_getFloatField_Sig)));
            insn = insn.append(Insn.create(opc_freturn));
            break;
        case 'D':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_getDoubleField_Name,
                        JDO_SM_getDoubleField_Sig),
                    countMethodArgWords(JDO_SM_getDoubleField_Sig)));
            insn = insn.append(Insn.create(opc_dreturn));
            break;
        case 'L':
        case '[':
            if (sig.equals(JAVA_String_Sig)) {
                insn = insn.append(
                    new InsnInterfaceInvoke(
                        pool.addInterfaceMethodRef(
                            JDO_StateManager_Path,
                            JDO_SM_getStringField_Name,
                            JDO_SM_getStringField_Sig),
                        countMethodArgWords(JDO_SM_getStringField_Sig)));
                insn = insn.append(Insn.create(opc_areturn));
            } else {
                insn = insn.append(
                    new InsnInterfaceInvoke(
                        pool.addInterfaceMethodRef(
                            JDO_StateManager_Path,
                            JDO_SM_getObjectField_Name,
                            JDO_SM_getObjectField_Sig),
                        countMethodArgWords(JDO_SM_getObjectField_Sig)));
View Full Code Here

        // call the sm's set field method
        switch (sig.charAt(0)) {
        case 'Z':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_setBooleanField_Name,
                        JDO_SM_setBooleanField_Sig),
                    countMethodArgWords(JDO_SM_setBooleanField_Sig)));
            break;
        case 'C':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_setCharField_Name,
                        JDO_SM_setCharField_Sig),
                    countMethodArgWords(JDO_SM_setCharField_Sig)));
            break;
        case 'B':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_setByteField_Name,
                        JDO_SM_setByteField_Sig),
                    countMethodArgWords(JDO_SM_setByteField_Sig)));
            break;
        case 'S':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_setShortField_Name,
                        JDO_SM_setShortField_Sig),
                    countMethodArgWords(JDO_SM_setShortField_Sig)));
            break;
        case 'I':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_setIntField_Name,
                        JDO_SM_setIntField_Sig),
                    countMethodArgWords(JDO_SM_setIntField_Sig)));
            break;
        case 'J':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_setLongField_Name,
                        JDO_SM_setLongField_Sig),
                    countMethodArgWords(JDO_SM_setLongField_Sig)));
            break;
        case 'F':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_setFloatField_Name,
                        JDO_SM_setFloatField_Sig),
                    countMethodArgWords(JDO_SM_setFloatField_Sig)));
            break;
        case 'D':
            insn = insn.append(
                new InsnInterfaceInvoke(
                    pool.addInterfaceMethodRef(
                        JDO_StateManager_Path,
                        JDO_SM_setDoubleField_Name,
                        JDO_SM_setDoubleField_Sig),
                    countMethodArgWords(JDO_SM_setDoubleField_Sig)));
            break;
        case 'L':
        case '[':
            if (sig.equals(JAVA_String_Sig)) {
                insn = insn.append(
                    new InsnInterfaceInvoke(
                        pool.addInterfaceMethodRef(
                            JDO_StateManager_Path,
                            JDO_SM_setStringField_Name,
                            JDO_SM_setStringField_Sig),
                        countMethodArgWords(JDO_SM_setStringField_Sig)));
            } else {
                insn = insn.append(
                    new InsnInterfaceInvoke(
                        pool.addInterfaceMethodRef(
                            JDO_StateManager_Path,
                            JDO_SM_setObjectField_Name,
                            JDO_SM_setObjectField_Sig),
                        countMethodArgWords(JDO_SM_setObjectField_Sig)));
View Full Code Here

        // call the sm's method with 'this' argument and return
        insn = insn.append(Insn.create(opc_aload_1));
        insn = insn.append(Insn.create(opc_aload_0));
        insn = insn.append(
            new InsnInterfaceInvoke(
                pool.addInterfaceMethodRef(
                    JDO_StateManager_Path,
                    delegateName,
                    delegateSig),
                countMethodArgWords(delegateSig)));
View Full Code Here

        // call the sm's method with 'this' argument and return
        insn = insn.append(Insn.create(opc_aload_1));
        insn = insn.append(Insn.create(opc_aload_0));
        insn = insn.append(
            new InsnInterfaceInvoke(
                pool.addInterfaceMethodRef(
                    JDO_StateManager_Path,
                    delegateName,
                    delegateSig),
                countMethodArgWords(delegateSig)));
View Full Code Here

        insn = insn.append(Insn.create(opc_aload_0));
        insn = insn.append(Insn.create(opc_getfield, managedFieldRef));

        // call providedXXXField
        insn = insn.append(
            new InsnInterfaceInvoke(
                pool.addInterfaceMethodRef(
                    JDO_StateManager_Path,
                    providedXXXField_Name,
                    providedXXXField_Sig),
                countMethodArgWords(providedXXXField_Sig)));
View Full Code Here

        insn = insn.append(Insn.create(opc_aload_0));
        insn = insn.append(Insn.create(opc_iload_1));

        // call replacingXXXField
        insn = insn.append(
            new InsnInterfaceInvoke(
                pool.addInterfaceMethodRef(
                    JDO_StateManager_Path,
                    replacingXXXField_Name,
                    replacingXXXField_Sig),
                countMethodArgWords(replacingXXXField_Sig)));
View Full Code Here

TOP

Related Classes of org.apache.jdo.impl.enhancer.classfile.InsnInterfaceInvoke

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.