Package org.apache.xbean.asm

Examples of org.apache.xbean.asm.ClassReader


     * Fast-parse the given class bytecode to determine if it is an
     * enum class.
     */
    private static boolean isEnum(byte[] bytes) {
        IsEnumVisitor isEnumVisitor = new IsEnumVisitor();
        ClassReader classReader = new ClassReader(bytes);
        classReader.accept(isEnumVisitor, ClassReader.SKIP_DEBUG);
        return isEnumVisitor.isEnum;
    }
View Full Code Here


     * Fast-parse the given class bytecode to determine if it is an
     * annotation class.
     */
    private static boolean isAnnotationClass(byte[] bytes) {
        IsAnnotationVisitor isAnnotationVisitor = new IsAnnotationVisitor();
        ClassReader classReader = new ClassReader(bytes);
        classReader.accept(isAnnotationVisitor, ClassReader.SKIP_DEBUG);
        return isAnnotationVisitor.isAnnotation;
    }
View Full Code Here

            URL resource = classLoader.getResource(className);
            if (resource != null) {
                InputStream in = resource.openStream();
                in = new BufferedInputStream(in);
                try {
                    ClassReader classReader = new ClassReader(in);
                    classReader.accept(visitor, ASM_FLAGS);
                } finally {
                    in.close();
                }
            } else {
                new Exception("Could not load " + className).printStackTrace();
View Full Code Here

    private static byte[] toJava7ByteArray(BCClass bc, byte[] classBytes) throws IOException {
        ByteArrayInputStream bais = new ByteArrayInputStream(classBytes);
        BufferedInputStream bis = new BufferedInputStream(bais);

        ClassWriter cw = new BCClassWriter(ClassWriter.COMPUTE_FRAMES, bc.getClassLoader());
        ClassReader cr = new ClassReader(bis);
        cr.accept(cw, 0);
        return cw.toByteArray();
    }
View Full Code Here

    private static void file(File file, DependencyVisitor dependencyVisitor) {
        try {
            final InputStream in = IO.read(file);
            try {
                ClassReader classReader = new ClassReader(in);
                classReader.accept(dependencyVisitor, ClassWriter.COMPUTE_MAXS);
            } finally {
                IO.close(in);
            }
        } catch (IOException e) {
            e.printStackTrace();
View Full Code Here

    private static void file(File file, KeysAnnotationVisitor visitor) {
        try {
            InputStream in = IO.read(file);
            try {
                ClassReader classReader = new ClassReader(in);
                classReader.accept(visitor, ClassWriter.COMPUTE_MAXS);
            } finally {
                IO.close(in);
            }
        } catch (IOException e) {
            e.printStackTrace();
View Full Code Here

    protected void readClassDef(InputStream in) throws IOException {
        readClassDef(in, null);
    }

    protected void readClassDef(InputStream in, String path) throws IOException {
        ClassReader classReader = new ClassReader(in);
        classReader.accept(new InfoBuildingVisitor(path), ASM_FLAGS);
    }
View Full Code Here

        }
    }

    protected void readClassDef(InputStream in) throws IOException {
        try {
            ClassReader classReader = new ClassReader(in);
            classReader.accept(new InfoBuildingVisitor(), ASM_FLAGS);
        } finally {
            in.close();
        }
    }
View Full Code Here

        return new BundleAssignableClassFinder(packageAdmin, bundle, clses, classDiscoveryFilter);
    }

    @Override
    protected boolean isClassAcceptable(String name, InputStream in) throws IOException {
        ClassReader classReader = new ClassReader(in);
        String className = classReader.getClassName();
        if ((classReader.getAccess() & Opcodes.ACC_INTERFACE) == 0) {
            if (targetClassNames.contains(className)) {
                return true;
            }
        } else {
            if (targetInterfaceNames.contains(className)) {
                return true;
            }
        }
        String[] interfaceNames = classReader.getInterfaces();
        try {
            for (String interfaceName : interfaceNames) {
                if (wiredImportedPackageNames.contains(toASMStylePackageName(interfaceName))) {
                    return isClassAssignable(bundle.loadClass(toJavaStyleClassName(interfaceName)));
                } else {
                    if (isInterfaceAssignable(interfaceName)) {
                        return true;
                    }
                }
            }
            String superClassName = classReader.getSuperName();
            if (wiredImportedPackageNames.contains(toASMStylePackageName(superClassName))) {
                return isClassAssignable(bundle.loadClass(toJavaStyleClassName(superClassName)));
            }
            return isSuperClassAssignable(superClassName);
        } catch (ClassNotFoundException e) {
View Full Code Here

            return false;
        }
        InputStream in = null;
        try {
            in = url.openStream();
            ClassReader classReader = new ClassReader(in);
            String[] superInterfaceNames = classReader.getInterfaces();
            for (String superInterfaceName : superInterfaceNames) {
                if (isInterfaceAssignable(superInterfaceName)) {
                    return true;
                }
            }
View Full Code Here

TOP

Related Classes of org.apache.xbean.asm.ClassReader

Copyright © 2018 www.massapicom. 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.