mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-26 06:11:42 +07:00
[tests] prepares Java tests for the language level raise
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Test {
|
||||
interface I {
|
||||
int _();
|
||||
int m();
|
||||
}
|
||||
|
||||
static abstract class Parent {
|
||||
|
||||
+20
-25
@@ -1,27 +1,25 @@
|
||||
class MyTest {
|
||||
|
||||
private static class Foo {
|
||||
static int foo(int i) { return i; }
|
||||
}
|
||||
|
||||
|
||||
static Foo foo = new Foo();
|
||||
|
||||
static void foo(String s) {}
|
||||
|
||||
|
||||
static void bar(Integer i, Number n) {}
|
||||
static void bar(Number n, Integer i) {}
|
||||
|
||||
|
||||
void baz(int i) {}
|
||||
}
|
||||
|
||||
class AlienTest {
|
||||
|
||||
interface IInt {
|
||||
int _(int i);
|
||||
int m(int i);
|
||||
}
|
||||
|
||||
|
||||
interface IIntInt {
|
||||
int _(Integer i1, Integer i2);
|
||||
int m(Integer i1, Integer i2);
|
||||
}
|
||||
|
||||
static {
|
||||
@@ -35,34 +33,31 @@ class AlienTest {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class MyTest1 {
|
||||
|
||||
interface I1 {
|
||||
int[] _();
|
||||
int[] m();
|
||||
}
|
||||
|
||||
interface I2 {
|
||||
Object _();
|
||||
}
|
||||
|
||||
interface I3 {
|
||||
char[] _();
|
||||
}
|
||||
|
||||
interface I4 {
|
||||
|
||||
boolean _();
|
||||
interface I2 {
|
||||
Object m();
|
||||
}
|
||||
|
||||
interface I3 {
|
||||
char[] m();
|
||||
}
|
||||
|
||||
interface I4 {
|
||||
boolean m();
|
||||
}
|
||||
|
||||
interface I5 {
|
||||
Class<? extends MyTest1> _();
|
||||
Class<? extends MyTest1> m();
|
||||
}
|
||||
|
||||
interface I6 {
|
||||
Class<MyTest1> _();
|
||||
Class<MyTest1> m();
|
||||
}
|
||||
|
||||
|
||||
void foo(Object[] arr) {
|
||||
I1 c1 = <error descr="Bad return type in method reference: cannot convert java.lang.Object[] to int[]">arr :: clone</error>;
|
||||
I2 c2 = arr :: clone;
|
||||
|
||||
+14
-21
@@ -1,19 +1,12 @@
|
||||
package todelete;
|
||||
|
||||
/**
|
||||
* Created with IntelliJ IDEA.
|
||||
* User: Anna.Kozlova
|
||||
* Date: 9/26/12
|
||||
* Time: 1:18 PM
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
class MyTest {
|
||||
interface Bar1 {
|
||||
int _(String s);
|
||||
int m(String s);
|
||||
}
|
||||
|
||||
interface Bar2 {
|
||||
int _(int s);
|
||||
int m(int s);
|
||||
}
|
||||
|
||||
void bar(Bar1 b1){}
|
||||
@@ -35,11 +28,11 @@ class MyTest {
|
||||
|
||||
class MyTest1 {
|
||||
interface Bar1 {
|
||||
int _(String s);
|
||||
int m(String s);
|
||||
}
|
||||
|
||||
interface Bar2 {
|
||||
int _(int s);
|
||||
int m(int s);
|
||||
}
|
||||
|
||||
//void bar(Bar1 b1){}
|
||||
@@ -61,11 +54,11 @@ class MyTest1 {
|
||||
|
||||
class MyTest2 {
|
||||
interface Bar1 {
|
||||
int _(String s);
|
||||
int m(String s);
|
||||
}
|
||||
|
||||
interface Bar2 {
|
||||
int _(int s);
|
||||
int m(int s);
|
||||
}
|
||||
|
||||
void bar(Bar1 b1){}
|
||||
@@ -87,11 +80,11 @@ class MyTest2 {
|
||||
|
||||
class MyTest3 {
|
||||
interface Bar1 {
|
||||
int _(String s);
|
||||
int m(String s);
|
||||
}
|
||||
|
||||
interface Bar2 {
|
||||
int _(int s);
|
||||
int m(int s);
|
||||
}
|
||||
|
||||
//void bar(Bar1 b1){}
|
||||
@@ -114,7 +107,7 @@ class MyTest3 {
|
||||
|
||||
class MyTest4 {
|
||||
interface Bar1<T> {
|
||||
int _(T s);
|
||||
int m(T s);
|
||||
}
|
||||
|
||||
|
||||
@@ -135,7 +128,7 @@ class MyTest4 {
|
||||
|
||||
class MyTest5 {
|
||||
interface Bar1<T> {
|
||||
int _(T s);
|
||||
int m(T s);
|
||||
}
|
||||
|
||||
|
||||
@@ -156,7 +149,7 @@ class MyTest5 {
|
||||
|
||||
class MyTest6 {
|
||||
interface I {
|
||||
void _(Integer i);
|
||||
void m(Integer i);
|
||||
}
|
||||
|
||||
static void foo(Number i) {}
|
||||
@@ -165,13 +158,13 @@ class MyTest6 {
|
||||
|
||||
public static void main(String[] args) {
|
||||
I s = MyTest6::foo;
|
||||
s._(1);
|
||||
s.m(1);
|
||||
}
|
||||
}
|
||||
|
||||
class MyTest7 {
|
||||
interface I {
|
||||
void _(Number i);
|
||||
void m(Number i);
|
||||
}
|
||||
|
||||
static void foo(Number i) {}
|
||||
@@ -180,6 +173,6 @@ class MyTest7 {
|
||||
|
||||
public static void main(String[] args) {
|
||||
I s = MyTest7::foo;
|
||||
s._(1);
|
||||
s.m(1);
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -10,7 +10,7 @@ class Test {
|
||||
}
|
||||
|
||||
interface Bar {
|
||||
Integer _(String s);
|
||||
Integer m(String s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ class Test1 {
|
||||
Comparable<String> c = Test1 :: length;
|
||||
Comparable<Integer> c1 = Test1 :: length;
|
||||
}
|
||||
|
||||
|
||||
public static Integer length(String s) {
|
||||
return s.length();
|
||||
}
|
||||
@@ -28,9 +28,9 @@ class Test1 {
|
||||
public static Integer length(Integer s) {
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
interface Bar {
|
||||
Integer _(String s);
|
||||
Integer m(String s);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -60,11 +60,11 @@ class StaticInner1 {
|
||||
}
|
||||
|
||||
interface I1 {
|
||||
Inner _(StaticInner1 rec);
|
||||
Inner m(StaticInner1 rec);
|
||||
}
|
||||
|
||||
interface I2 {
|
||||
Inner _();
|
||||
Inner m();
|
||||
}
|
||||
|
||||
static void call3(I1 s) {}
|
||||
@@ -130,7 +130,7 @@ class NonStaticInner3 {
|
||||
interface I2<X> {
|
||||
X m();
|
||||
}
|
||||
|
||||
|
||||
interface I3<X> {
|
||||
X m(NonStaticInner3 rec, int i);
|
||||
}
|
||||
|
||||
+4
-4
@@ -3,19 +3,19 @@ class MyTest<E> {
|
||||
}
|
||||
|
||||
interface I<T> {
|
||||
MyTest<T> _(T t);
|
||||
MyTest<T> m(T t);
|
||||
}
|
||||
|
||||
static <Y> void bar(Y arg, I<Y> i) {
|
||||
i._(arg);
|
||||
i.m(arg);
|
||||
}
|
||||
|
||||
static <Y> void bar(I<Y> i, Y arg) {
|
||||
i._(arg);
|
||||
i.m(arg);
|
||||
}
|
||||
|
||||
static <Y> void bar(I<Y> i) {
|
||||
i._(null);
|
||||
i.m(null);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
+3
-2
@@ -1,11 +1,12 @@
|
||||
import java.util.List;
|
||||
|
||||
class GetClassTest {
|
||||
interface GetCl {
|
||||
Class<? extends List> _();
|
||||
Class<? extends List> m();
|
||||
}
|
||||
|
||||
interface GetClReturnTypeProblems {
|
||||
Class<List<String>> _();
|
||||
Class<List<String>> m();
|
||||
}
|
||||
|
||||
void test(int[] iarr, List<String> ls) {
|
||||
|
||||
+19
-19
@@ -3,19 +3,19 @@ class MyTestDefaultConstructor {
|
||||
|
||||
static class Foo<X extends Number> extends SuperFoo<X> {
|
||||
}
|
||||
|
||||
|
||||
interface I1 {
|
||||
SuperFoo<String> _();
|
||||
SuperFoo<String> m();
|
||||
}
|
||||
|
||||
interface I2 {
|
||||
SuperFoo<Integer> _();
|
||||
SuperFoo<Integer> m();
|
||||
}
|
||||
|
||||
|
||||
interface I3 {
|
||||
SuperFoo<Object> _();
|
||||
SuperFoo<Object> m();
|
||||
}
|
||||
|
||||
|
||||
private static void <warning descr="Private method 'foo(MyTestDefaultConstructor.I1)' is never used">foo</warning>(I1 i) {System.out.println(i);}
|
||||
private static void <warning descr="Private method 'foo(MyTestDefaultConstructor.I2)' is never used">foo</warning>(I2 i) {System.out.println(i);}
|
||||
private static void <warning descr="Private method 'foo(MyTestDefaultConstructor.I3)' is never used">foo</warning>(I3 i) {System.out.println(i);}
|
||||
@@ -31,19 +31,19 @@ class MyTestConstructor {
|
||||
static class Foo<X extends Number> extends SuperFoo<X> {
|
||||
Foo(){}
|
||||
}
|
||||
|
||||
|
||||
interface I1 {
|
||||
SuperFoo<String> _();
|
||||
SuperFoo<String> m();
|
||||
}
|
||||
|
||||
interface I2 {
|
||||
SuperFoo<Integer> _();
|
||||
SuperFoo<Integer> m();
|
||||
}
|
||||
|
||||
|
||||
interface I3 {
|
||||
SuperFoo<Object> _();
|
||||
SuperFoo<Object> m();
|
||||
}
|
||||
|
||||
|
||||
private static void <warning descr="Private method 'foo(MyTestConstructor.I1)' is never used">foo</warning>(I1 i) {System.out.println(i);}
|
||||
private static void <warning descr="Private method 'foo(MyTestConstructor.I2)' is never used">foo</warning>(I2 i) {System.out.println(i);}
|
||||
private static void <warning descr="Private method 'foo(MyTestConstructor.I3)' is never used">foo</warning>(I3 i) {System.out.println(i);}
|
||||
@@ -58,21 +58,21 @@ class MyTestMethod {
|
||||
|
||||
static class Foo<X extends Number> extends SuperFoo<X> {
|
||||
}
|
||||
|
||||
|
||||
interface I1 {
|
||||
SuperFoo<String> _();
|
||||
SuperFoo<String> m();
|
||||
}
|
||||
|
||||
interface I2 {
|
||||
SuperFoo<Integer> _();
|
||||
SuperFoo<Integer> m();
|
||||
}
|
||||
|
||||
|
||||
interface I3 {
|
||||
SuperFoo<Object> _();
|
||||
SuperFoo<Object> m();
|
||||
}
|
||||
|
||||
|
||||
static <X extends Number> Foo<X> m() { return null; }
|
||||
|
||||
|
||||
private static void <warning descr="Private method 'foo(MyTestMethod.I1)' is never used">foo</warning>(I1 i) {System.out.println(i);}
|
||||
private static void <warning descr="Private method 'foo(MyTestMethod.I2)' is never used">foo</warning>(I2 i) {System.out.println(i);}
|
||||
private static void <warning descr="Private method 'foo(MyTestMethod.I3)' is never used">foo</warning>(I3 i) {System.out.println(i);}
|
||||
|
||||
+2
-3
@@ -1,13 +1,12 @@
|
||||
class MyTest {
|
||||
|
||||
interface I {
|
||||
void _(MyTest receiver, Integer i);
|
||||
void m(MyTest receiver, Integer i);
|
||||
}
|
||||
|
||||
void m(Integer i) {}
|
||||
|
||||
public static void main(String[] args) {
|
||||
I i = MyTest :: m;
|
||||
i._(new MyTest(), 1);
|
||||
i.m(new MyTest(), 1);
|
||||
}
|
||||
}
|
||||
+3
-6
@@ -1,5 +1,4 @@
|
||||
class OnArrayTest {
|
||||
|
||||
interface Cln {
|
||||
Object m(int[] i);
|
||||
}
|
||||
@@ -16,9 +15,8 @@ class OnArrayTest {
|
||||
int len(T[] ta);
|
||||
}
|
||||
|
||||
|
||||
interface ToStr<T> {
|
||||
String _(T[] ta);
|
||||
String m(T[] ta);
|
||||
}
|
||||
|
||||
interface ArrayReturnType<T> {
|
||||
@@ -40,18 +38,17 @@ class OnArrayTest {
|
||||
ArrayReturnType<String[]> a1 = String[]::new;
|
||||
ArrayReturnType<String[][]> a2 = String[][]::new;
|
||||
ArrayReturnType<String[]> a3 = <error descr="Bad return type in method reference: cannot convert int[] to java.lang.String[]">int[]::new</error>;
|
||||
|
||||
|
||||
ObjectArrayReturnType a4 = Foo<?>[]::new;
|
||||
ObjectArrayReturnType a5 = <error descr="Generic array creation">Foo<? extends String>[]</error>::new;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class IDEA106973 {
|
||||
interface Function<T, R> {
|
||||
R apply(T t);
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
Function<Integer, String[]> a = String[] :: new;
|
||||
<error descr="Incompatible types. Found: '<method reference>', required: 'IDEA106973.Function<java.lang.String,java.lang.String[]>'">Function<String, String[]> a1 = String[] :: new;</error>
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class MyTest {
|
||||
interface I<X> {
|
||||
X _();
|
||||
X m();
|
||||
}
|
||||
static <T> T bar() {return null;}
|
||||
static {
|
||||
|
||||
+1
-4
@@ -1,11 +1,8 @@
|
||||
class Test<X> {
|
||||
|
||||
interface I {
|
||||
void _();
|
||||
void m();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void test() {
|
||||
I i1 = <error descr="Parameterized qualifier on static method reference">Test<String>::foo</error>;
|
||||
I i2 = Test::foo;
|
||||
|
||||
+3
-3
@@ -12,11 +12,11 @@ class Test {
|
||||
public static Integer length(String s) {
|
||||
return s.length();
|
||||
}
|
||||
|
||||
|
||||
public static void bar(Bar bar) {}
|
||||
|
||||
|
||||
interface Bar {
|
||||
Integer _(String s);
|
||||
Integer m(String s);
|
||||
}
|
||||
|
||||
void f() throws IOException {
|
||||
|
||||
Reference in New Issue
Block a user