/
githubmirror
/
panama-vector
Обзор
Документация
Войти
/
githubmirror
/
panama-vector
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/langtools/tools/javac/lambda/MethodReference28.java
56 строк
2 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 non-compatible method references are rejected * @compile/fail/ref=MethodReference28.out -XDrawDiagnostics MethodReference28.java */ class MethodReference28 { interface SAM1 { void m(int i); } interface SAM2 { void m(MethodReference28 rec, int i); } static void static_m1(Integer i) { } //ok - boxing static void static_m2(Integer i1, Integer i2) { } //wrong arity static void static_m3(String s) { } //type mismatch static void static_m4(String... ss) { } //type mismatch - varargs void m1(Integer i) { } //ok - boxing void m2(Integer i1, Integer i2) { } //wrong arity void m3(String s) { } //type mismatch void m4(String... ss) { } //type mismatch - varargs static void testStatic() { SAM1 s1 = MethodReference28::static_m1; SAM1 s2 = MethodReference28::static_m2; SAM1 s3 = MethodReference28::static_m3; SAM1 s4 = MethodReference28::static_m4; } void testBadMember() { SAM1 s1 = MethodReference28::m1; SAM1 s2 = MethodReference28::m2; SAM1 s3 = MethodReference28::m3; SAM1 s4 = MethodReference28::m4; } void testMember() { SAM1 s1 = this::m1; SAM1 s2 = this::m2; SAM1 s3 = this::m3; SAM1 s4 = this::m4; } static void testUnbound() { SAM2 s1 = MethodReference28::m1; SAM2 s2 = MethodReference28::m2; SAM2 s3 = MethodReference28::m3; SAM2 s4 = MethodReference28::m4; } }