summaryrefslogtreecommitdiff
path: root/java/java-tests/testData/codeInsight/daemonCodeAnalyzer
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-tests/testData/codeInsight/daemonCodeAnalyzer')
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/annotations/typeAnnotations.java1
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/IDEA127584.java22
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA127596.java9
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA126969.java15
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA127506.java24
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeCast/afterShortenFQNs.java10
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeCast/beforeShortenFQNs.java8
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/anonymous2lambda/beforeObjectInferredButIntExpected.java16
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/convert2Local/afterMultipleMethodsMultipleFields.java17
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/convert2Local/beforeMultipleMethodsMultipleFields.java18
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/convert2Local/beforeMultipleMethodsOnReadOnly.java18
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeInsideInterface.java7
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createMethodFromUsage/afterStaticInInterface.java10
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createMethodFromUsage/beforeStaticInInterface.java6
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/lambda2methodReference/afterAmbiguityWithoutSuperMethods.java11
-rw-r--r--java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/lambda2methodReference/beforeAmbiguityWithoutSuperMethods.java11
16 files changed, 203 insertions, 0 deletions
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/annotations/typeAnnotations.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/annotations/typeAnnotations.java
index 28035c8c1698..01f7486ea89a 100644
--- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/annotations/typeAnnotations.java
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/annotations/typeAnnotations.java
@@ -114,6 +114,7 @@ class Outer {
void <error descr="Annotations are not allowed here">@TA</error> misplaced() { }
@TA Outer() { }
+ <T> <error descr="Annotations are not allowed here">@TA</error> Outer(T t) { }
class MyClass<@TA @TPA T> { }
interface MyInterface<@TA @TPA E> { }
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/IDEA127584.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/IDEA127584.java
new file mode 100644
index 000000000000..f1222505a708
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/IDEA127584.java
@@ -0,0 +1,22 @@
+class Test {
+ public static <Tfoo, Vfoo> Future<Vfoo> foo(Future<Tfoo> future, Function<Tfoo, Vfoo> function) {
+ return future.map(function);
+ }
+
+ // These interfaces inspired by FoundationDB Java client class files
+ interface PartialFunction <TP, VP> {
+ VP apply(TP t) throws java.lang.Exception;
+ }
+
+ interface Function <TF, VF> extends PartialFunction<TF, VF> {
+ VF apply(TF t);
+ }
+
+ interface PartialFuture <TPP> {
+ <VPP> PartialFuture<VPP> map(PartialFunction<TPP, VPP> partialFunction);
+ }
+
+ interface Future <TFF> extends PartialFuture<TFF> {
+ <VFF> Future<VFF> map(Function<TFF, VFF> function);
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA127596.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA127596.java
new file mode 100644
index 000000000000..20636674141b
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA127596.java
@@ -0,0 +1,9 @@
+class Executor<E> {
+ <K> void bar(Executor<K> e) {
+ Runnable r = () -> foo(e);
+ }
+
+ private <T> T foo(final Executor<T> e) {
+ return null;
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA126969.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA126969.java
new file mode 100644
index 000000000000..e981d28298b5
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA126969.java
@@ -0,0 +1,15 @@
+import java.util.Collection;
+import java.util.List;
+import java.util.stream.Stream;
+
+class IDEA126969 {
+ void foo(final Stream<List<Integer>> stream) {
+
+ stream.flatMap(List::stream)
+ .forEach(i -> System.out.println(i.floatValue()));
+
+ stream.flatMap(Collection::stream)
+ .forEach(i -> System.out.println(i.floatValue()));
+
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA127506.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA127506.java
new file mode 100644
index 000000000000..7abf6ba9427a
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA127506.java
@@ -0,0 +1,24 @@
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Stream;
+
+class Validator {
+ static boolean thereAreConstraintViolationsIn1(final Stream<Object> objectStream, Validator validator) {
+ Stream<Set<List<Object>>> rStream = objectStream
+ .map(validator::validate);
+ return rStream
+ .flatMap(set -> set.stream())
+ .findAny()
+ .isPresent();
+ }
+
+ static void thereAreConstraintViolationsIn(final Stream<Object> objectStream, Validator validator) {
+ Stream<Set<List<Object>>> rStream = objectStream.map(validator ::validate);
+
+ Stream<Set<List<Object>>> lStream = objectStream.map((a) -> validator.validate(a));
+ }
+
+ <T> Set<List<T>> validate(T var1, Class<?> ... var2) {
+ return null;
+ }
+} \ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeCast/afterShortenFQNs.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeCast/afterShortenFQNs.java
new file mode 100644
index 000000000000..9fea89ffa684
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeCast/afterShortenFQNs.java
@@ -0,0 +1,10 @@
+import java.util.List;
+
+// "Cast parameter to 'java.util.List'" "true"
+class Test {
+ void m(Object o) {
+ foo((List) o);
+ }
+
+ private void foo(final java.util.List o) {}
+}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeCast/beforeShortenFQNs.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeCast/beforeShortenFQNs.java
new file mode 100644
index 000000000000..e53d8b1e6c31
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeCast/beforeShortenFQNs.java
@@ -0,0 +1,8 @@
+// "Cast parameter to 'java.util.List'" "true"
+class Test {
+ void m(Object o) {
+ foo(<caret>o);
+ }
+
+ private void foo(final java.util.List o) {}
+}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/anonymous2lambda/beforeObjectInferredButIntExpected.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/anonymous2lambda/beforeObjectInferredButIntExpected.java
new file mode 100644
index 000000000000..3a82478ec678
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/anonymous2lambda/beforeObjectInferredButIntExpected.java
@@ -0,0 +1,16 @@
+// "Replace with lambda" "false"
+import java.util.function.Function;
+
+class Test {
+ void ab() {
+ comparing(new Func<caret>tion<Integer, String>() {
+ public String apply(Integer pObj) {
+ return Integer.toString(pObj);
+ }
+ });
+
+ }
+
+ static <T> void comparing(Function<T, String> keyExtractor){}
+
+}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/convert2Local/afterMultipleMethodsMultipleFields.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/convert2Local/afterMultipleMethodsMultipleFields.java
new file mode 100644
index 000000000000..9d1502b44bc0
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/convert2Local/afterMultipleMethodsMultipleFields.java
@@ -0,0 +1,17 @@
+// "Convert to local" "true"
+class MyClassTest {
+
+ private boolean editable = false;
+
+ boolean isEditable() {
+ return editable;
+ }
+
+ void setEditable(boolean editable) {
+ this.editable = editable;
+ }
+
+ public void setEditable1(final boolean editable1) {
+ boolean editable11 = editable1;
+ }
+} \ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/convert2Local/beforeMultipleMethodsMultipleFields.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/convert2Local/beforeMultipleMethodsMultipleFields.java
new file mode 100644
index 000000000000..4c6ead704f57
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/convert2Local/beforeMultipleMethodsMultipleFields.java
@@ -0,0 +1,18 @@
+// "Convert to local" "true"
+class MyClassTest {
+
+ private boolean editable = false;
+ private boolean edit<caret>able1 = false;
+
+ boolean isEditable() {
+ return editable;
+ }
+
+ void setEditable(boolean editable) {
+ this.editable = editable;
+ }
+
+ public void setEditable1(final boolean editable1) {
+ this.editable1 = editable1;
+ }
+} \ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/convert2Local/beforeMultipleMethodsOnReadOnly.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/convert2Local/beforeMultipleMethodsOnReadOnly.java
new file mode 100644
index 000000000000..db61483db9ad
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/convert2Local/beforeMultipleMethodsOnReadOnly.java
@@ -0,0 +1,18 @@
+// "Convert to local" "false"
+class MyClassTest {
+
+ private boolean edit<caret>able = false;
+ private boolean editable1 = false;
+
+ boolean isEditable() {
+ return editable;
+ }
+
+ void setEditable(boolean editable) {
+ this.editable = editable;
+ }
+
+ public void setEditable1(final boolean editable1) {
+ this.editable1 = editable1;
+ }
+} \ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeInsideInterface.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeInsideInterface.java
new file mode 100644
index 000000000000..74627f9409ee
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeInsideInterface.java
@@ -0,0 +1,7 @@
+// "Create Field 'myFoo'" "false"
+
+interface Test {
+ default String get() {
+ return my<caret>Foo;
+ }
+} \ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createMethodFromUsage/afterStaticInInterface.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createMethodFromUsage/afterStaticInInterface.java
new file mode 100644
index 000000000000..66a2b59a9a10
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createMethodFromUsage/afterStaticInInterface.java
@@ -0,0 +1,10 @@
+// "Create Method 'f'" "true"
+interface X {
+ public static void m() {
+ f();
+ }
+
+ static void f() {
+
+ }
+} \ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createMethodFromUsage/beforeStaticInInterface.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createMethodFromUsage/beforeStaticInInterface.java
new file mode 100644
index 000000000000..81afbe358fbe
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createMethodFromUsage/beforeStaticInInterface.java
@@ -0,0 +1,6 @@
+// "Create Method 'f'" "true"
+interface X {
+ public static void m() {
+ f<caret>();
+ }
+} \ No newline at end of file
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/lambda2methodReference/afterAmbiguityWithoutSuperMethods.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/lambda2methodReference/afterAmbiguityWithoutSuperMethods.java
new file mode 100644
index 000000000000..54310c8da75f
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/lambda2methodReference/afterAmbiguityWithoutSuperMethods.java
@@ -0,0 +1,11 @@
+// "Replace lambda with method reference" "true"
+import java.io.PrintStream;
+import java.util.function.BiConsumer;
+
+class Test {
+ {
+ BiConsumer<PrintStream, String> printer = PrintStream::println;
+ }
+
+
+}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/lambda2methodReference/beforeAmbiguityWithoutSuperMethods.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/lambda2methodReference/beforeAmbiguityWithoutSuperMethods.java
new file mode 100644
index 000000000000..7c68e5ec9fbc
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/lambda2methodReference/beforeAmbiguityWithoutSuperMethods.java
@@ -0,0 +1,11 @@
+// "Replace lambda with method reference" "true"
+import java.io.PrintStream;
+import java.util.function.BiConsumer;
+
+class Test {
+ {
+ BiConsumer<PrintStream, String> printer = (printStream, x) -> printSt<caret>ream.println(x);
+ }
+
+
+}