summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/Util.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/Util.java')
-rw-r--r--src/cuchaz/enigma/Util.java20
1 files changed, 20 insertions, 0 deletions
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;
12 12
13import java.awt.Desktop; 13import java.awt.Desktop;
14import java.io.Closeable; 14import java.io.Closeable;
15import java.io.File;
16import java.io.FileOutputStream;
15import java.io.IOException; 17import java.io.IOException;
16import java.io.InputStream; 18import java.io.InputStream;
17import java.io.InputStreamReader; 19import java.io.InputStreamReader;
@@ -19,6 +21,10 @@ import java.net.URI;
19import java.net.URISyntaxException; 21import java.net.URISyntaxException;
20import java.util.jar.JarFile; 22import java.util.jar.JarFile;
21 23
24import javassist.CannotCompileException;
25import javassist.CtClass;
26import javassist.bytecode.Descriptor;
27
22import com.google.common.io.CharStreams; 28import com.google.common.io.CharStreams;
23 29
24 30
@@ -106,4 +112,18 @@ public class Util
106 } 112 }
107 } 113 }
108 } 114 }
115
116 public static void writeClass( CtClass c )
117 {
118 String name = Descriptor.toJavaName( c.getName() );
119 File file = new File( name + ".class" );
120 try( FileOutputStream out = new FileOutputStream( file ) )
121 {
122 out.write( c.toBytecode() );
123 }
124 catch( IOException | CannotCompileException ex )
125 {
126 throw new Error( ex );
127 }
128 }
109} 129}