From ea3e1b949dcbdc09518f17eee0bcf21d41d76896 Mon Sep 17 00:00:00 2001 From: Kenny Ballou Date: Mon, 19 Nov 2018 22:59:50 -0700 Subject: OJ (aka OpenJava) modernization/mirroring Signed-off-by: Kenny Ballou --- src/test/java/demobug/DemoBug1.java | 58 +++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/test/java/demobug/DemoBug1.java (limited to 'src/test/java/demobug/DemoBug1.java') 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); + } +}; -- cgit v1.2.1