Package org.objectweb.asm

Examples of org.objectweb.asm.ClassWriter.toByteArray()


            // END public <type> <method>() { return helper.<method>(); }
        }

        visitor.visitEnd();

        byte[] bytecode = visitor.toByteArray();
        return (Class<T>) ReflectionUtil.invoke(type.getClassLoader(), "defineClass", new Object[]{
                typeName, bytecode, 0, bytecode.length
        });
    }
View Full Code Here


        methodVisitor.visitMaxs(0, 0);
        methodVisitor.visitEnd();

        visitor.visitEnd();

        byte[] bytecode = visitor.toByteArray();
        return (Class<T>) ReflectionUtil.invoke(type.getClassLoader(), "defineClass", new Object[]{
                typeName, bytecode, 0, bytecode.length
        });
    }
}
View Full Code Here

  public void test() throws Exception {
    ClassWriter cw = new ClassWriter(0);
    CheckClassAdapter ca = new CheckClassAdapter(cw);
    ClassVisitor cv = getClassAdapter(ca);
    generateBasicClass(cv);
    checkClass(defineClass("C", cw.toByteArray()));
  }

  protected void checkClass(Class c) throws Exception {
    Object o = c.newInstance();
    Method m = c.getMethod("m");
View Full Code Here

        ProxyGeneratorTest.this.args = args;
        return 1;
      }
    };

    Class c = defineClass("C", cw.toByteArray());
    Constructor ct = c.getConstructor(InvocationHandler.class);
    Comparable o = (Comparable) ct.newInstance(handler);
    int result = o.compareTo(new Integer(123));

    assertEquals(o, p);
View Full Code Here

    ClassWriter cw = new ClassWriter(0);
    CheckClassAdapter ca = new CheckClassAdapter(cw);
    bg.generate(ca);

    Class c = defineClass("MyBean", cw.toByteArray());
    checkClass(c);
  }

  protected void checkClass(Class c) throws Exception {
    Object bean = c.newInstance();
View Full Code Here

    ClassWriter cw = new ClassWriter(0);
    CheckClassAdapter ca = new CheckClassAdapter(cw);
    ClassNode cn = generateBasicClass();
    new AddMethodTransformer(null).transform(cn);
    cn.accept(ca);
    checkClass(defineClass("C", cw.toByteArray()));
  }

  @Override
  protected ClassVisitor getClassAdapter(final ClassVisitor cv) {
    return new ClassNode() {
View Full Code Here

    ClassWriter cw = new ClassWriter(0);
    CheckClassAdapter ca = new CheckClassAdapter(cw);
    ClassNode cn = generateBasicClass();
    new RemoveFieldTransformer(null, "f").transform(cn);
    cn.accept(ca);
    checkClass(defineClass("C", cw.toByteArray()));
  }

  @Override
  protected ClassVisitor getClassAdapter(final ClassVisitor cv) {
    return new ClassNode() {
View Full Code Here

    CheckClassAdapter ca = new CheckClassAdapter(cw);
    ClassNode cn = generateBasicClass();
    new AddFieldTransformer(null, ACC_PUBLIC, "field", "I")
        .transform(cn);
    cn.accept(ca);
    checkClass(defineClass("C", cw.toByteArray()));
  }

  @Override
  protected ClassVisitor getClassAdapter(final ClassVisitor cv) {
    return new ClassNode() {
View Full Code Here

    ClassWriter cw = new ClassWriter(0);
    CheckClassAdapter ca = new CheckClassAdapter(cw);
    ClassNode cn = generateBasicClass();
    new RemoveMethodTransformer(null, "m", "()V").transform(cn);
    cn.accept(ca);
    checkClass(defineClass("C", cw.toByteArray()));
  }

  @Override
  protected ClassVisitor getClassAdapter(final ClassVisitor cv) {
    return new ClassNode() {
View Full Code Here

    ClassWriter cw = new ClassWriter(0);
    CheckClassAdapter ca = new CheckClassAdapter(cw);
    AddFieldAdapter af = new AddFieldAdapter(ca, ACC_PUBLIC, "field",
        "I");
    generateBasicClass(af);
    checkClass(defineClass("C", cw.toByteArray()));
  }

  protected void checkClass(Class c) throws Exception {
    Field f = c.getField("field");
    assertEquals(f.getType(), int.class);
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.