Package org.objectweb.asm

Examples of org.objectweb.asm.CodeVisitor.visitTypeInsn()


        //$classNameFields state = ($classNameFields) speedoWriteIntention(${f.jormFielIdDecl});
        mv.visitVarInsn(ALOAD, 0);
        generateFieldIdAsLongArray(f, nbField, mv);
        mv.visitMethodInsn(INVOKEVIRTUAL, classToWrite, "speedoWriteIntention",
                "([J)" + JT_STATE);
        mv.visitTypeInsn(CHECKCAST, xfieldsJCN);
        final int stateIdx = nextLocalVarIdx;
        nextLocalVarIdx++;
        mv.visitVarInsn(ASTORE, stateIdx);

        if (f.getIsReference()) {
View Full Code Here


            cv.visitTypeInsn(NEW, gc.xJCN);
            cv.visitInsn(DUP);
            cv.visitMethodInsn(INVOKESPECIAL, gc.xJCN, "<init>", "()V");
//            cv.visitVarInsn(ASTORE, 2);
//            cv.visitVarInsn(ALOAD, 2);
            cv.visitTypeInsn(CHECKCAST, "org/objectweb/speedo/mim/api/PersistentObjectItf");
            Label l1 = new Label();
            cv.visitLabel(l1);
            cv.visitInsn(ARETURN);
            Label l2 = new Label();
            cv.visitLabel(l2);
View Full Code Here

            final PType pt = (PType) actions[2];
            final String fieldName = (String) actions[1];
            final String jvmFieldType = getJVMType(pt);
            final String wrapper = getJavaWrapper(pt);
            if (wrapper != null) {
                mv.visitTypeInsn(NEW, wrapper);
                mv.visitInsn(DUP);
            }
            generateGetRefState(mv, true);
            mv.visitFieldInsn(GETFIELD, xfieldsJCN, fieldName, jvmFieldType);
            if (wrapper != null) {
View Full Code Here

            cv.visitLabel(l1);
            cv.visitInsn(ARETURN);
            Label l2 = new Label();
            cv.visitLabel(l2);
            cv.visitVarInsn(ASTORE, 2);
            cv.visitTypeInsn(NEW, personality.getUserRuntimeExceptionClassNameSlash());
            cv.visitInsn(DUP);
            cv.visitLdcInsn("Impossible to instanciate the class " + gc.classToWriteJCN + ": ");
            cv.visitVarInsn(ALOAD, 2);
            cv.visitMethodInsn(INVOKESPECIAL,
                personality.getUserRuntimeExceptionClassNameSlash(),
View Full Code Here

   
    private void generateSpeedoCreateStateMethod() {
        CodeVisitor mv;
        mv = cv.visitMethod(ACC_PUBLIC, M_SPEEDO_CREATE_STATE, "()" + JT_STATE, null, null);
        //return new $classNameFields(this);
        mv.visitTypeInsn(NEW, xfieldsJCN);
        mv.visitInsn(DUP);
        mv.visitVarInsn(ALOAD, 0);
        mv.visitMethodInsn(INVOKESPECIAL, xfieldsJCN, "<init>", "(" + JT_PO + ")V");
        mv.visitInsn(ARETURN);
        mv.visitMaxs(0, 0);
View Full Code Here

        }
    }
    private void generateGetClassProperties(HomeContext gc) throws SpeedoException {
        CodeVisitor cv = gc.cv.visitMethod(ACC_PUBLIC + ACC_FINAL, "getClassProperties",
                "()Ljava/util/Properties;", null, null);
        cv.visitTypeInsn(NEW, "java/util/Properties");
        cv.visitInsn(DUP);
        cv.visitMethodInsn(INVOKESPECIAL, "java/util/Properties", "<init>", "()V");
        cv.visitVarInsn(ASTORE, 1);
       
        Properties classProperties = new Properties();
View Full Code Here

        CodeVisitor mv;
        mv = cv.visitMethod(ACC_PUBLIC, M_SPEEDO_SET_REF_STATE, "("+ JT_STATE + ")V", null, null);
        //speedoReferenceState = ($classNameFields) refAcc;
        mv.visitVarInsn(ALOAD, 0);
        mv.visitVarInsn(ALOAD, 1);
        mv.visitTypeInsn(CHECKCAST, xfieldsAncestorJCN);
        mv.visitFieldInsn(PUTFIELD, ancestorJCN, REFSTATE_FIELD_NAME, xfieldsAncestorJT);
        mv.visitInsn(RETURN);
        mv.visitMaxs(0, 0);
    }
    private void generateSpeedoCopyStateMethod() {
View Full Code Here

        CodeVisitor mv;
        mv = cv.visitMethod(ACC_PUBLIC, M_SPEEDO_COPY_STATE,
                "(" + JT_STATE + JT_STATE + ")V", null, null);
        //(($classNameFields) src).speedoCopyState(src, dest);
        mv.visitVarInsn(ALOAD, 1);
        mv.visitTypeInsn(CHECKCAST, xfieldsJCN);
        mv.visitVarInsn(ALOAD, 1);
        mv.visitVarInsn(ALOAD, 2);
        mv.visitMethodInsn(INVOKEVIRTUAL, xfieldsJCN, M_SPEEDO_COPY_STATE,
                "(" + JT_STATE + JT_STATE + ")V");
        mv.visitInsn(RETURN);
View Full Code Here

               
                //parameter ${userCacheFieldNames.get($ucn)}
                // new String[]{"f1", "f2"}
                final List fields = (List) gc.ucn2sfs.get(ucn);
                Util.visitIntConstant(cv, fields.size()); //Array size
                cv.visitTypeInsn(ANEWARRAY, "java/lang/String");
                for (int fieldIdx = 0; fieldIdx < fields.size(); fieldIdx++) {
                    SpeedoField sf = (SpeedoField) fields.get(fieldIdx);
                    cv.visitInsn(DUP);
                    Util.visitIntConstant(cv, fieldIdx); //index
                    cv.visitLdcInsn(sf.name); //value = field name
View Full Code Here

        CodeVisitor cv = gc.cv.visitMethod(ACC_PUBLIC, "initSH", "()V", null, null);
        String sqJCN = getJVMClassName(getQueryClass());
        for (Iterator it = gc.sc.name2query.values().iterator(); it.hasNext();) {
            SpeedoPredefinedQuery q = (SpeedoPredefinedQuery) it.next();
            //sq = new SpeedoQuery();
            cv.visitTypeInsn(NEW, sqJCN);
            cv.visitInsn(DUP);
            cv.visitMethodInsn(INVOKESPECIAL, sqJCN, "<init>", "()V");
            cv.visitVarInsn(ASTORE, 1); //Always use the same variable 1
           
            if (q.query != null) {
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. 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.