From a96f2ed445094419f626c1ccdd767193ee687f80 Mon Sep 17 00:00:00 2001 From: Konloch Date: Tue, 6 Jul 2021 15:11:55 -0700 Subject: [PATCH] ClassNodeLoader Cleanup --- .../club/bytecodeviewer/api/ClassNodeLoader.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/api/ClassNodeLoader.java b/src/main/java/the/bytecode/club/bytecodeviewer/api/ClassNodeLoader.java index 4c5c0d2a..f0be6f85 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/api/ClassNodeLoader.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/api/ClassNodeLoader.java @@ -33,8 +33,8 @@ import org.objectweb.asm.tree.ClassNode; * @author Demmonic */ -public final class ClassNodeLoader extends ClassLoader { - +public final class ClassNodeLoader extends ClassLoader +{ private final HashMap classes = new HashMap<>(); /** @@ -112,15 +112,18 @@ public final class ClassNodeLoader extends ClassLoader { * @param node The node to convert * @return The converted class */ - public Class nodeToClass(ClassNode node) { + public Class nodeToClass(ClassNode node) + { if (super.findLoadedClass(node.name.replace("/", ".")) != null) return findLoadedClass(node.name.replace("/", ".")); + ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS); try { node.accept(cw); } catch (Exception e) { e.printStackTrace(); } + byte[] b = cw.toByteArray(); return defineClass(node.name.replaceAll("/", "."), b, 0, b.length, getDomain());