Package org.apache.xbean.asm

Examples of org.apache.xbean.asm.MethodVisitor.visitInsn()


    int length = 1;
   
    // push parameters into array
    for (int i = 0; i < parameterTypes.length; i++) {
      // keep copy of array on stack
      mv.visitInsn(DUP);
     
      Class<?> parameterType = parameterTypes[i];
     
      // push number onto stack
      pushIntOntoStack(mv, i);
View Full Code Here


        mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Object", "getClass", "()Ljava/lang/Class;");
        mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Class", "getName", "()Ljava/lang/String;");
        mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;");
        mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;");
        mv.visitMethodInsn(INVOKESPECIAL, "java/lang/IllegalArgumentException", "<init>", "(Ljava/lang/String;)V");
        mv.visitInsn(ATHROW);

        mv.visitMaxs(0, 0);
        mv.visitEnd();
    }
View Full Code Here

        mv.visitFieldInsn(GETSTATIC, wrapperType, "TYPE", "Ljava/lang/Class;");
      } else {
        mv.visitLdcInsn(Type.getType(getAsmTypeAsString(parameterType, true)));
      }
     
      mv.visitInsn(AASTORE);
     
      if (Long.TYPE.equals(parameterType) || Double.TYPE.equals(parameterType)) {
        length += 2;
      } else {
        length++;
View Full Code Here

    int index = 1;
    // push parameters into array
    for (int i = 0; i < parameterTypes.length; i++) {
      // keep copy of array on stack
      mv.visitInsn(DUP);
     
      Class<?> parameterType = parameterTypes[i];
     
      // push number onto stack
      pushIntOntoStack(mv, i);
View Full Code Here

      if (parameterType.isPrimitive()) {
        String wrapperType = getWrapperType(parameterType);
        mv.visitVarInsn(getVarInsn(parameterType), index);
       
        mv.visitMethodInsn(INVOKESTATIC, wrapperType, "valueOf", "(" + getPrimitiveLetter(parameterType) + ")L" + wrapperType + ";");
        mv.visitInsn(AASTORE);
       
        if (Long.TYPE.equals(parameterType) || Double.TYPE.equals(parameterType)) {
          index += 2;
        } else {
          index++;
View Full Code Here

        String methodName = cmpField.getGetterMethod().getName();
        MethodVisitor mv = cw.visitMethod(ACC_PUBLIC, methodName, "()" + cmpField.getDescriptor(), null, null);
        mv.visitCode();
        mv.visitVarInsn(ALOAD, 0);
        mv.visitFieldInsn(GETFIELD, implClassName, cmpField.getName(), cmpField.getDescriptor());
        mv.visitInsn(cmpField.getType().getOpcode(IRETURN));
        mv.visitMaxs(0, 0);
        mv.visitEnd();
    }

    /**
 
View Full Code Here

        } else {
          index++;
        }
      } else {
        mv.visitVarInsn(ALOAD, index);
        mv.visitInsn(AASTORE);
        index++;
      }
    }

    // invoke the invocationHandler
View Full Code Here

    }
   
    // push return
    mv.visitLabel(l1);
    if (! Void.TYPE.equals(returnType)) {
      mv.visitInsn(getReturnInsn(returnType));
    } else {
      mv.visitInsn(POP);
      mv.visitInsn(RETURN);
    }
View Full Code Here

    // push return
    mv.visitLabel(l1);
    if (! Void.TYPE.equals(returnType)) {
      mv.visitInsn(getReturnInsn(returnType));
    } else {
      mv.visitInsn(POP);
      mv.visitInsn(RETURN);
    }

    // catch InvocationTargetException
    if (exceptionTypes.length > 0) {
View Full Code Here

    mv.visitLabel(l1);
    if (! Void.TYPE.equals(returnType)) {
      mv.visitInsn(getReturnInsn(returnType));
    } else {
      mv.visitInsn(POP);
      mv.visitInsn(RETURN);
    }

    // catch InvocationTargetException
    if (exceptionTypes.length > 0) {
      mv.visitLabel(l2);
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.