@Override
    public ClassNode analyze(IAnalysisCache analysisCache, ClassDescriptor descriptor) throws CheckedAnalysisException {
        ClassReader classReader = analysisCache.getClassAnalysis(ClassReader.class, descriptor);

        ICodeBaseEntry entry = analysisCache.getClassPath().lookupResource(descriptor.toResourceName());

        // One of the less-than-ideal features of ASM is that
        // invalid classfile format is indicated by a
        // random runtime exception rather than something
        // indicative of the real problem.
        try {
            ClassNode cn = new ClassNode();
            classReader.accept(cn, 0);
            return cn;
        } catch (RuntimeException e) {
            throw new InvalidClassFileFormatException(descriptor, entry, e);
        }
    }
@ Override public ClassNode analyze ( IAnalysisCache analysisCache , ClassDescriptor descriptor ) throws CheckedAnalysisException { ClassReader classReader = analysisCache . getClassAnalysis ( ClassReader . class , descriptor ) ; ICodeBaseEntry entry = analysisCache . getClassPath ( ) . lookupResource ( descriptor . toResourceName ( ) ) ; try { ClassNode cn = new ClassNode ( ) ; classReader . accept ( cn , 0 ) ; return cn ; } catch ( RuntimeException e ) { throw new InvalidClassFileFormatException ( descriptor , entry , e ) ; } }
/*
(non-Javadoc)

@see
edu.umd.cs.findbugs.classfile.IAnalysisEngine#analyze(edu.umd.cs.findbugs
.classfile.IAnalysisCache, java.lang.Object)