summaryrefslogtreecommitdiff
path: root/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/interfaceMethods/StaticMethodCalls.java
diff options
context:
space:
mode:
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.java25
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