Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Herrmann2012-10-07 02:03:29 +0000
committerStephan Herrmann2012-10-07 02:03:29 +0000
commit89ecdad2393f5918986c1be79e6300429bb03ab5 (patch)
tree1f8489c10168051f7eef3147c435fa97793d0b70 /testplugins
parent5775ef0f065a3864d10c9a5576a4b2b6365b785d (diff)
downloadorg.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.java61
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() {

Back to the top