Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Herrmann2013-01-08 23:30:23 +0000
committerStephan Herrmann2013-01-08 23:39:37 +0000
commita6103c12435a518e248b577e7acd5f71686424fc (patch)
tree9957957a8fc4ad1ccd5e62a6c9656907cff0eaef /testplugins
parent41bcc4ebc12d87ec0dc2dabf9a21dea8affb6ef9 (diff)
downloadorg.eclipse.objectteams-a6103c12435a518e248b577e7acd5f71686424fc.tar.gz
org.eclipse.objectteams-a6103c12435a518e248b577e7acd5f71686424fc.tar.xz
org.eclipse.objectteams-a6103c12435a518e248b577e7acd5f71686424fc.zip
Bug 397712 - [compiler] illegal bytecode from chains of team
constructors
Diffstat (limited to 'testplugins')
-rw-r--r--testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/liftlower/DeclaredLifting.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/liftlower/DeclaredLifting.java b/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/liftlower/DeclaredLifting.java
index 0dbb0dd20..8e225e4dc 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/liftlower/DeclaredLifting.java
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/liftlower/DeclaredLifting.java
@@ -1274,6 +1274,42 @@ public class DeclaredLifting extends AbstractOTJLDTest {
},
"OK0");
}
+
+ // Bug 397712 - [compiler] illegal bytecode from chains of team constructors
+ public void test6112_declaredLiftingInConstructor6() {
+ runConformTest(
+ new String[] {
+ "Team6112dlic6_2.java",
+ "public team class Team6112dlic6_2 extends Team6112dlic6_1 {\n" +
+ " Team6112dlic6_2(T6112dlic6 as R r) { super(r); }\n" +
+ " @Override\n" +
+ " protected class R playedBy T6112dlic6 {\n" +
+ " test -> OK;\n" +
+ " }\n" +
+ " public static void main(String[] args) {\n" +
+ " new Team6112dlic6_2(new T6112dlic6()).test();\n" +
+ " }\n" +
+ "}\n",
+ "Team6112dlic6_1.java",
+ "public team class Team6112dlic6_1 extends Team6112dlic6_0 {\n" +
+ " R r;" +
+ " protected Team6112dlic6_1(R r) { this.r = r; }\n" +
+ " public void test() {\n" +
+ " this.r.test(2);\n" +
+ " }\n" +
+ "}\n",
+ "T6112dlic6.java",
+ "public class T6112dlic6 {\n" +
+ " void OK(int x) { System.out.print(\"OK\"+x); }\n" +
+ "}\n",
+ "Team6112dlic6_0.java",
+ "public abstract team class Team6112dlic6_0 {\n" +
+ " Team6112dlic6_0(){}\n" +
+ " protected abstract class R { protected abstract void test(int l); }\n" +
+ "}\n",
+ },
+ "OK2");
+ }
public void test6113_declaredLiftingOfExternalizedRole1() {
runConformTest(new String[] {

Back to the top