diff options
author | Stephan Herrmann | 2012-10-07 02:03:29 +0000 |
---|---|---|
committer | Stephan Herrmann | 2012-10-07 02:03:29 +0000 |
commit | 89ecdad2393f5918986c1be79e6300429bb03ab5 (patch) | |
tree | 1f8489c10168051f7eef3147c435fa97793d0b70 /testplugins | |
parent | 5775ef0f065a3864d10c9a5576a4b2b6365b785d (diff) | |
download | org.eclipse.objectteams-89ecdad2393f5918986c1be79e6300429bb03ab5.tar.gz org.eclipse.objectteams-89ecdad2393f5918986c1be79e6300429bb03ab5.tar.xz org.eclipse.objectteams-89ecdad2393f5918986c1be79e6300429bb03ab5.zip |
Bug 391290 - Internal compiler error/Corrupt byte code
Diffstat (limited to 'testplugins')
-rw-r--r-- | testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/roleplaying/LiftingAndLowering.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/roleplaying/LiftingAndLowering.java b/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/roleplaying/LiftingAndLowering.java index 1b6ad6f05..d323f10a9 100644 --- a/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/roleplaying/LiftingAndLowering.java +++ b/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/roleplaying/LiftingAndLowering.java @@ -4861,6 +4861,67 @@ public class LiftingAndLowering extends AbstractOTJLDTest { "OK"); } + // Bug 391290 - Internal compiler error/Corrupt byte code + // witness for "tsuper has corrupt byte code" regarding call to _OT$getBase() + public void test2229_explicitLowering4() { + runConformTest( + new String[] { + "Team2229el4_2.java", + "public team class Team2229el4_2 extends Team2229el4_1 {\n" + + " public static void main(String[] args) {\n" + + " new Team2229el4_2().test(new T2229el4());\n" + + " }\n" + + "}\n", + "Team2229el4_1.java", + "public team class Team2229el4_1 {\n" + + " protected class R implements ILowerable playedBy T2229el4 {\n" + + " protected void test() {\n" + + " this.lower().bar();\n" + + " }\n" + + " }\n" + + " void test(T2229el4 as R r) { r.test(); }\n" + + "}\n", + "T2229el4.java", + "public class T2229el4 {\n" + + " void bar() { System.out.print(\"OK\"); }\n" + + "}\n" + }, + "OK"); + } + + // Bug 391290 - Internal compiler error/Corrupt byte code + // positive case involving copy-inherited call to _OT$getBase() + public void test2229_explicitLowering4b() { + runConformTest( + new String[] { + "Team2229el4b_2.java", + "public team class Team2229el4b_2 extends Team2229el4b_1 {\n" + + " public static void main(String[] args) {\n" + + " new Team2229el4b_2().test(new T2229el4b());\n" + + " }\n" + + "}\n", + "Team2229el4b_1.java", + "public team class Team2229el4b_1 {" + + " protected team class Mid {\n" + + " protected class R playedBy T2229el4b {\n" + + " }\n" + + " protected void test(T2229el4b as R r) { " + + " T2229el4b b = r;\n" + + " b.bar();\n" + + " }\n" + + " }\n" + + " public void test(T2229el4b b) {\n" + + " new Mid().test(b);\n" + + " }\n" + + "}\n", + "T2229el4b.java", + "public class T2229el4b {\n" + + " void bar() { System.out.print(\"OK\"); }\n" + + "}\n", + }, + "OK"); + } + // a static team method tries to lift its parameter // 2.2.30-otjld-declared-lifting-in-static-method public void test2230_declaredLiftingInStaticMethod() { |