diff options
Diffstat (limited to 'java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/interfaceMethods/StaticMethodCalls.java')
-rw-r--r-- | java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/interfaceMethods/StaticMethodCalls.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/interfaceMethods/StaticMethodCalls.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/interfaceMethods/StaticMethodCalls.java new file mode 100644 index 000000000000..0c517e99a7c7 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/interfaceMethods/StaticMethodCalls.java @@ -0,0 +1,25 @@ + +class Bug { + + interface Function<T, R> { + public R apply(T t); + + static <K> Function<K, K> identity() { + return k -> k; + } + } + + interface IFunction extends Function<Integer, Integer> { + static void a() { + Function<Integer, Integer> identity = <error descr="Static method may be invoked on containing interface class only">identity();</error> + } + } + + public void foo() { + Function<Integer, Integer> f = Function.identity(); + + Function<Integer, Integer> g = <error descr="Static method may be invoked on containing interface class only">f.identity();</error> + + Function<Integer, Integer> h = <error descr="Static method may be invoked on containing interface class only">IFunction.identity();</error> + } +}
\ No newline at end of file |