summaryrefslogtreecommitdiff
path: root/src/test/java/demobug/DemoBug1.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/demobug/DemoBug1.java')
-rw-r--r--src/test/java/demobug/DemoBug1.java58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/test/java/demobug/DemoBug1.java b/src/test/java/demobug/DemoBug1.java
new file mode 100644
index 0000000..f0b10f2
--- /dev/null
+++ b/src/test/java/demobug/DemoBug1.java
@@ -0,0 +1,58 @@
+package demobug;
+
+import io.devnulllabs.openjava.mop.Environment;
+import io.devnulllabs.openjava.mop.MOPException;
+import io.devnulllabs.openjava.mop.MetaInfo;
+import io.devnulllabs.openjava.mop.OJClass;
+import io.devnulllabs.openjava.mop.OJMethod;
+import io.devnulllabs.openjava.mop.OJModifier;
+import io.devnulllabs.openjava.mop.OJSystem;
+import io.devnulllabs.openjava.ptree.ClassDeclaration;
+import io.devnulllabs.openjava.ptree.StatementList;
+
+public class DemoBug1 extends OJClass {
+
+ public void translateDefinition() throws MOPException {
+
+ // Must load some classes
+ String[] toFind = new String[] { "Bug1", "Bug1$Bug2", "Bug1.Bug2" };
+ for (int i = 0; i < toFind.length; ++i) {
+ try {
+ forName("examples.test." + toFind[i]);
+ } catch (io.devnulllabs.openjava.mop.OJClassNotFoundException ex) {
+ System.err.println(toFind[i] + " not found !");
+ }
+ }
+ String body =
+ "{\n"
+ + "\t int i=Bug1.Bug2.bug;"
+ + "\t Integer I=new Integer(i);\n"
+ + "\t System.out.println(\"Here's the famous value : \"+I);\n"
+ + "}\n";
+
+ OJMethod buggy =
+ new OJMethod(
+ this,
+ OJModifier.forModifier(OJModifier.PUBLIC),
+ OJSystem.VOID,
+ "Buggy",
+ new OJClass[] {
+ }, null, null);
+ StatementList StBody =
+ new StatementList(makeStatement(buggy.getEnvironment(), body));
+ buggy.setBody(StBody);
+ addMethod(buggy);
+
+ }
+
+ public DemoBug1(
+ Environment outer_env,
+ OJClass declarer,
+ ClassDeclaration ptree) {
+ super(outer_env, declarer, ptree);
+ }
+
+ public DemoBug1(Class javaclass, MetaInfo minfo) {
+ super(javaclass, minfo);
+ }
+};