aboutsummaryrefslogtreecommitdiff
path: root/src/test/javassist/compiler/CodeTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/javassist/compiler/CodeTest.java')
-rw-r--r--src/test/javassist/compiler/CodeTest.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/javassist/compiler/CodeTest.java b/src/test/javassist/compiler/CodeTest.java
new file mode 100644
index 0000000..0cff553
--- /dev/null
+++ b/src/test/javassist/compiler/CodeTest.java
@@ -0,0 +1,26 @@
+package javassist.compiler;
+
+import java.io.*;
+import javassist.*;
+import javassist.bytecode.*;
+
+public class CodeTest implements TokenId {
+ public static void main(String[] args) throws Exception {
+ ClassPool loader = ClassPool.getDefault();
+
+ CtClass c = loader.get(args[0]);
+
+ String line
+ = new BufferedReader(new InputStreamReader(System.in)).readLine();
+ Bytecode b = new Bytecode(c.getClassFile().getConstPool(), 0, 0);
+
+ Javac jc = new Javac(b, c);
+ CtMember obj = jc.compile(line);
+ if (obj instanceof CtMethod)
+ c.addMethod((CtMethod)obj);
+ else
+ c.addConstructor((CtConstructor)obj);
+
+ c.writeFile();
+ }
+}