Launcher/LaunchServer/src/main/java/pro/gravit/launchserver/asm/NodeUtils.java

23 lines
626 B
Java
Raw Normal View History

2019-09-15 20:22:30 +03:00
package pro.gravit.launchserver.asm;
import java.io.IOException;
import java.io.InputStream;
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.tree.ClassNode;
import pro.gravit.utils.helper.IOHelper;
public final class NodeUtils {
private NodeUtils() { }
public static ClassNode forClass(Class<?> cls, int flags) {
try (InputStream in = cls.getClassLoader().getResourceAsStream(cls.getName().replace('.', '/') + ".class")) {
ClassNode ret = new ClassNode();
new ClassReader(IOHelper.read(in)).accept(ret, flags);
return ret;
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}