Package org.objectweb.asm

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


      String gDesc = "()" + desc;
      CodeVisitor gv =
        cv.visitMethod(ACC_PRIVATE, "_get" + name, gDesc, null, null);
      gv.visitFieldInsn(GETSTATIC,
        "java/lang/System", "err", "Ljava/io/PrintStream;");
      gv.visitLdcInsn("_get" + name + " called");
      gv.visitMethodInsn(INVOKEVIRTUAL,
        "java/io/PrintStream", "println", "(Ljava/lang/String;)V");
      gv.visitVarInsn(ALOAD, 0);
      gv.visitFieldInsn(GETFIELD, owner, name, desc);
      gv.visitInsn(t.getOpcode(IRETURN));
View Full Code Here


      String sDesc = "(" + desc + ")V";
      CodeVisitor sv =
        cv.visitMethod(ACC_PRIVATE, "_set" + name, sDesc, null, null);
      sv.visitFieldInsn(GETSTATIC,
        "java/lang/System", "err", "Ljava/io/PrintStream;");
      sv.visitLdcInsn("_set" + name + " called");
      sv.visitMethodInsn(INVOKEVIRTUAL,
        "java/io/PrintStream", "println", "(Ljava/lang/String;)V");
      sv.visitVarInsn(ALOAD, 0);
      sv.visitIntInsn(t.getOpcode(ILOAD), 1);
      sv.visitFieldInsn(PUTFIELD, owner, name, desc);
View Full Code Here

    final int SPLIT_SIZE = 5000;
    int nbSplit = value.length() / SPLIT_SIZE;
    for (int i = 0; i < nbSplit; i++) {
      int j = i * SPLIT_SIZE;
      String s = value.substring(j, j + SPLIT_SIZE);
      c.visitLdcInsn(s);
      c.visitMethodInsn(
        Constants.INVOKEVIRTUAL,
        "java/lang/StringBuffer",
        "append",
        "(Ljava/lang/String;)Ljava/lang/StringBuffer;");
View Full Code Here

        "append",
        "(Ljava/lang/String;)Ljava/lang/StringBuffer;");
    }
    int last = value.length() % SPLIT_SIZE;
    if (last > 0) {
      c.visitLdcInsn(value.substring(SPLIT_SIZE * nbSplit));
      c.visitMethodInsn(
        Constants.INVOKEVIRTUAL,
        "java/lang/StringBuffer",
        "append",
        "(Ljava/lang/String;)Ljava/lang/StringBuffer;");
 
View Full Code Here

            cv.visitInsn(q.includeSubclasses ? ICONST_1 : ICONST_0);
            cv.visitMethodInsn(INVOKEVIRTUAL, sqJCN, "setIncludeSubClasses", "(Z)V");
           
            //addNamedQuery("${nq.name}", sq);
            cv.visitVarInsn(ALOAD, 0);
            cv.visitLdcInsn(q.name);
            cv.visitVarInsn(ALOAD, 1);
            cv.visitMethodInsn(INVOKEVIRTUAL, gc.classToWriteJCN,
                    "addNamedQuery", "(Ljava/lang/String;L" + sqJCN + ";)V");
        }
        cv.visitInsn(RETURN);
View Full Code Here

                                   final String[] exceptions,
                                   final Attribute attrs) {
        CodeVisitor c = cv.visitMethod(access, name, desc, exceptions, attrs);
        if (name.equals("<init>")) {
            c.visitVarInsn(Constants.ALOAD, 0);
            c.visitLdcInsn(speedoClass.getFQName()); //load a constant
            c.visitFieldInsn(Constants.PUTFIELD, className,
                ADDED_FIELD_NAME, ADDED_FIELD_DESC);
        }
        return c;
    }
View Full Code Here

            mv.visitFieldInsn(GETFIELD, xfieldsJCN, f.getName() + "Loaded", "Z");
            mv.visitJumpInsn(IFNE, l1);
            {
                mv.visitTypeInsn(NEW, personality.getDetachedFieldAccessExceptionClassNameSlash());
                mv.visitInsn(DUP);
                mv.visitLdcInsn("Field " + f.getName() + " cannot be accessed: not loaded when the object has been detached");
                mv.visitMethodInsn(INVOKESPECIAL, personality.getDetachedFieldAccessExceptionClassNameSlash(), "<init>", "(Ljava/lang/String;)V");
                mv.visitInsn(ATHROW);
            }
            mv.visitLabel(l1);
        }
View Full Code Here

                mv.visitJumpInsn(IFNE, l5);
                {
                    //throw new DetachedFieldAccessException("Field $f.name cannot be accessed: not loaded when the object has been detached");
                    mv.visitTypeInsn(NEW, personality.getDetachedFieldAccessExceptionClassNameSlash());
                    mv.visitInsn(DUP);
                    mv.visitLdcInsn("Field " + f.getName()
                            + " cannot be accessed: not loaded when the object has been detached");
                    mv.visitMethodInsn(INVOKESPECIAL, personality.getDetachedFieldAccessExceptionClassNameSlash(), "<init>", "(Ljava/lang/String;)V");
                    mv.visitInsn(ATHROW);
                }
                mv.visitLabel(l5);
View Full Code Here

            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(),
                    "<init>", "(Ljava/lang/String;Ljava/lang/Throwable;)V");
            cv.visitInsn(ATHROW);
View Full Code Here

                Object2StringSerializer.DESC_FILE_NAME_PROP,
                xmlFileName);
        for (Iterator it = classProperties.entrySet().iterator(); it.hasNext();) {
            Map.Entry me = (Map.Entry) it.next();
            cv.visitVarInsn(ALOAD, 1);
            cv.visitLdcInsn(me.getKey());
            cv.visitLdcInsn(me.getValue());
            cv.visitMethodInsn(INVOKEVIRTUAL, "java/util/Properties", "setProperty",
                    "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;");
            cv.visitInsn(POP); //remove the result of the setProperty method
        }
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.