Search in sources :

Example 11 with ClassReader

use of org.apache.xbean.asm9.ClassReader in project tomee by apache.

the class ValidationKeysAuditorTest method file.

private static void file(final File file, final KeysAnnotationVisitor visitor) {
    try {
        final InputStream in = IO.read(file);
        try {
            final ClassReader classReader = new ClassReader(in);
            classReader.accept(visitor, ClassWriter.COMPUTE_FRAMES);
        } finally {
            IO.close(in);
        }
    } catch (final IOException e) {
        e.printStackTrace();
    }
}
Also used : InputStream(java.io.InputStream) ClassReader(org.apache.xbean.asm9.ClassReader) IOException(java.io.IOException)

Example 12 with ClassReader

use of org.apache.xbean.asm9.ClassReader in project tomee by apache.

the class JpaTest method addNewField.

public static byte[] addNewField(final byte[] origBytes) {
    final ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_FRAMES);
    final FieldAdderClassVisitor visitor = new FieldAdderClassVisitor(classWriter);
    final ClassReader classReader = new ClassReader(origBytes);
    classReader.accept(visitor, 0);
    return classWriter.toByteArray();
}
Also used : ClassReader(org.apache.xbean.asm9.ClassReader) ClassWriter(org.apache.xbean.asm9.ClassWriter)

Example 13 with ClassReader

use of org.apache.xbean.asm9.ClassReader in project tomee by apache.

the class DynamicSubclass method copyMethodAnnotations.

public static void copyMethodAnnotations(final Class<?> classToProxy, final Map<String, MethodVisitor> visitors) throws ProxyGenerationException {
    // Move all the annotations onto the newly implemented methods
    // Ensures CDI and JAX-RS and JAX-WS still work
    Class clazz = classToProxy;
    while (clazz != null && !clazz.equals(Object.class)) {
        try {
            final ClassReader classReader = new ClassReader(readClassFile(clazz));
            final ClassVisitor copyMethodAnnotations = new CopyMethodAnnotations(visitors);
            classReader.accept(copyMethodAnnotations, ClassReader.SKIP_CODE);
        } catch (final IOException e) {
            throw new ProxyGenerationException(e);
        }
        clazz = clazz.getSuperclass();
    }
}
Also used : ProxyGenerationException(org.apache.openejb.util.proxy.ProxyGenerationException) ClassReader(org.apache.xbean.asm9.ClassReader) ClassVisitor(org.apache.xbean.asm9.ClassVisitor) IOException(java.io.IOException)

Example 14 with ClassReader

use of org.apache.xbean.asm9.ClassReader in project geronimo-xbean by apache.

the class XbeanAsmParameterNameLoader method createClassReader.

private static ClassReader createClassReader(Class declaringClass) throws IOException {
    InputStream in = null;
    try {
        ClassLoader classLoader = declaringClass.getClassLoader();
        in = classLoader.getResourceAsStream(declaringClass.getName().replace('.', '/') + ".class");
        ClassReader reader = new ClassReader(in);
        return reader;
    } finally {
        if (in != null) {
            try {
                in.close();
            } catch (IOException ignored) {
            }
        }
    }
}
Also used : InputStream(java.io.InputStream) ClassReader(org.apache.xbean.asm9.ClassReader) IOException(java.io.IOException)

Example 15 with ClassReader

use of org.apache.xbean.asm9.ClassReader in project jodd by oblac.

the class ProxyAspectData method getCachedAdviceClassReader.

/**
	 * Returns class reader for advice.
	 */
private ClassReader getCachedAdviceClassReader(Class<? extends ProxyAdvice> advice) {
    if (adviceClassReaderCache == null) {
        adviceClassReaderCache = new HashMap<>();
    }
    ClassReader adviceReader = adviceClassReaderCache.get(advice);
    if (adviceReader == null) {
        adviceReader = createAdviceClassReader(advice);
        adviceClassReaderCache.put(advice, adviceReader);
    }
    return adviceReader;
}
Also used : ClassReader(jodd.asm5.ClassReader)

Aggregations

IOException (java.io.IOException)16 ClassReader (org.apache.xbean.asm9.ClassReader)13 InputStream (java.io.InputStream)12 JarEntry (java.util.jar.JarEntry)5 ClassReader (org.apache.xbean.asm6.ClassReader)5 ClassReader (jodd.asm5.ClassReader)4 File (java.io.File)3 FileInputStream (java.io.FileInputStream)3 FileOutputStream (java.io.FileOutputStream)3 ArrayList (java.util.ArrayList)3 HashMap (java.util.HashMap)3 List (java.util.List)3 Optional.ofNullable (java.util.Optional.ofNullable)3 JarOutputStream (java.util.jar.JarOutputStream)3 Stream (java.util.stream.Stream)3 ProxyGenerationException (org.apache.openejb.util.proxy.ProxyGenerationException)3 EXPAND_FRAMES (org.apache.xbean.asm6.ClassReader.EXPAND_FRAMES)3 ClassWriter (org.apache.xbean.asm6.ClassWriter)3 COMPUTE_FRAMES (org.apache.xbean.asm6.ClassWriter.COMPUTE_FRAMES)3 ClassRemapper (org.apache.xbean.asm6.commons.ClassRemapper)3