private ClassNode fill(ClassNode node) { if (node.supers == null) { try (InputStream is = ClassLoaderUtil.getResourceAsStream(cl, classToResource(node.name))) { final ClassReader cr = new ClassReader(is); cr.accept(new ClassNodeVisitor(false, ASMAPI, null), ClassReader.SKIP_DEBUG | ClassReader.SKIP_CODE); assert node.supers != null; } catch (IOException e) { throw new RuntimeException("during processing of " + node.name, e); } } return node; }
private String extractSuperClass(String className) { ClassLoader cl = null; if (clRef != null) { cl = clRef.get(); if (cl == null) { return null; } } try (final InputStream is = ClassLoaderUtil.getResourceAsStream(cl, className + ".class")) { ClassReader r = new ClassReader(is); ExtractSuperClass esc = new ExtractSuperClass(); r.accept(esc, ClassReader.SKIP_CODE | ClassReader.SKIP_DEBUG | ClassReader.SKIP_FRAMES); return esc.superClass; } catch (IOException ex) { error(className, ex); } return null; }
try (final InputStream is = ClassLoaderUtil.getResourceAsStream(cl, className + ".class")) { if (is == null) { log(LogLevel.INFO, "Class not found: %s", className);