diff options
Diffstat (limited to 'tests/pos-java-interop')
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; +} |