protected void readClassDef(InputStream in) throws IOException { try { ClassReader classReader = new ClassReader(in); classReader.accept(new InfoBuildingVisitor(), ASM_FLAGS); } finally { in.close(); } }
private int findJavaVersion(final Class<?> from) { final String resource = from.getName().replace('.', '/') + ".class"; try (final InputStream stream = from.getClassLoader().getResourceAsStream(resource)) { if (stream == null) { return javaVersion; } final ClassReader reader = new ClassReader(stream); final VersionVisitor visitor = new VersionVisitor(); reader.accept(visitor, SKIP_DEBUG + SKIP_CODE + SKIP_FRAMES); if (visitor.version != 0) { return visitor.version; } } catch (final Exception e) { // no-op } // mainly for JVM classes - outside the classloader, find to fallback on the JVM // version return javaVersion; }
private int findJavaVersion(final Class<?> from) { final String resource = from.getName().replace('.', '/') + ".class"; try (final InputStream stream = from.getClassLoader().getResourceAsStream(resource)) { if (stream == null) { return javaVersion; } final ClassReader reader = new ClassReader(stream); final VersionVisitor visitor = new VersionVisitor(); reader.accept(visitor, SKIP_DEBUG + SKIP_CODE + SKIP_FRAMES); if (visitor.version != 0) { return visitor.version; } } catch (final Exception e) { // no-op } // mainly for JVM classes - outside the classloader, find to fallback on the JVM version return javaVersion; }
protected void readClassDef(InputStream in, String path) throws IOException { ClassReader classReader = new ClassReader(in); classReader.accept(new InfoBuildingVisitor(path), ASM_FLAGS); }
reader.accept(visitor, 0);
reader.accept(visitor, 0);