aboutsummaryrefslogtreecommitdiff
path: root/tests/pos-java-interop
diff options
context:
space:
mode:
authorGuillaume Martres <smarter@ubuntu.com>2016-10-28 22:52:16 +0200
committerGuillaume Martres <smarter@ubuntu.com>2016-11-22 01:35:06 +0100
commit0dc738dd1377577a4004bfe158b11bfb1fa59a9d (patch)
tree0756502d63341e2503254ca19f37693271c31220 /tests/pos-java-interop
parent02a29c9f2127ea7b0cb0b05facd3afe8e2ec256a (diff)
downloaddotty-0dc738dd1377577a4004bfe158b11bfb1fa59a9d.tar.gz
dotty-0dc738dd1377577a4004bfe158b11bfb1fa59a9d.tar.bz2
dotty-0dc738dd1377577a4004bfe158b11bfb1fa59a9d.zip
Fix partest compilation of java-interop tests by moving them
Previously, the tests where all in tests/pos/java-interop which means that partest would try to run them as one single test, this failed because some of these tests define classes with the same name. We could fix this by putting them all in separate packages but for now it's simple to move them to tests/pos-java-interop (they will still be run individually as they should thanks to the `java_all` test defined in tests.scala)
Diffstat (limited to 'tests/pos-java-interop')
-rw-r--r--tests/pos-java-interop/1576/TagAnnotation.java3
-rw-r--r--tests/pos-java-interop/1576/Test.scala5
-rw-r--r--tests/pos-java-interop/i879.java11
-rw-r--r--tests/pos-java-interop/t0288/Foo.scala9
-rw-r--r--tests/pos-java-interop/t0288/Outer.java9
-rw-r--r--tests/pos-java-interop/t0695/JavaClass.java5
-rw-r--r--tests/pos-java-interop/t0695/Test.scala3
-rw-r--r--tests/pos-java-interop/t1101/J.java1
-rw-r--r--tests/pos-java-interop/t1101/S.scala1
-rw-r--r--tests/pos-java-interop/t1102/J.java4
-rw-r--r--tests/pos-java-interop/t1102/S.scala1
-rw-r--r--tests/pos-java-interop/t1150/J.java4
-rw-r--r--tests/pos-java-interop/t1150/S.scala4
-rw-r--r--tests/pos-java-interop/t1152/J.java1
-rw-r--r--tests/pos-java-interop/t1152/S.scala2
-rw-r--r--tests/pos-java-interop/t1176/J.java4
-rw-r--r--tests/pos-java-interop/t1176/S.scala1
-rw-r--r--tests/pos-java-interop/t1186/t1186.java8
-rw-r--r--tests/pos-java-interop/t1196/J.java1
-rw-r--r--tests/pos-java-interop/t1196/S.scala1
-rw-r--r--tests/pos-java-interop/t1197/J.java2
-rw-r--r--tests/pos-java-interop/t1197/S.scala2
-rw-r--r--tests/pos-java-interop/t1203b/J.java1
-rw-r--r--tests/pos-java-interop/t1203b/S.scala1
-rw-r--r--tests/pos-java-interop/t1230/J.java1
-rw-r--r--tests/pos-java-interop/t1230/S.scala1
-rw-r--r--tests/pos-java-interop/t1231/J.java1
-rw-r--r--tests/pos-java-interop/t1231/S.scala1
-rw-r--r--tests/pos-java-interop/t1232/J.java2
-rw-r--r--tests/pos-java-interop/t1232/J2.java2
-rw-r--r--tests/pos-java-interop/t1232/S.scala2
-rw-r--r--tests/pos-java-interop/t1235/Test.java9
-rw-r--r--tests/pos-java-interop/t1254/t1254.java28
-rw-r--r--tests/pos-java-interop/t1409/AbstractImpl.java3
-rw-r--r--tests/pos-java-interop/t1409/ConcreteImpl.scala3
-rw-r--r--tests/pos-java-interop/t1409/OuterInterface.java5
-rw-r--r--tests/pos-java-interop/t1642/JavaCallingScalaHashMap.java8
-rw-r--r--tests/pos-java-interop/t1711/Seq.scala12
-rw-r--r--tests/pos-java-interop/t1711/Test.java6
-rw-r--r--tests/pos-java-interop/t1751/A1_2.scala2
-rw-r--r--tests/pos-java-interop/t1751/A2_1.scala2
-rw-r--r--tests/pos-java-interop/t1751/SuiteClasses.java3
-rw-r--r--tests/pos-java-interop/t1782/Ann.java3
-rw-r--r--tests/pos-java-interop/t1782/Days.java3
-rw-r--r--tests/pos-java-interop/t1782/ImplementedBy.java3
-rw-r--r--tests/pos-java-interop/t1782/Test_1.scala16
-rw-r--r--tests/pos-java-interop/t1836/J.java1
-rw-r--r--tests/pos-java-interop/t1836/S.scala1
-rw-r--r--tests/pos-java-interop/t1840/J.java4
-rw-r--r--tests/pos-java-interop/t1840/S.scala2
-rw-r--r--tests/pos-java-interop/t1937/NumberGenerator.java7
-rw-r--r--tests/pos-java-interop/t2377/Q.java12
-rw-r--r--tests/pos-java-interop/t2377/a.scala8
-rw-r--r--tests/pos-java-interop/t2409/J.java4
-rw-r--r--tests/pos-java-interop/t2409/t2409.scala1
-rw-r--r--tests/pos-java-interop/t2413/TestJava.java7
-rw-r--r--tests/pos-java-interop/t2413/TestScalac.scala23
-rwxr-xr-xtests/pos-java-interop/t2433/A.java4
-rwxr-xr-xtests/pos-java-interop/t2433/B.java4
-rw-r--r--tests/pos-java-interop/t2433/Test.scala3
-rw-r--r--tests/pos-java-interop/t2464/JavaOne.java5
-rw-r--r--tests/pos-java-interop/t2464/ScalaOne_1.scala6
-rw-r--r--tests/pos-java-interop/t2464/t2464_2.scala3
-rw-r--r--tests/pos-java-interop/t2764/Ann.java5
-rw-r--r--tests/pos-java-interop/t2764/Enum.java5
-rw-r--r--tests/pos-java-interop/t2764/Use.scala6
-rw-r--r--tests/pos-java-interop/t294/Ann.java3
-rw-r--r--tests/pos-java-interop/t294/Ann2.java3
-rw-r--r--tests/pos-java-interop/t294/Test_1.scala7
-rw-r--r--tests/pos-java-interop/t294/Test_2.scala1
-rw-r--r--tests/pos-java-interop/t2940/Cycle.java3
-rw-r--r--tests/pos-java-interop/t2940/Error.scala12
-rw-r--r--tests/pos-java-interop/t2956/BeanDefinitionVisitor.java6
-rw-r--r--tests/pos-java-interop/t2956/t2956.scala7
-rw-r--r--tests/pos-java-interop/volatile/Foo.java3
75 files changed, 356 insertions, 0 deletions
diff --git a/tests/pos-java-interop/1576/TagAnnotation.java b/tests/pos-java-interop/1576/TagAnnotation.java
new file mode 100644
index 000000000..3034a1a2d
--- /dev/null
+++ b/tests/pos-java-interop/1576/TagAnnotation.java
@@ -0,0 +1,3 @@
+public @interface TagAnnotation {
+ public String value();
+} \ No newline at end of file
diff --git a/tests/pos-java-interop/1576/Test.scala b/tests/pos-java-interop/1576/Test.scala
new file mode 100644
index 000000000..ea3d06a83
--- /dev/null
+++ b/tests/pos-java-interop/1576/Test.scala
@@ -0,0 +1,5 @@
+object Test {
+ val v: TagAnnotation = null
+ println(v.value) // error: value value in class TagAnnotation cannot be accessed as a
+ // member of TagAnnotation(Test.v) from module class Test$.
+}
diff --git a/tests/pos-java-interop/i879.java b/tests/pos-java-interop/i879.java
new file mode 100644
index 000000000..6db5b77ff
--- /dev/null
+++ b/tests/pos-java-interop/i879.java
@@ -0,0 +1,11 @@
+class Foo {
+ Foo(int i) {
+ }
+}
+
+
+class Bar extends Foo {
+ Bar() {
+ super(10);
+ }
+} \ No newline at end of file
diff --git a/tests/pos-java-interop/t0288/Foo.scala b/tests/pos-java-interop/t0288/Foo.scala
new file mode 100644
index 000000000..778ba65f5
--- /dev/null
+++ b/tests/pos-java-interop/t0288/Foo.scala
@@ -0,0 +1,9 @@
+package test2;
+
+import test.Outer;
+
+class Foo extends Outer{
+
+ val bar = new Inner(); // Shouldn't this work?
+
+}
diff --git a/tests/pos-java-interop/t0288/Outer.java b/tests/pos-java-interop/t0288/Outer.java
new file mode 100644
index 000000000..bea3e3f8d
--- /dev/null
+++ b/tests/pos-java-interop/t0288/Outer.java
@@ -0,0 +1,9 @@
+package test;
+
+public class Outer{
+
+ public class Inner{
+
+ }
+
+}
diff --git a/tests/pos-java-interop/t0695/JavaClass.java b/tests/pos-java-interop/t0695/JavaClass.java
new file mode 100644
index 000000000..a765f7e32
--- /dev/null
+++ b/tests/pos-java-interop/t0695/JavaClass.java
@@ -0,0 +1,5 @@
+public class JavaClass<A> {
+ class InnerClass {
+ public A method() { return null; }
+ }
+}
diff --git a/tests/pos-java-interop/t0695/Test.scala b/tests/pos-java-interop/t0695/Test.scala
new file mode 100644
index 000000000..7318867bf
--- /dev/null
+++ b/tests/pos-java-interop/t0695/Test.scala
@@ -0,0 +1,3 @@
+object Test extends JavaClass[AnyRef] {
+ var field: InnerClass = null
+}
diff --git a/tests/pos-java-interop/t1101/J.java b/tests/pos-java-interop/t1101/J.java
new file mode 100644
index 000000000..2bc1d53e0
--- /dev/null
+++ b/tests/pos-java-interop/t1101/J.java
@@ -0,0 +1 @@
+class J { enum E { E1 } }
diff --git a/tests/pos-java-interop/t1101/S.scala b/tests/pos-java-interop/t1101/S.scala
new file mode 100644
index 000000000..af7a591e5
--- /dev/null
+++ b/tests/pos-java-interop/t1101/S.scala
@@ -0,0 +1 @@
+class S { val x: J.E = null; System.out.println(J.E.E1) }
diff --git a/tests/pos-java-interop/t1102/J.java b/tests/pos-java-interop/t1102/J.java
new file mode 100644
index 000000000..530102b91
--- /dev/null
+++ b/tests/pos-java-interop/t1102/J.java
@@ -0,0 +1,4 @@
+class J {
+ enum E { E1 }
+ void foo(E e) { }
+}
diff --git a/tests/pos-java-interop/t1102/S.scala b/tests/pos-java-interop/t1102/S.scala
new file mode 100644
index 000000000..9beee8d90
--- /dev/null
+++ b/tests/pos-java-interop/t1102/S.scala
@@ -0,0 +1 @@
+class S(j:J) { j.foo(J.E.E1) }
diff --git a/tests/pos-java-interop/t1150/J.java b/tests/pos-java-interop/t1150/J.java
new file mode 100644
index 000000000..68fa04a17
--- /dev/null
+++ b/tests/pos-java-interop/t1150/J.java
@@ -0,0 +1,4 @@
+class J {
+ static void bbb (Boolean b) { }
+ static void ddd (Double d) { }
+}
diff --git a/tests/pos-java-interop/t1150/S.scala b/tests/pos-java-interop/t1150/S.scala
new file mode 100644
index 000000000..41dd06403
--- /dev/null
+++ b/tests/pos-java-interop/t1150/S.scala
@@ -0,0 +1,4 @@
+object S {
+ J.bbb(new java.lang.Boolean(true))
+ J.ddd(new java.lang.Double(0))
+}
diff --git a/tests/pos-java-interop/t1152/J.java b/tests/pos-java-interop/t1152/J.java
new file mode 100644
index 000000000..6e562e573
--- /dev/null
+++ b/tests/pos-java-interop/t1152/J.java
@@ -0,0 +1 @@
+class J { java.util.List<String> k = null; }
diff --git a/tests/pos-java-interop/t1152/S.scala b/tests/pos-java-interop/t1152/S.scala
new file mode 100644
index 000000000..7f751c509
--- /dev/null
+++ b/tests/pos-java-interop/t1152/S.scala
@@ -0,0 +1,2 @@
+class S2(fn:(J)=>Any)
+object S { new S2(_.k) }
diff --git a/tests/pos-java-interop/t1176/J.java b/tests/pos-java-interop/t1176/J.java
new file mode 100644
index 000000000..0d82c75fc
--- /dev/null
+++ b/tests/pos-java-interop/t1176/J.java
@@ -0,0 +1,4 @@
+class J {
+ J() { }
+ J( java.util.Collection<?> collection ) { }
+}
diff --git a/tests/pos-java-interop/t1176/S.scala b/tests/pos-java-interop/t1176/S.scala
new file mode 100644
index 000000000..a7fc3e0ce
--- /dev/null
+++ b/tests/pos-java-interop/t1176/S.scala
@@ -0,0 +1 @@
+class S { new J }
diff --git a/tests/pos-java-interop/t1186/t1186.java b/tests/pos-java-interop/t1186/t1186.java
new file mode 100644
index 000000000..5f2607623
--- /dev/null
+++ b/tests/pos-java-interop/t1186/t1186.java
@@ -0,0 +1,8 @@
+import scala.collection.immutable.Map;
+
+class Test {
+
+ void foo() {
+ Map<String, String> map = null;
+ }
+}
diff --git a/tests/pos-java-interop/t1196/J.java b/tests/pos-java-interop/t1196/J.java
new file mode 100644
index 000000000..2ec7a711b
--- /dev/null
+++ b/tests/pos-java-interop/t1196/J.java
@@ -0,0 +1 @@
+class J { static void foo(Class c) { } }
diff --git a/tests/pos-java-interop/t1196/S.scala b/tests/pos-java-interop/t1196/S.scala
new file mode 100644
index 000000000..f17cd249a
--- /dev/null
+++ b/tests/pos-java-interop/t1196/S.scala
@@ -0,0 +1 @@
+object S { J.foo(null) }
diff --git a/tests/pos-java-interop/t1197/J.java b/tests/pos-java-interop/t1197/J.java
new file mode 100644
index 000000000..b4e0a4255
--- /dev/null
+++ b/tests/pos-java-interop/t1197/J.java
@@ -0,0 +1,2 @@
+class J { interface K { } }
+
diff --git a/tests/pos-java-interop/t1197/S.scala b/tests/pos-java-interop/t1197/S.scala
new file mode 100644
index 000000000..7c9c15440
--- /dev/null
+++ b/tests/pos-java-interop/t1197/S.scala
@@ -0,0 +1,2 @@
+object S extends J.K
+
diff --git a/tests/pos-java-interop/t1203b/J.java b/tests/pos-java-interop/t1203b/J.java
new file mode 100644
index 000000000..7fae118e0
--- /dev/null
+++ b/tests/pos-java-interop/t1203b/J.java
@@ -0,0 +1 @@
+interface J { int j = 200 ; }
diff --git a/tests/pos-java-interop/t1203b/S.scala b/tests/pos-java-interop/t1203b/S.scala
new file mode 100644
index 000000000..68eac4bf6
--- /dev/null
+++ b/tests/pos-java-interop/t1203b/S.scala
@@ -0,0 +1 @@
+object S { J.j }
diff --git a/tests/pos-java-interop/t1230/J.java b/tests/pos-java-interop/t1230/J.java
new file mode 100644
index 000000000..35aefd250
--- /dev/null
+++ b/tests/pos-java-interop/t1230/J.java
@@ -0,0 +1 @@
+class J { public int foo ; }
diff --git a/tests/pos-java-interop/t1230/S.scala b/tests/pos-java-interop/t1230/S.scala
new file mode 100644
index 000000000..530dd4b85
--- /dev/null
+++ b/tests/pos-java-interop/t1230/S.scala
@@ -0,0 +1 @@
+object S extends App { (new J).foo = 5 }
diff --git a/tests/pos-java-interop/t1231/J.java b/tests/pos-java-interop/t1231/J.java
new file mode 100644
index 000000000..6b24205e5
--- /dev/null
+++ b/tests/pos-java-interop/t1231/J.java
@@ -0,0 +1 @@
+enum J { j1 }
diff --git a/tests/pos-java-interop/t1231/S.scala b/tests/pos-java-interop/t1231/S.scala
new file mode 100644
index 000000000..f14aa2561
--- /dev/null
+++ b/tests/pos-java-interop/t1231/S.scala
@@ -0,0 +1 @@
+object S extends App { println(J.j1) }
diff --git a/tests/pos-java-interop/t1232/J.java b/tests/pos-java-interop/t1232/J.java
new file mode 100644
index 000000000..2d9e3bbd5
--- /dev/null
+++ b/tests/pos-java-interop/t1232/J.java
@@ -0,0 +1,2 @@
+package j;
+public class J { public enum E { e1 } }
diff --git a/tests/pos-java-interop/t1232/J2.java b/tests/pos-java-interop/t1232/J2.java
new file mode 100644
index 000000000..29237780a
--- /dev/null
+++ b/tests/pos-java-interop/t1232/J2.java
@@ -0,0 +1,2 @@
+import s.S;
+class J2 { }
diff --git a/tests/pos-java-interop/t1232/S.scala b/tests/pos-java-interop/t1232/S.scala
new file mode 100644
index 000000000..1b6bca732
--- /dev/null
+++ b/tests/pos-java-interop/t1232/S.scala
@@ -0,0 +1,2 @@
+package s
+class S { j.J.E.e1 }
diff --git a/tests/pos-java-interop/t1235/Test.java b/tests/pos-java-interop/t1235/Test.java
new file mode 100644
index 000000000..7bb83a849
--- /dev/null
+++ b/tests/pos-java-interop/t1235/Test.java
@@ -0,0 +1,9 @@
+import scala.collection.immutable.HashMap;
+
+public class Test {
+
+ void foo() {
+ new HashMap<String, String>();
+ }
+}
+
diff --git a/tests/pos-java-interop/t1254/t1254.java b/tests/pos-java-interop/t1254/t1254.java
new file mode 100644
index 000000000..17e1c60bf
--- /dev/null
+++ b/tests/pos-java-interop/t1254/t1254.java
@@ -0,0 +1,28 @@
+/* Taken from ticket #1254. Tests Java signatures in mirror classes and that
+ Nothing is translated to Nothing$.
+*/
+
+import scala.None;
+
+// This compiles with javac but fails with Eclipse java compiler:
+// 'The type scala.Nothing cannot be resolved. It is indirectly referenced from required .class files'
+class NothingBug3 {
+ public NothingBug3() {
+ scala.Option<?> o = scala.None$.MODULE$;
+
+ test(o);
+ None.toLeft(new scala.runtime.AbstractFunction0<Integer>() {
+ public Integer apply() { return 0; }
+ });
+ }
+
+ public <T>void test(scala.Option<T> f) {}
+}
+
+// This compiles with javac but fails with Eclipse java compiler:
+// 'The type scala.Nothing cannot be resolved. It is indirectly referenced from required .class files'
+class NothingBug4 {
+ public NothingBug4() {
+ scala.Option o = scala.None$.MODULE$;
+ }
+}
diff --git a/tests/pos-java-interop/t1409/AbstractImpl.java b/tests/pos-java-interop/t1409/AbstractImpl.java
new file mode 100644
index 000000000..b22a94fa1
--- /dev/null
+++ b/tests/pos-java-interop/t1409/AbstractImpl.java
@@ -0,0 +1,3 @@
+public abstract class AbstractImpl implements OuterInterface {
+ public abstract InnerInterface create();
+ }
diff --git a/tests/pos-java-interop/t1409/ConcreteImpl.scala b/tests/pos-java-interop/t1409/ConcreteImpl.scala
new file mode 100644
index 000000000..d427e957e
--- /dev/null
+++ b/tests/pos-java-interop/t1409/ConcreteImpl.scala
@@ -0,0 +1,3 @@
+class ConcreteImpl extends AbstractImpl {
+ def create : OuterInterface.InnerInterface = null
+ }
diff --git a/tests/pos-java-interop/t1409/OuterInterface.java b/tests/pos-java-interop/t1409/OuterInterface.java
new file mode 100644
index 000000000..dd288ceea
--- /dev/null
+++ b/tests/pos-java-interop/t1409/OuterInterface.java
@@ -0,0 +1,5 @@
+public interface OuterInterface {
+ public interface InnerInterface {
+ public void foo();
+ }
+ }
diff --git a/tests/pos-java-interop/t1642/JavaCallingScalaHashMap.java b/tests/pos-java-interop/t1642/JavaCallingScalaHashMap.java
new file mode 100644
index 000000000..976e465ff
--- /dev/null
+++ b/tests/pos-java-interop/t1642/JavaCallingScalaHashMap.java
@@ -0,0 +1,8 @@
+import scala.collection.immutable.HashMap;
+import scala.collection.immutable.Map;
+
+public class JavaCallingScalaHashMap {
+ public static void main( String[] args ) {
+ Map<String, Integer> hashMap = new HashMap<String, Integer>();
+ }
+}
diff --git a/tests/pos-java-interop/t1711/Seq.scala b/tests/pos-java-interop/t1711/Seq.scala
new file mode 100644
index 000000000..c18f05cd7
--- /dev/null
+++ b/tests/pos-java-interop/t1711/Seq.scala
@@ -0,0 +1,12 @@
+package com
+
+object Sequence {
+
+ def filteringFunction[V](filter: V => Boolean): List[V] => List[V] = {
+ def include(v: V) =
+ filter(v)
+ (l: List[V]) => l.filter(include)
+ }
+
+}
+
diff --git a/tests/pos-java-interop/t1711/Test.java b/tests/pos-java-interop/t1711/Test.java
new file mode 100644
index 000000000..5ec0f2297
--- /dev/null
+++ b/tests/pos-java-interop/t1711/Test.java
@@ -0,0 +1,6 @@
+import com.Sequence;
+
+public class Test {
+ void foo() {
+ }
+}
diff --git a/tests/pos-java-interop/t1751/A1_2.scala b/tests/pos-java-interop/t1751/A1_2.scala
new file mode 100644
index 000000000..354d5eecd
--- /dev/null
+++ b/tests/pos-java-interop/t1751/A1_2.scala
@@ -0,0 +1,2 @@
+@SuiteClasses(Array(classOf[A2]))
+class A1
diff --git a/tests/pos-java-interop/t1751/A2_1.scala b/tests/pos-java-interop/t1751/A2_1.scala
new file mode 100644
index 000000000..c768062e4
--- /dev/null
+++ b/tests/pos-java-interop/t1751/A2_1.scala
@@ -0,0 +1,2 @@
+@SuiteClasses(Array())
+class A2
diff --git a/tests/pos-java-interop/t1751/SuiteClasses.java b/tests/pos-java-interop/t1751/SuiteClasses.java
new file mode 100644
index 000000000..a415e4f57
--- /dev/null
+++ b/tests/pos-java-interop/t1751/SuiteClasses.java
@@ -0,0 +1,3 @@
+public @interface SuiteClasses {
+ public Class<?>[] value();
+}
diff --git a/tests/pos-java-interop/t1782/Ann.java b/tests/pos-java-interop/t1782/Ann.java
new file mode 100644
index 000000000..0dcfbd2ed
--- /dev/null
+++ b/tests/pos-java-interop/t1782/Ann.java
@@ -0,0 +1,3 @@
+public @interface Ann {
+ public Days value();
+}
diff --git a/tests/pos-java-interop/t1782/Days.java b/tests/pos-java-interop/t1782/Days.java
new file mode 100644
index 000000000..203a87b1c
--- /dev/null
+++ b/tests/pos-java-interop/t1782/Days.java
@@ -0,0 +1,3 @@
+public enum Days {
+ Friday, Sunday
+}
diff --git a/tests/pos-java-interop/t1782/ImplementedBy.java b/tests/pos-java-interop/t1782/ImplementedBy.java
new file mode 100644
index 000000000..6aa8b4fa9
--- /dev/null
+++ b/tests/pos-java-interop/t1782/ImplementedBy.java
@@ -0,0 +1,3 @@
+public @interface ImplementedBy {
+ public Class<?> value();
+}
diff --git a/tests/pos-java-interop/t1782/Test_1.scala b/tests/pos-java-interop/t1782/Test_1.scala
new file mode 100644
index 000000000..47495c082
--- /dev/null
+++ b/tests/pos-java-interop/t1782/Test_1.scala
@@ -0,0 +1,16 @@
+@ImplementedBy(classOf[Provider])
+trait Service {
+ def someMethod(): Unit
+}
+
+class Provider
+ extends Service
+{
+ // test enumeration java annotations
+ @Ann(Days.Friday) def someMethod() = ()
+
+ // #2103
+ @scala.beans.BeanProperty
+ @Ann(value = Days.Sunday)
+ val t2103 = "test"
+}
diff --git a/tests/pos-java-interop/t1836/J.java b/tests/pos-java-interop/t1836/J.java
new file mode 100644
index 000000000..a009a59e2
--- /dev/null
+++ b/tests/pos-java-interop/t1836/J.java
@@ -0,0 +1 @@
+public abstract class J<T> { protected J(T id) { } }
diff --git a/tests/pos-java-interop/t1836/S.scala b/tests/pos-java-interop/t1836/S.scala
new file mode 100644
index 000000000..88ce1063e
--- /dev/null
+++ b/tests/pos-java-interop/t1836/S.scala
@@ -0,0 +1 @@
+class S extends J("")
diff --git a/tests/pos-java-interop/t1840/J.java b/tests/pos-java-interop/t1840/J.java
new file mode 100644
index 000000000..fd98b6c4a
--- /dev/null
+++ b/tests/pos-java-interop/t1840/J.java
@@ -0,0 +1,4 @@
+package p;
+class J {
+ J() {}
+}
diff --git a/tests/pos-java-interop/t1840/S.scala b/tests/pos-java-interop/t1840/S.scala
new file mode 100644
index 000000000..ff513d2c1
--- /dev/null
+++ b/tests/pos-java-interop/t1840/S.scala
@@ -0,0 +1,2 @@
+package p
+class S { new J }
diff --git a/tests/pos-java-interop/t1937/NumberGenerator.java b/tests/pos-java-interop/t1937/NumberGenerator.java
new file mode 100644
index 000000000..59d604733
--- /dev/null
+++ b/tests/pos-java-interop/t1937/NumberGenerator.java
@@ -0,0 +1,7 @@
+package br.com.caelum.caelumweb2.money;
+
+public class NumberGenerator {
+ public String generate() {
+ return null;
+ }
+}
diff --git a/tests/pos-java-interop/t2377/Q.java b/tests/pos-java-interop/t2377/Q.java
new file mode 100644
index 000000000..e3d11c70e
--- /dev/null
+++ b/tests/pos-java-interop/t2377/Q.java
@@ -0,0 +1,12 @@
+public final class Q {
+ public static final class Stage {
+ public static Builder newBuilder() { return new Builder(); }
+ public static final class Builder { }
+ public Builder toBuilder() { return newBuilder(); }
+ }
+ public static final class WorkUnit {
+ public static Builder newBuilder() { return new Builder(); }
+ public static final class Builder { }
+ public Builder toBuilder() { return newBuilder(); }
+ }
+}
diff --git a/tests/pos-java-interop/t2377/a.scala b/tests/pos-java-interop/t2377/a.scala
new file mode 100644
index 000000000..bda59ce0d
--- /dev/null
+++ b/tests/pos-java-interop/t2377/a.scala
@@ -0,0 +1,8 @@
+import Q._
+
+class Bop(var workUnit: WorkUnit) {
+ def addStages(stageBuilder: Stage.Builder): Unit = {
+ val builder = workUnit.toBuilder
+ ()
+ }
+}
diff --git a/tests/pos-java-interop/t2409/J.java b/tests/pos-java-interop/t2409/J.java
new file mode 100644
index 000000000..6b7c45ff6
--- /dev/null
+++ b/tests/pos-java-interop/t2409/J.java
@@ -0,0 +1,4 @@
+class J {
+ static class J2 { }
+ J(J2 j2) { }
+}
diff --git a/tests/pos-java-interop/t2409/t2409.scala b/tests/pos-java-interop/t2409/t2409.scala
new file mode 100644
index 000000000..0412f7d82
--- /dev/null
+++ b/tests/pos-java-interop/t2409/t2409.scala
@@ -0,0 +1 @@
+object S { new J(null) }
diff --git a/tests/pos-java-interop/t2413/TestJava.java b/tests/pos-java-interop/t2413/TestJava.java
new file mode 100644
index 000000000..252c01fbc
--- /dev/null
+++ b/tests/pos-java-interop/t2413/TestJava.java
@@ -0,0 +1,7 @@
+package pack;
+
+public class TestJava {
+ protected String repeatParam(String ... items) {
+ return "nothing";
+ }
+}
diff --git a/tests/pos-java-interop/t2413/TestScalac.scala b/tests/pos-java-interop/t2413/TestScalac.scala
new file mode 100644
index 000000000..098e852dd
--- /dev/null
+++ b/tests/pos-java-interop/t2413/TestScalac.scala
@@ -0,0 +1,23 @@
+import pack.TestJava
+
+class Foo extends TestJava {
+
+ // THIS METHOD YIELDS TO CRASH
+/* def foomethod : Option[String] => Unit = {
+ case None =>
+ val path = repeatParam("s","a","b","c")
+ ()
+ case Some(error) =>
+ ()
+ }
+
+ // THIS IS OK
+ def foomethod2 : String = repeatParam("s","a");
+
+ // THIS IS OK
+ val aVal = repeatParam("1","2","3") */
+
+ // THIS YIELDS TO CRASH
+ for (a <- 1 to 4 ; anotherVal = repeatParam("1","2","3"))
+ yield anotherVal
+}
diff --git a/tests/pos-java-interop/t2433/A.java b/tests/pos-java-interop/t2433/A.java
new file mode 100755
index 000000000..340690c40
--- /dev/null
+++ b/tests/pos-java-interop/t2433/A.java
@@ -0,0 +1,4 @@
+class A223 extends B223.Inner {
+ static class Inner {}
+ void foo() {}
+} \ No newline at end of file
diff --git a/tests/pos-java-interop/t2433/B.java b/tests/pos-java-interop/t2433/B.java
new file mode 100755
index 000000000..151dd71ca
--- /dev/null
+++ b/tests/pos-java-interop/t2433/B.java
@@ -0,0 +1,4 @@
+class B223 {
+ static class Inner {}
+ void m(A223.Inner x) {}
+} \ No newline at end of file
diff --git a/tests/pos-java-interop/t2433/Test.scala b/tests/pos-java-interop/t2433/Test.scala
new file mode 100644
index 000000000..02fd89b64
--- /dev/null
+++ b/tests/pos-java-interop/t2433/Test.scala
@@ -0,0 +1,3 @@
+object Test {
+ (new A223).foo()
+}
diff --git a/tests/pos-java-interop/t2464/JavaOne.java b/tests/pos-java-interop/t2464/JavaOne.java
new file mode 100644
index 000000000..ff36868a0
--- /dev/null
+++ b/tests/pos-java-interop/t2464/JavaOne.java
@@ -0,0 +1,5 @@
+class ClassTwo {
+ public static class Child {
+ public void func2() {return ;}
+ }
+}
diff --git a/tests/pos-java-interop/t2464/ScalaOne_1.scala b/tests/pos-java-interop/t2464/ScalaOne_1.scala
new file mode 100644
index 000000000..1caf8ecae
--- /dev/null
+++ b/tests/pos-java-interop/t2464/ScalaOne_1.scala
@@ -0,0 +1,6 @@
+class ScalaClassOne extends ClassTwo.Child {
+ def func4() = {
+ func2
+ }
+}
+
diff --git a/tests/pos-java-interop/t2464/t2464_2.scala b/tests/pos-java-interop/t2464/t2464_2.scala
new file mode 100644
index 000000000..13a52c952
--- /dev/null
+++ b/tests/pos-java-interop/t2464/t2464_2.scala
@@ -0,0 +1,3 @@
+object Test {
+ val c1 = new ScalaClassOne
+}
diff --git a/tests/pos-java-interop/t2764/Ann.java b/tests/pos-java-interop/t2764/Ann.java
new file mode 100644
index 000000000..184fc6e86
--- /dev/null
+++ b/tests/pos-java-interop/t2764/Ann.java
@@ -0,0 +1,5 @@
+package bippy;
+
+public @interface Ann {
+ Enum value();
+}
diff --git a/tests/pos-java-interop/t2764/Enum.java b/tests/pos-java-interop/t2764/Enum.java
new file mode 100644
index 000000000..fe0755953
--- /dev/null
+++ b/tests/pos-java-interop/t2764/Enum.java
@@ -0,0 +1,5 @@
+package bippy;
+
+public enum Enum {
+ VALUE;
+}
diff --git a/tests/pos-java-interop/t2764/Use.scala b/tests/pos-java-interop/t2764/Use.scala
new file mode 100644
index 000000000..b0c108907
--- /dev/null
+++ b/tests/pos-java-interop/t2764/Use.scala
@@ -0,0 +1,6 @@
+package bippy
+
+class Use {
+ @Ann(Enum.VALUE)
+ def foo: Unit = {}
+}
diff --git a/tests/pos-java-interop/t294/Ann.java b/tests/pos-java-interop/t294/Ann.java
new file mode 100644
index 000000000..934ca4629
--- /dev/null
+++ b/tests/pos-java-interop/t294/Ann.java
@@ -0,0 +1,3 @@
+public @interface Ann {
+ public Ann2[] nested();
+}
diff --git a/tests/pos-java-interop/t294/Ann2.java b/tests/pos-java-interop/t294/Ann2.java
new file mode 100644
index 000000000..025b79e79
--- /dev/null
+++ b/tests/pos-java-interop/t294/Ann2.java
@@ -0,0 +1,3 @@
+public @interface Ann2 {
+ public int value();
+}
diff --git a/tests/pos-java-interop/t294/Test_1.scala b/tests/pos-java-interop/t294/Test_1.scala
new file mode 100644
index 000000000..ff1f34b10
--- /dev/null
+++ b/tests/pos-java-interop/t294/Test_1.scala
@@ -0,0 +1,7 @@
+// also test pickling of java annotations; Test_2.scala will
+// read this class file
+@Ann(nested = Array(new Ann2(10))) class Test {
+ @Ann2(100) var ctx: Object = _
+ @Ann(nested = Array()) def foo = 10
+ @Ann(nested = Array(new Ann2(10), new Ann2(23))) val bam = -3
+}
diff --git a/tests/pos-java-interop/t294/Test_2.scala b/tests/pos-java-interop/t294/Test_2.scala
new file mode 100644
index 000000000..9fb1c6e17
--- /dev/null
+++ b/tests/pos-java-interop/t294/Test_2.scala
@@ -0,0 +1 @@
+class Test2 extends Test
diff --git a/tests/pos-java-interop/t2940/Cycle.java b/tests/pos-java-interop/t2940/Cycle.java
new file mode 100644
index 000000000..eef6c23b5
--- /dev/null
+++ b/tests/pos-java-interop/t2940/Cycle.java
@@ -0,0 +1,3 @@
+public interface Cycle<T extends Cycle<?>> {
+ void doStuff();
+} \ No newline at end of file
diff --git a/tests/pos-java-interop/t2940/Error.scala b/tests/pos-java-interop/t2940/Error.scala
new file mode 100644
index 000000000..305d8aa4c
--- /dev/null
+++ b/tests/pos-java-interop/t2940/Error.scala
@@ -0,0 +1,12 @@
+abstract class Error {
+ val c: Cycle[_]
+}
+
+object Test {
+ trait Quux[T] extends Cycle[Quux[T]]
+ val x = new Quux[Int] { def doStuff(): Unit = { } }
+
+ def main(args: Array[String]): Unit = {
+
+ }
+}
diff --git a/tests/pos-java-interop/t2956/BeanDefinitionVisitor.java b/tests/pos-java-interop/t2956/BeanDefinitionVisitor.java
new file mode 100644
index 000000000..2ff5daa25
--- /dev/null
+++ b/tests/pos-java-interop/t2956/BeanDefinitionVisitor.java
@@ -0,0 +1,6 @@
+import java.util.Map;
+public class BeanDefinitionVisitor {
+ @SuppressWarnings("unchecked")
+ protected void visitMap(Map<?, ?> mapVal) {
+ }
+}
diff --git a/tests/pos-java-interop/t2956/t2956.scala b/tests/pos-java-interop/t2956/t2956.scala
new file mode 100644
index 000000000..33803874b
--- /dev/null
+++ b/tests/pos-java-interop/t2956/t2956.scala
@@ -0,0 +1,7 @@
+import scala.collection.JavaConversions._
+
+class Outer {
+ protected class Inner extends BeanDefinitionVisitor {
+ protected def visitMap(mapVal: Map[_, _]): Unit = ()
+ }
+}
diff --git a/tests/pos-java-interop/volatile/Foo.java b/tests/pos-java-interop/volatile/Foo.java
new file mode 100644
index 000000000..c6a607b4d
--- /dev/null
+++ b/tests/pos-java-interop/volatile/Foo.java
@@ -0,0 +1,3 @@
+public class Foo {
+ volatile int x = 1;
+}