diff options
Diffstat (limited to 'src/test/java/demobug/DemoBug1.java')
-rw-r--r-- | src/test/java/demobug/DemoBug1.java | 58 |
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); + } +}; |