/
githubmirror
/
panama-vector
Обзор
Документация
Войти
/
githubmirror
/
panama-vector
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/langtools/tools/javac/lambda/LambdaConv09.java
50 строк
1 KB
Erik Joelsson
8187443: Forest Consolidation: Move files to unified layout
12 сен 2017, 20:03
12 сен 2017, 20:03
3789983
Код
Авторство
О чём код?
/* * @test /nodynamiccopyright/ * @bug 8003280 * @summary Add lambda tests * check that SAM conversion handles Object members correctly * @author Alex Buckley * @author Maurizio Cimadamore * @compile/fail/ref=LambdaConv09.out -XDrawDiagnostics LambdaConv09.java */ class LambdaConv09 { // Not a SAM type; not enough abstract methods interface Foo1 {} // SAM type; Foo has no abstract methods interface Foo2 { boolean equals(Object object); } // Not a SAM type; Foo still has no abstract methods interface Foo3 extends Foo2 { public abstract String toString(); } // SAM type; Bar has one abstract non-Object method interface Foo4<T> extends Foo2 { int compare(T o1, T o2); } // Not a SAM type; still no valid abstract methods interface Foo5 { boolean equals(Object object); String toString(); } // SAM type; Foo6 has one abstract non-Object method interface Foo6<T> { boolean equals(Object obj); int compare(T o1, T o2); } // SAM type; Foo6 has one abstract non-Object method interface Foo7<T> extends Foo2, Foo6<T> { } void test() { Foo1 f1 = ()-> { }; Foo2 f2 = ()-> { }; Foo3 f3 = x -> true; Foo4 f4 = (x, y) -> 1; Foo5 f5 = x -> true; Foo6 f6 = (x, y) -> 1; Foo7 f7 = (x, y) -> 1; } }