From 34c1e8e64ec4575527a19fb4cb0640c57da784db Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 18 Aug 2014 00:55:30 -0400 Subject: crap-ton of bug fixes for inner classes --- src/cuchaz/enigma/Util.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/cuchaz/enigma/Util.java') diff --git a/src/cuchaz/enigma/Util.java b/src/cuchaz/enigma/Util.java index 84927fd..3686ef0 100644 --- a/src/cuchaz/enigma/Util.java +++ b/src/cuchaz/enigma/Util.java @@ -12,6 +12,8 @@ package cuchaz.enigma; import java.awt.Desktop; import java.io.Closeable; +import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -19,6 +21,10 @@ import java.net.URI; import java.net.URISyntaxException; import java.util.jar.JarFile; +import javassist.CannotCompileException; +import javassist.CtClass; +import javassist.bytecode.Descriptor; + import com.google.common.io.CharStreams; @@ -106,4 +112,18 @@ public class Util } } } + + public static void writeClass( CtClass c ) + { + String name = Descriptor.toJavaName( c.getName() ); + File file = new File( name + ".class" ); + try( FileOutputStream out = new FileOutputStream( file ) ) + { + out.write( c.toBytecode() ); + } + catch( IOException | CannotCompileException ex ) + { + throw new Error( ex ); + } + } } -- cgit v1.2.3