diff options
Diffstat (limited to 'java/java-tests/testData/codeInsight')
100 files changed, 1144 insertions, 31 deletions
diff --git a/java/java-tests/testData/codeInsight/addJavadoc/afterClass.java b/java/java-tests/testData/codeInsight/addJavadoc/afterClass.java new file mode 100644 index 000000000000..c8afa98295ce --- /dev/null +++ b/java/java-tests/testData/codeInsight/addJavadoc/afterClass.java @@ -0,0 +1,8 @@ +// "Add Javadoc" "true" + +/** + * + */ +class Foo { + +} diff --git a/java/java-tests/testData/codeInsight/addJavadoc/afterField.java b/java/java-tests/testData/codeInsight/addJavadoc/afterField.java new file mode 100644 index 000000000000..96c53712f0b2 --- /dev/null +++ b/java/java-tests/testData/codeInsight/addJavadoc/afterField.java @@ -0,0 +1,10 @@ +// "Add Javadoc" "true" + +class A { + + /** + * + */ + private int myFoo; + +} diff --git a/java/java-tests/testData/codeInsight/addJavadoc/afterMethod.java b/java/java-tests/testData/codeInsight/addJavadoc/afterMethod.java new file mode 100644 index 000000000000..d5d21088c837 --- /dev/null +++ b/java/java-tests/testData/codeInsight/addJavadoc/afterMethod.java @@ -0,0 +1,10 @@ +// "Add Javadoc" "true" + +class A { + /** + * + */ + public void foo() { + + } +} diff --git a/java/java-tests/testData/codeInsight/addJavadoc/afterMethod2.java b/java/java-tests/testData/codeInsight/addJavadoc/afterMethod2.java new file mode 100644 index 000000000000..a86a2f943c81 --- /dev/null +++ b/java/java-tests/testData/codeInsight/addJavadoc/afterMethod2.java @@ -0,0 +1,12 @@ +// "Add Javadoc" "true" + +class A { + /** + * @param s + * @return + * @throws Exception + */ + public int foo(final String s) throws Exception { + + } +} diff --git a/java/java-tests/testData/codeInsight/addJavadoc/beforeClass.java b/java/java-tests/testData/codeInsight/addJavadoc/beforeClass.java new file mode 100644 index 000000000000..c6c284928e24 --- /dev/null +++ b/java/java-tests/testData/codeInsight/addJavadoc/beforeClass.java @@ -0,0 +1,5 @@ +// "Add Javadoc" "true" + +class Fo<caret>o { + +} diff --git a/java/java-tests/testData/codeInsight/addJavadoc/beforeClass2.java b/java/java-tests/testData/codeInsight/addJavadoc/beforeClass2.java new file mode 100644 index 000000000000..0d1d456256d6 --- /dev/null +++ b/java/java-tests/testData/codeInsight/addJavadoc/beforeClass2.java @@ -0,0 +1,13 @@ +// "Add Javadoc" "false" + +class A { + + void m() { + + Object o<caret> = new Object() { + + } + + } + +} diff --git a/java/java-tests/testData/codeInsight/addJavadoc/beforeField.java b/java/java-tests/testData/codeInsight/addJavadoc/beforeField.java new file mode 100644 index 000000000000..cf27dadb93e5 --- /dev/null +++ b/java/java-tests/testData/codeInsight/addJavadoc/beforeField.java @@ -0,0 +1,7 @@ +// "Add Javadoc" "true" + +class A { + + private int myFo<caret>o; + +} diff --git a/java/java-tests/testData/codeInsight/addJavadoc/beforeMethod.java b/java/java-tests/testData/codeInsight/addJavadoc/beforeMethod.java new file mode 100644 index 000000000000..c428f80c85cd --- /dev/null +++ b/java/java-tests/testData/codeInsight/addJavadoc/beforeMethod.java @@ -0,0 +1,7 @@ +// "Add Javadoc" "true" + +class A { + public void f<caret>oo() { + + } +} diff --git a/java/java-tests/testData/codeInsight/addJavadoc/beforeMethod2.java b/java/java-tests/testData/codeInsight/addJavadoc/beforeMethod2.java new file mode 100644 index 000000000000..0fb87904cc0c --- /dev/null +++ b/java/java-tests/testData/codeInsight/addJavadoc/beforeMethod2.java @@ -0,0 +1,7 @@ +// "Add Javadoc" "true" + +class A { + public int f<caret>oo(final String s) throws Exception { + + } +} diff --git a/java/java-tests/testData/codeInsight/completion/className/template/after1.java b/java/java-tests/testData/codeInsight/completion/className/template/after1.java new file mode 100644 index 000000000000..26e269fc5089 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/template/after1.java @@ -0,0 +1,12 @@ +import pack.Foo; +class Test { + { + m(new Foo<String>() { + @Override + public void foo(String s) { + + } + }) + } + <T> void m(Foo<T> foo){} +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/template/after2.java b/java/java-tests/testData/codeInsight/completion/className/template/after2.java new file mode 100644 index 000000000000..3cc7fd50d897 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/template/after2.java @@ -0,0 +1,12 @@ +import pack.Foo; +class Test { + { + m(new Foo<String>() { + @Override + public void foo(String s) { + + } + }) + } + void m(Foo<String> foo){} +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/template/before1.java b/java/java-tests/testData/codeInsight/completion/className/template/before1.java new file mode 100644 index 000000000000..db664b23c886 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/template/before1.java @@ -0,0 +1,7 @@ +import pack.Foo; +class Test { + { + m(new <caret>) + } + <T> void m(Foo<T> foo){} +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/template/before2.java b/java/java-tests/testData/codeInsight/completion/className/template/before2.java new file mode 100644 index 000000000000..bf1ca0b36978 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/template/before2.java @@ -0,0 +1,7 @@ +import pack.Foo; +class Test { + { + m(new <caret>) + } + void m(Foo<String> foo){} +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/NoBooleansInMultiplication.java b/java/java-tests/testData/codeInsight/completion/normalSorting/NoBooleansInMultiplication.java new file mode 100644 index 000000000000..befcf40a26ab --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normalSorting/NoBooleansInMultiplication.java @@ -0,0 +1,7 @@ +public class Foo { + + int foo(Object fact) { + return 42 * fa<caret>x + } +} + diff --git a/java/java-tests/testData/codeInsight/completion/normalSorting/NoNumberValueOf.java b/java/java-tests/testData/codeInsight/completion/normalSorting/NoNumberValueOf.java new file mode 100644 index 000000000000..d53e3c294eb5 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/normalSorting/NoNumberValueOf.java @@ -0,0 +1,7 @@ +public class Foo { + + void foo(Object value) { + Integer i = val<caret>x + } +} + diff --git a/java/java-tests/testData/codeInsight/createSwitch/enum.java b/java/java-tests/testData/codeInsight/createSwitch/enum.java new file mode 100644 index 000000000000..23d180ddbe3b --- /dev/null +++ b/java/java-tests/testData/codeInsight/createSwitch/enum.java @@ -0,0 +1,11 @@ +class X { + + enum MyEnum { + a,b,c + } + + void m(MyEnum e) { + e<caret> + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/createSwitch/enum2.java b/java/java-tests/testData/codeInsight/createSwitch/enum2.java new file mode 100644 index 000000000000..8464e6213e22 --- /dev/null +++ b/java/java-tests/testData/codeInsight/createSwitch/enum2.java @@ -0,0 +1,11 @@ +class X { + + enum MyEnum { + a,b,c + } + + void m(MyEnum e) { + <caret>e + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/createSwitch/enum2_after.java b/java/java-tests/testData/codeInsight/createSwitch/enum2_after.java new file mode 100644 index 000000000000..61803f4e0f6b --- /dev/null +++ b/java/java-tests/testData/codeInsight/createSwitch/enum2_after.java @@ -0,0 +1,12 @@ +class X { + + enum MyEnum { + a,b,c + } + + void m(MyEnum e) { + switch (e) {<caret> + } + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/createSwitch/enum_after.java b/java/java-tests/testData/codeInsight/createSwitch/enum_after.java new file mode 100644 index 000000000000..61803f4e0f6b --- /dev/null +++ b/java/java-tests/testData/codeInsight/createSwitch/enum_after.java @@ -0,0 +1,12 @@ +class X { + + enum MyEnum { + a,b,c + } + + void m(MyEnum e) { + switch (e) {<caret> + } + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/createSwitch/notAvailable.java b/java/java-tests/testData/codeInsight/createSwitch/notAvailable.java new file mode 100644 index 000000000000..2cdae544482e --- /dev/null +++ b/java/java-tests/testData/codeInsight/createSwitch/notAvailable.java @@ -0,0 +1,13 @@ +class X { + + void m() { + + int foo = 10; + m2(fo<caret>o); + + } + + void m2(int i) { + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/createSwitch/notAvailable2.java b/java/java-tests/testData/codeInsight/createSwitch/notAvailable2.java new file mode 100644 index 000000000000..112e2d450d9b --- /dev/null +++ b/java/java-tests/testData/codeInsight/createSwitch/notAvailable2.java @@ -0,0 +1,13 @@ +class X { + + void m() { + + int foo = 10; + int bar = fo<caret>o + 10; + + } + + void m2(int i) { + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/createSwitch/primitive.java b/java/java-tests/testData/codeInsight/createSwitch/primitive.java new file mode 100644 index 000000000000..332325ce4029 --- /dev/null +++ b/java/java-tests/testData/codeInsight/createSwitch/primitive.java @@ -0,0 +1,10 @@ +class X { + + void m() { + + int foo = 10; + fo<caret>o + + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/createSwitch/primitive_after.java b/java/java-tests/testData/codeInsight/createSwitch/primitive_after.java new file mode 100644 index 000000000000..0f04c947694b --- /dev/null +++ b/java/java-tests/testData/codeInsight/createSwitch/primitive_after.java @@ -0,0 +1,11 @@ +class X { + + void m() { + + int foo = 10; + switch (foo) {<caret> + } + + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/createSwitch/string.java b/java/java-tests/testData/codeInsight/createSwitch/string.java new file mode 100644 index 000000000000..aca5f90aa689 --- /dev/null +++ b/java/java-tests/testData/codeInsight/createSwitch/string.java @@ -0,0 +1,10 @@ +class X { + + void m() { + + String s = getStr(); + s<caret> + + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/createSwitch/string_after.java b/java/java-tests/testData/codeInsight/createSwitch/string_after.java new file mode 100644 index 000000000000..3acf5d1e5b59 --- /dev/null +++ b/java/java-tests/testData/codeInsight/createSwitch/string_after.java @@ -0,0 +1,11 @@ +class X { + + void m() { + + String s = getStr(); + switch (s) {<caret> + } + + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/FinalFieldInit.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/FinalFieldInit.java index a7450bd6e3e4..16f89fd887cd 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/FinalFieldInit.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/FinalFieldInit.java @@ -236,9 +236,19 @@ class IDEA100237 { } final Object baz = new Object() { - final int qux = <error descr="Variable 'bar' might not have been initialized">bar</error>.hashCode() + 1; + final int qux = bar.<error descr="Cannot resolve method 'hashCode()'">hashCode</error>() + 1; }; } + + static class Outer { + final String a; + class Inner { + String b = a; + } + Outer() { + a = ""; + } + } } class StaticInitializerUsedInAnotherStaticField { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/UnsupportedFeatures.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/UnsupportedFeatures.java index 326c24bbbbf5..87891d0d5bc3 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/UnsupportedFeatures.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/UnsupportedFeatures.java @@ -1,19 +1,3 @@ -/* - * Copyright 2000-2012 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - import java.io.*; import java.util.*; @@ -34,16 +18,7 @@ class UnsupportedFeatures { <error descr="Incompatible types. Found: 'boolean', required: 'java.lang.Boolean'">Boolean b = true;</error> <error descr="Incompatible types. Found: 'java.lang.Boolean', required: 'boolean'">boolean b1 = Boolean.TRUE;</error> - try { Reader r = new FileReader("/dev/null"); } - catch (<error descr="Multi-catches are not supported at this language level">FileNotFoundException | IOException e</error>) { e.printStackTrace(); } - - try <error descr="Try-with-resources are not supported at this language level">(Reader r = new FileReader("/dev/null"))</error> { } - - I i1 = <error descr="Method references are not supported at this language level">UnsupportedFeatures::m</error>; - I i2 = <error descr="Lambda expressions are not supported at this language level">() -> { }</error>; - } - - interface I { - <error descr="Extension methods are not supported at this language level">default void m() { }</error> + java.lang.annotation.ElementType t = null; + switch (<error descr="Incompatible types. Found: 'java.lang.annotation.ElementType', required: 'byte, char, short or int'">t</error>) { } } } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/EnumSynthetics.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/EnumSynthetics.java new file mode 100644 index 000000000000..fa25bbff5ab4 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/EnumSynthetics.java @@ -0,0 +1,8 @@ +import java.lang.annotation.ElementType; + +class EnumSynthetics { + void m() { + //ElementType[] values = ElementType.values(); + ElementType type = ElementType.valueOf("TYPE"); + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/IDEA61415.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/IDEA61415.java new file mode 100644 index 000000000000..8f86c8ed4058 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/IDEA61415.java @@ -0,0 +1,10 @@ +class Test { + Runnable r = new Runnable() { + <error descr="Modifier 'private' not allowed here">private</error> class Foo {} + @Override + public void run() { + + } + }; +} + diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/IDEA65473.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/IDEA65473.java new file mode 100644 index 000000000000..13e19fe40572 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/IDEA65473.java @@ -0,0 +1,13 @@ + +class FirstClass { + public FirstClass(int i) { + } + + public FirstClass() { + this(Point.FOO); + } + + public class Point { + public static final int FOO = 0; + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/UnsupportedFeatures7.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/UnsupportedFeatures7.java index ac3eb042da5f..168b31bcf55a 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/UnsupportedFeatures7.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/UnsupportedFeatures7.java @@ -41,6 +41,10 @@ class UnsupportedFeatures { I i1 = <error descr="Method references are not supported at this language level">UnsupportedFeatures::m</error>; I i2 = <error descr="Lambda expressions are not supported at this language level">() -> { }</error>; + + switch (<error descr="Incompatible types. Found: 'java.lang.String', required: 'byte, char, short or int'">list.get(0)</error>) { + case "foo": break; + } } interface I { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/SwitchByInaccessibleEnum.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/SwitchByInaccessibleEnum.java index 7cdd90fece61..70f2fa1656c1 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/SwitchByInaccessibleEnum.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/SwitchByInaccessibleEnum.java @@ -13,7 +13,7 @@ interface A { class D { public static void f(A a) { A.B b = a.getB(); - switch (<error descr="A.B.C is inaccessible here">b.c</error>) { + switch (<error descr="'A.B.C' is inaccessible here">b.c</error>) { case SOME: break; } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/CastObjectToIntJdk14.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/CastObjectToIntJdk14.java new file mode 100644 index 000000000000..4dc0dae7765d --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/CastObjectToIntJdk14.java @@ -0,0 +1,7 @@ +class Test { + + Object getObj() {return null;} + { + int a = (int) getObj(); + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA112117.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA112117.java new file mode 100644 index 000000000000..57b1c73999d9 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA112117.java @@ -0,0 +1,15 @@ +import java.io.Serializable; +import java.util.Set; + +class IdeaGenericsFail { + + public IdeaGenericsFail(Set<Klass<? extends Serializable>> map) { + } + + public static class Klass<T extends Serializable> { + } + + public static void main(final Set<Klass<?>> map) { + new IdeaGenericsFail(map); + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA118533.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA118533.java new file mode 100644 index 000000000000..56a140091dbe --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA118533.java @@ -0,0 +1,11 @@ +abstract class Test { + + interface InputFormat<K, V> { + } + + @SuppressWarnings("unchecked") + private static Class<? extends InputFormat<?, ?>> getInputFormatClass(final Class<? extends InputFormat> aClass) + throws ClassNotFoundException { + return (Class<? extends InputFormat<?, ?>>) aClass; + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA118536.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA118536.java new file mode 100644 index 000000000000..b747456247fe --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA118536.java @@ -0,0 +1,10 @@ +import java.util.Comparator; + +class MyTest { + void foo(final Ordering<Comparable> natural){ + compound(natural); + } + <U extends String> Ordering<U> compound(Comparator<? super U> secondaryComparator) { return null; } +} +abstract class Ordering <T> implements Comparator<T> {} + diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA119757.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA119757.java new file mode 100644 index 000000000000..d3e018e64c34 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA119757.java @@ -0,0 +1,16 @@ +import java.util.List; + +class Foo<T extends V,V> { + Foo(List<? extends T> l) { + } +} +class Bar { + void foo(Foo<String,String> foo) {} + + void bar(List<String> l) { + foo<error descr="'foo(Foo<java.lang.String,java.lang.String>)' in 'Bar' cannot be applied to '(Foo<java.lang.String,java.lang.Object>)'">(new Foo<>(l))</error>; + foo<error descr="'foo(Foo<java.lang.String,java.lang.String>)' in 'Bar' cannot be applied to '(Foo<java.lang.String,java.lang.Object>)'">(f(l))</error>; + } + + <T1 extends V1, V1> Foo<T1, V1> f(List<? extends T1> l) {return null;} +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA125423.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA125423.java new file mode 100644 index 000000000000..d2515eef82eb --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA125423.java @@ -0,0 +1,15 @@ +class FooBar<T> { + void foo(final FooBar<?> fooBar){ + fooBar.supertype<error descr="'supertype(java.lang.Class<capture<?>>)' in 'FooBar' cannot be applied to '(java.lang.Class<java.lang.Iterable>)'">(Iterable.class)</error>; + } + + void foo1(final FooBar<? super T> fooBar){ + fooBar.supertype<error descr="'supertype(java.lang.Class<capture<? super T>>)' in 'FooBar' cannot be applied to '(java.lang.Class<java.lang.Iterable>)'">(Iterable.class)</error>; + } + + void foo2(final FooBar<? extends T> fooBar){ + fooBar.supertype<error descr="'supertype(java.lang.Class<? super capture<? extends T>>)' in 'FooBar' cannot be applied to '(java.lang.Class<java.lang.Iterable>)'">(Iterable.class)</error>; + } + + void supertype(Class<? super T> superclass) {} +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA125744.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA125744.java new file mode 100644 index 000000000000..38580705a3c4 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA125744.java @@ -0,0 +1,14 @@ +class A {} +interface B {} + +class MyTest { + public <M extends A & B> M getInvokedMember() { + return null; + } +} + +class Bar { + void f(MyTest myTest) { + B member = myTest.getInvokedMember(); + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA125800.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA125800.java new file mode 100644 index 000000000000..1ec56b8a6c52 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA125800.java @@ -0,0 +1,10 @@ +import java.util.List; + +abstract class Test { + abstract <T extends List<String> & Runnable> T list(); + + public void test() + { + for (String s : list()) {} + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA125816.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA125816.java new file mode 100644 index 000000000000..e17d850a9106 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA125816.java @@ -0,0 +1,8 @@ +public enum State { + STATE1 { + State s = <error descr="It is illegal to access static member 'STATE2' from enum constructor or instance initializer">STATE2</error>; + }, + STATE2 { + State s = <error descr="It is illegal to access static member 'STATE1' from enum constructor or instance initializer">STATE1</error>; + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA24496.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA24496.java new file mode 100644 index 000000000000..454e43d33f08 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA24496.java @@ -0,0 +1,17 @@ +import java.util.List; +import java.util.ArrayList; + +class GenericsError { + + public <T> List<List<T>> method(List<T> list) { + List<List<T>> retVal = new ArrayList<List<T>>(); + retVal.add(list); + return retVal; + } + + public List<List<?>> otherMethod() { + List<?> list = null; + <error descr="Incompatible types. Found: 'java.util.List<java.util.List<capture<?>>>', required: 'java.util.List<java.util.List<?>>'">List<List<?>> result = method(list);</error> + return result; + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA57290.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA57290.java new file mode 100644 index 000000000000..1898d59e9316 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA57290.java @@ -0,0 +1,11 @@ + +class A<T,S> { + class B{} +} + +class C { + void foo(A<?,?>.B x){ + bar<error descr="'bar(A<capture<?>,capture<?>>.B)' in 'C' cannot be applied to '(A<capture<?>,capture<?>>.B)'">(x)</error>; + } + <T> void bar(A<T,T>.B x){} +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA57338.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA57338.java new file mode 100644 index 000000000000..06e25b11f772 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA57338.java @@ -0,0 +1,17 @@ +abstract class A { + abstract <T> void foo(); +} + +abstract class B extends A { + void foo() + { + this.<Integer>foo(); + } +} + +abstract class C { + void foo() + { + this.<error descr="Method 'foo()' does not have type parameters"><Integer></error>foo(); + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA57388.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA57388.java new file mode 100644 index 000000000000..9a5502a47700 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA57388.java @@ -0,0 +1,7 @@ + +class B<T extends Cloneable> {} +class A<T> { + A<B<? extends Cloneable>> foo(A<B<?>> x){ + return x; + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA58692.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA58692.java new file mode 100644 index 000000000000..6571375f3fdc --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA58692.java @@ -0,0 +1,20 @@ +class ExposeAnotherProblem { + + class OneClass<T> { + public T get(){ + return null; + } + } + + class AnotherClass<T> {} + + + static <T, R extends OneClass<T>> R method1(AnotherClass<T> param) { + return null; + } + + <E> E method2(AnotherClass<E> param){ + return method1(param).get(); + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA67578.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA67578.java new file mode 100644 index 000000000000..d2e602c6fdb2 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA67578.java @@ -0,0 +1,8 @@ +class X<T> { } + +class A<T, S extends X<T>> {} + +class C { + void foo(A<?, X<?>> a){ <error descr="Inferred type 'X<?>' for type parameter 'S' is not within its bound; should extend 'X<capture<?>>'">bar(a)</error>; } + <T, S extends X<T>> void bar(A<T, S> a){ } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA67600.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA67600.java new file mode 100644 index 000000000000..6f0e625e21c2 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA67600.java @@ -0,0 +1,24 @@ +abstract class A<T, S extends T> +{ + abstract S bar(); + void foo(A<Runnable[], ? extends Cloneable[]> a){ + <error descr="Incompatible types. Found: 'java.lang.Cloneable[]', required: 'java.lang.Runnable[]'">Runnable[] x = a.bar();</error> + } +} + +abstract class AB<T, S extends T> +{ + abstract S bar(); + void foo(AB<Runnable, ? extends Cloneable> a){ + Runnable x = a.bar(); + } +} + +abstract class AC<T, S> +{ + abstract S bar(); + void foo(AC<Runnable[], ? extends Cloneable[]> a){ + <error descr="Incompatible types. Found: 'java.lang.Cloneable[]', required: 'java.lang.Runnable[]'">Runnable[] x = a.bar();</error> + } +} + diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/graphInference/RawTypeFromParent.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/graphInference/RawTypeFromParent.java new file mode 100644 index 000000000000..49c8f5bbeaad --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/graphInference/RawTypeFromParent.java @@ -0,0 +1,18 @@ +import java.util.ArrayList; +import java.util.List; + +class Foo<T> { + + public void test(Foo parent) { + List<Foo> elements = getElements(parent); + + + for (<error descr="Incompatible types. Found: 'java.lang.Object', required: 'Foo'">Foo foo : getElements(parent)</error>) { + System.out.println(foo); + } + } + + public static <E extends Foo<E>> List<E> getElements(E parent) { + return new ArrayList<>(); + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/IDEA125855.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/IDEA125855.java new file mode 100644 index 000000000000..3021604f0768 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/IDEA125855.java @@ -0,0 +1,18 @@ + +import java.util.Collection; +import java.util.List; + +class Test { + + private static <E> void <warning descr="Private method 'x(java.util.Collection<E>)' is never used">x</warning>(Collection<E> collection) { + System.out.println(collection); + } + + private static <E> void x(List<E> list) { + System.out.println(list); + } + + public static void main(List list) { + Test.<Object[]>x(list); + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA118362.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA118362.java new file mode 100644 index 000000000000..111a23a7e8d7 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA118362.java @@ -0,0 +1,20 @@ +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.stream.Collectors; + +class Test { + private static final String[] decimalStrings = {"1.1", "+1.25"}; + + { + Arrays.stream(decimalStrings).map(BigDecimal::new).reduce(BigDecimal::add).ifPresent(bd -> System.out.print("Sum is " + bd)); + } + + void foo(final ArrayList<Pair> points) { + points.stream().filter(p -> p.x > 0).collect(Collectors.toCollection(ArrayList::new)); + } +} + +class Pair { + int x; +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA126056.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA126056.java new file mode 100644 index 000000000000..6cd13fd8df23 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA126056.java @@ -0,0 +1,27 @@ +import java.util.ArrayList; +import java.util.List; +import java.util.function.Predicate; +import java.util.stream.Stream; + +class StreamTest { + public class Foo {} + + List<? super Foo> all = new ArrayList<>(); + + void foo(final Predicate<Object> predicate, final Stream<? super Foo> stream){ + long the_count= stream.filter((a) -> predicate.test(a)).count(); + } + + void foo1(final Predicate<Object> predicate, final Stream<? extends Foo> stream){ + long the_count= stream.filter((a) -> predicate.test(a)).count(); + } + + void foo2(final Predicate<Object> predicate, final Stream<Foo> stream){ + long the_count= stream.filter((a) -> predicate.test(a)).count(); + } + +} + + + + diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA126062.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA126062.java new file mode 100644 index 000000000000..c8b023a2b38b --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/IDEA126062.java @@ -0,0 +1,12 @@ +import java.util.function.Consumer; +class Pipeline<I, O> implements Consumer<I> { + @Override public final void accept(I input) {} + + public <K> void then(Pipeline<O, K> pipeline, final Observable<O> observable) { + observable.subscribe(pipeline::accept); + } +} + +interface Observable<T> { + void subscribe(Consumer<T> x); +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterFewParameters.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterFewParameters.java new file mode 100644 index 000000000000..889b0a118252 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterFewParameters.java @@ -0,0 +1,15 @@ +// "Add missing annotation parameters - value3, value2, value1" "true" +class Test { + + @MyAnnotation(value3 = , value2 = , value1 = ) + void m() { + + } + + @interface MyAnnotation { + String value3(); + String value2(); + String value1(); + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterFewParameters2.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterFewParameters2.java new file mode 100644 index 000000000000..67886a6bb979 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterFewParameters2.java @@ -0,0 +1,16 @@ +// "Add missing annotation parameters - value4, value1" "true" +class Test { + + @MyAnnotation(value4 = , value3 = "", value2 = "", value1 = ) + void m() { + + } + + @interface MyAnnotation { + String value4(); + String value3(); + String value2(); + String value1(); + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterFewParametersWithoutOrder.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterFewParametersWithoutOrder.java new file mode 100644 index 000000000000..414eb2bf7f35 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterFewParametersWithoutOrder.java @@ -0,0 +1,16 @@ +// "Add missing annotation parameters - value4, value1" "true" +class Test { + + @MyAnnotation(value2 = "", value3 = "", value4 = , value1 = ) + void m() { + + } + + @interface MyAnnotation { + String value4(); + String value3(); + String value2(); + String value1(); + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterSingleParameter.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterSingleParameter.java new file mode 100644 index 000000000000..14f71e51a151 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterSingleParameter.java @@ -0,0 +1,13 @@ +// "Add missing annotation parameter 'value'" "true" +class Test { + + @MyAnnotation() + void m() { + + } + + @interface MyAnnotation { + String value(); + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterValueTyping.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterValueTyping.java new file mode 100644 index 000000000000..d6efb38f0792 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/afterValueTyping.java @@ -0,0 +1,14 @@ +class Test { + + @MyAnnotation(value3 = "value33", value2 = "value22", value1 = "value11") + void m() { + + } + + @interface MyAnnotation { + String value3(); + String value2(); + String value1(); + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeFewParameters.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeFewParameters.java new file mode 100644 index 000000000000..d8e6b5afbe7a --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeFewParameters.java @@ -0,0 +1,15 @@ +// "Add missing annotation parameters - value3, value2, value1" "true" +class Test { + + @MyAnnotati<caret>on + void m() { + + } + + @interface MyAnnotation { + String value3(); + String value2(); + String value1(); + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeFewParameters2.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeFewParameters2.java new file mode 100644 index 000000000000..bb0ad03903bf --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeFewParameters2.java @@ -0,0 +1,16 @@ +// "Add missing annotation parameters - value4, value1" "true" +class Test { + + @MyAnnotati<caret>on(value3 = "", value2 = "") + void m() { + + } + + @interface MyAnnotation { + String value4(); + String value3(); + String value2(); + String value1(); + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeFewParametersWithoutOrder.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeFewParametersWithoutOrder.java new file mode 100644 index 000000000000..4f210601e287 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeFewParametersWithoutOrder.java @@ -0,0 +1,16 @@ +// "Add missing annotation parameters - value4, value1" "true" +class Test { + + @MyAnnotati<caret>on(value2 = "", value3 = "") + void m() { + + } + + @interface MyAnnotation { + String value4(); + String value3(); + String value2(); + String value1(); + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeParameterWithDefaultValue.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeParameterWithDefaultValue.java new file mode 100644 index 000000000000..15862bc3f427 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeParameterWithDefaultValue.java @@ -0,0 +1,13 @@ +// "Add missing annotation parameter 'value'" "false" +class Test { + + @MyAnnotati<caret>on + void m() { + + } + + @interface MyAnnotation { + String value() default ""; + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeSingleParameter.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeSingleParameter.java new file mode 100644 index 000000000000..a627372e6db8 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeSingleParameter.java @@ -0,0 +1,13 @@ +// "Add missing annotation parameter 'value'" "true" +class Test { + + @MyAnnotati<caret>on + void m() { + + } + + @interface MyAnnotation { + String value(); + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeValueTyping.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeValueTyping.java new file mode 100644 index 000000000000..139f523bff7a --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addMissingRequiredAnnotationParameters/beforeValueTyping.java @@ -0,0 +1,14 @@ +class Test { + + @MyAnnotati<caret>on + void m() { + + } + + @interface MyAnnotation { + String value3(); + String value2(); + String value1(); + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/anonymous2lambda/beforeRaw.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/anonymous2lambda/beforeRaw.java new file mode 100644 index 000000000000..e9389d73da1b --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/anonymous2lambda/beforeRaw.java @@ -0,0 +1,24 @@ +// "Replace with lambda" "false" +class DbTableBinder { + + public Binder build() { + return new Bin<caret>der<DbTable>() { + public void bind(A q, DbTable dbTable) { + q.bind("name", dbTable.name); + } + }; + } +} + +class DbTable { + String name; +} + +interface Binder <ArgType> { + void bind(A<?> sqlStatement, ArgType argType); +} + +interface A<P> { + void bind(String s, String p); +} + diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterSameParameterSimpleNames.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterSameParameterSimpleNames.java index 3f64bdcda609..3b65e88d8bb8 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterSameParameterSimpleNames.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterSameParameterSimpleNames.java @@ -3,7 +3,7 @@ class A { private final int _field; private final int field; A(int field, int field1) { - _field = field; + this._field = field; this.field = field1; } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/removeUnusedVariable/afterIfNoBlock.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/removeUnusedVariable/afterIfNoBlock.java new file mode 100644 index 000000000000..19fcc59c4a64 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/removeUnusedVariable/afterIfNoBlock.java @@ -0,0 +1,9 @@ +// "Remove variable 'foo'" "true" +class a { + private int refactorTest(int i) { + int bar = 0; + if (i >0) ; + return bar; + } +} + diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/removeUnusedVariable/beforeIfNoBlock.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/removeUnusedVariable/beforeIfNoBlock.java new file mode 100644 index 000000000000..5648eaec5c28 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/removeUnusedVariable/beforeIfNoBlock.java @@ -0,0 +1,10 @@ +// "Remove variable 'foo'" "true" +class a { + private int refactorTest(int i) { + int f<caret>oo = 0; + int bar = 0; + if (i >0) foo++; + return bar; + } +} + diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/afterSillyAssignment.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/afterSillyAssignment.java new file mode 100644 index 000000000000..8b0859f170f3 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/afterSillyAssignment.java @@ -0,0 +1,7 @@ +// "Remove redundant assignment" "true" +class A { + { + String ss = ""; + + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/beforeSillyAssignment.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/beforeSillyAssignment.java new file mode 100644 index 000000000000..81147747a999 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/beforeSillyAssignment.java @@ -0,0 +1,8 @@ +// "Remove redundant assignment" "true" +class A { + { + String ss = ""; + + s<caret>s = ss; + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/afterFewParameters.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/afterFewParameters.java new file mode 100644 index 000000000000..868cf5e74f5c --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/afterFewParameters.java @@ -0,0 +1,14 @@ +// "Wrap 4th parameter using 'Arrays.asList'" "true" +import java.util.Arrays; +import java.util.List; + +public class Test { + + void list(int i, int j, int k, List<String> l, String s) { + + } + + void m(String[] a) { + list(1, 2, 3, Arrays.asList(a), "asd"); + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/afterSingleParameter.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/afterSingleParameter.java new file mode 100644 index 000000000000..9544df9a4c52 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/afterSingleParameter.java @@ -0,0 +1,14 @@ +// "Wrap using 'Arrays.asList'" "true" +import java.util.Arrays; +import java.util.List; + +public class Test { + + void list(List<String> l) { + + } + + void m(String[] a) { + list(Arrays.asList(a)); + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/beforeFewParameters.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/beforeFewParameters.java new file mode 100644 index 000000000000..92ed4293c63b --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/beforeFewParameters.java @@ -0,0 +1,13 @@ +// "Wrap 4th parameter using 'Arrays.asList'" "true" +import java.util.List; + +public class Test { + + void list(int i, int j, int k, List<String> l, String s) { + + } + + void m(String[] a) { + list(1, 2, 3, a<caret>, "asd"); + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/beforeNotConvertible.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/beforeNotConvertible.java new file mode 100644 index 000000000000..8a8e0153aed4 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/beforeNotConvertible.java @@ -0,0 +1,13 @@ +// "Wrap using 'Arrays.asList'" "false" +import java.util.LinkedList; + +public class Test { + + void list(LinkedList<String> l) { + + } + + void m(String[] a) { + list(a<caret>); + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/beforeNotConvertible2.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/beforeNotConvertible2.java new file mode 100644 index 000000000000..c27ca44463db --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/beforeNotConvertible2.java @@ -0,0 +1,13 @@ +// "Wrap using 'Arrays.asList'" "false" +import java.util.LinkedList; + +public class Test { + + void list(LinkedList<String> l) { + + } + + void m(Long[] a) { + list(a<caret>); + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/beforeSingleParameter.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/beforeSingleParameter.java new file mode 100644 index 000000000000..fcc446717771 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/wrapArrayToArraysAsList/beforeSingleParameter.java @@ -0,0 +1,13 @@ +// "Wrap using 'Arrays.asList'" "false" +import java.util.List; + +public class Test { + + void list(List<String> l) { + + } + + void m(String[] a) { + list(a<caret>); + } +} diff --git a/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/afterBoolean.java b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/afterBoolean.java new file mode 100644 index 000000000000..9b101a0a3f08 --- /dev/null +++ b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/afterBoolean.java @@ -0,0 +1,13 @@ +// "Surround annotation parameter value with quotes" "true" +class X { + + @interface MyAnnotation { + String value(); + } + + @MyAnnotation("true") + void m() { + + } + +} diff --git a/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/afterChar.java b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/afterChar.java new file mode 100644 index 000000000000..7e4931578a58 --- /dev/null +++ b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/afterChar.java @@ -0,0 +1,13 @@ +// "Surround annotation parameter value with quotes" "true" +class X { + + @interface MyAnnotation { + String value(); + } + + @MyAnnotation(value= "x") + void m() { + + } + +} diff --git a/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/afterChar2.java b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/afterChar2.java new file mode 100644 index 000000000000..6167c3873f85 --- /dev/null +++ b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/afterChar2.java @@ -0,0 +1,13 @@ +// "Surround annotation parameter value with quotes" "true" +class X { + + @interface MyAnnotation { + String value(); + } + + @MyAnnotation(value= "\n") + void m() { + + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/afterLong.java b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/afterLong.java new file mode 100644 index 000000000000..b434e4774a82 --- /dev/null +++ b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/afterLong.java @@ -0,0 +1,15 @@ +// "Surround annotation parameter value with quotes" "true" +class X { + + @interface MyAnnotation { + int value0(); + String value(); + long value1(); + } + + @MyAnnotation(value0 = 1, value= "1000L", value1 = 10L) + void m() { + + } + +} diff --git a/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeBoolean.java b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeBoolean.java new file mode 100644 index 000000000000..04bba2333bd8 --- /dev/null +++ b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeBoolean.java @@ -0,0 +1,13 @@ +// "Surround annotation parameter value with quotes" "true" +class X { + + @interface MyAnnotation { + String value(); + } + + @MyAnnotation(tr<caret>ue) + void m() { + + } + +} diff --git a/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeChar.java b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeChar.java new file mode 100644 index 000000000000..92dc9c53b345 --- /dev/null +++ b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeChar.java @@ -0,0 +1,13 @@ +// "Surround annotation parameter value with quotes" "true" +class X { + + @interface MyAnnotation { + String value(); + } + + @MyAnnotation(value='<caret>x') + void m() { + + } + +} diff --git a/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeChar2.java b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeChar2.java new file mode 100644 index 000000000000..1f988b4e4f91 --- /dev/null +++ b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeChar2.java @@ -0,0 +1,13 @@ +// "Surround annotation parameter value with quotes" "true" +class X { + + @interface MyAnnotation { + String value(); + } + + @MyAnnotation(value='<caret>\n') + void m() { + + } + +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeLong.java b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeLong.java new file mode 100644 index 000000000000..9e8ee1565404 --- /dev/null +++ b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeLong.java @@ -0,0 +1,15 @@ +// "Surround annotation parameter value with quotes" "true" +class X { + + @interface MyAnnotation { + int value0(); + String value(); + long value1(); + } + + @MyAnnotation(value0 = 1, value=1<caret>000L, value1 = 10L) + void m() { + + } + +} diff --git a/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeNotAvailable.java b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeNotAvailable.java new file mode 100644 index 000000000000..a03677e097a8 --- /dev/null +++ b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeNotAvailable.java @@ -0,0 +1,10 @@ +// "Surround annotation parameter value with quotes" "false" +class X { + + void m() { + + String s = 123<caret>45; + + } + +} diff --git a/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeNotAvailable2.java b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeNotAvailable2.java new file mode 100644 index 000000000000..c5d5fd8115be --- /dev/null +++ b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeNotAvailable2.java @@ -0,0 +1,13 @@ +// "Surround annotation parameter value with quotes" "false" +class X { + + @interface MyAnnotation { + int value(); + } + + @MyAnnotation(tr<caret>ue) + void m() { + + } + +} diff --git a/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeNotAvailable3.java b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeNotAvailable3.java new file mode 100644 index 000000000000..c04ce8f94a7c --- /dev/null +++ b/java/java-tests/testData/codeInsight/surroundWithQuotesStringAnnotationParameterValue/beforeNotAvailable3.java @@ -0,0 +1,13 @@ +// "Surround annotation parameter value with quotes" "false" +class X { + + @interface MyAnnotation { + String c(); + } + + @MyAnnotation(tr<caret>ue) + void m() { + + } + +} diff --git a/java/java-tests/testData/codeInsight/template/postfix/templates/assert/beforeAssignment.java b/java/java-tests/testData/codeInsight/template/postfix/templates/assert/beforeAssignment.java new file mode 100644 index 000000000000..451aca185cdf --- /dev/null +++ b/java/java-tests/testData/codeInsight/template/postfix/templates/assert/beforeAssignment.java @@ -0,0 +1,7 @@ +public class Foo { + void m(boolean b) { + + b.assert<caret> + value = null; + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/template/postfix/templates/assert/beforeAssignment_after.java b/java/java-tests/testData/codeInsight/template/postfix/templates/assert/beforeAssignment_after.java new file mode 100644 index 000000000000..e5ecf0627526 --- /dev/null +++ b/java/java-tests/testData/codeInsight/template/postfix/templates/assert/beforeAssignment_after.java @@ -0,0 +1,7 @@ +public class Foo { + void m(boolean b) { + + assert b;<caret> + value = null; + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/template/postfix/templates/assert/simpleWithSemicolon.java b/java/java-tests/testData/codeInsight/template/postfix/templates/assert/simpleWithSemicolon.java new file mode 100644 index 000000000000..7d92853b4e95 --- /dev/null +++ b/java/java-tests/testData/codeInsight/template/postfix/templates/assert/simpleWithSemicolon.java @@ -0,0 +1,9 @@ +public class Foo { + void m() { + is();.assert<caret> + } + + boolean is() { + return false; + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/template/postfix/templates/assert/simpleWithSemicolon_after.java b/java/java-tests/testData/codeInsight/template/postfix/templates/assert/simpleWithSemicolon_after.java new file mode 100644 index 000000000000..11e8bdefe6d0 --- /dev/null +++ b/java/java-tests/testData/codeInsight/template/postfix/templates/assert/simpleWithSemicolon_after.java @@ -0,0 +1,9 @@ +public class Foo { + void m() { + assert is();<caret> + } + + boolean is() { + return false; + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/template/postfix/templates/if/beforeAssignment.java b/java/java-tests/testData/codeInsight/template/postfix/templates/if/beforeAssignment.java new file mode 100644 index 000000000000..30ce3f4060b7 --- /dev/null +++ b/java/java-tests/testData/codeInsight/template/postfix/templates/if/beforeAssignment.java @@ -0,0 +1,7 @@ +public class Foo { + void m(boolean b) { + + b.if<caret> + value = null; + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/template/postfix/templates/if/beforeAssignment_after.java b/java/java-tests/testData/codeInsight/template/postfix/templates/if/beforeAssignment_after.java new file mode 100644 index 000000000000..342bfe01434a --- /dev/null +++ b/java/java-tests/testData/codeInsight/template/postfix/templates/if/beforeAssignment_after.java @@ -0,0 +1,9 @@ +public class Foo { + void m(boolean b) { + + if (b) { + <caret> + } + value = null; + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/template/postfix/templates/if/simpleWithSemicolon.java b/java/java-tests/testData/codeInsight/template/postfix/templates/if/simpleWithSemicolon.java new file mode 100644 index 000000000000..4d67eaa05b0f --- /dev/null +++ b/java/java-tests/testData/codeInsight/template/postfix/templates/if/simpleWithSemicolon.java @@ -0,0 +1,9 @@ +public class Foo { + void m() { + is();.if<caret> + } + + boolean is() { + return false; + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/template/postfix/templates/if/simpleWithSemicolon_after.java b/java/java-tests/testData/codeInsight/template/postfix/templates/if/simpleWithSemicolon_after.java new file mode 100644 index 000000000000..a05e92eb1136 --- /dev/null +++ b/java/java-tests/testData/codeInsight/template/postfix/templates/if/simpleWithSemicolon_after.java @@ -0,0 +1,11 @@ +public class Foo { + void m() { + if (is()) { + <caret> + } + } + + boolean is() { + return false; + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/template/postfix/templates/throw/beforeAssignment.java b/java/java-tests/testData/codeInsight/template/postfix/templates/throw/beforeAssignment.java new file mode 100644 index 000000000000..689f16d7dc02 --- /dev/null +++ b/java/java-tests/testData/codeInsight/template/postfix/templates/throw/beforeAssignment.java @@ -0,0 +1,9 @@ +import java.lang.Exception; + +public class Foo { + void m(Exception e) { + + e.throw<caret> + value = null + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/template/postfix/templates/throw/beforeAssignment_after.java b/java/java-tests/testData/codeInsight/template/postfix/templates/throw/beforeAssignment_after.java new file mode 100644 index 000000000000..e6dbc1d08a27 --- /dev/null +++ b/java/java-tests/testData/codeInsight/template/postfix/templates/throw/beforeAssignment_after.java @@ -0,0 +1,9 @@ +import java.lang.Exception; + +public class Foo { + void m(Exception e) { + + throw e;<caret> + value = null + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/template/postfix/templates/throw/notThrowable_after.java b/java/java-tests/testData/codeInsight/template/postfix/templates/throw/notThrowable_after.java index 900e720607eb..9ffb89507938 100644 --- a/java/java-tests/testData/codeInsight/template/postfix/templates/throw/notThrowable_after.java +++ b/java/java-tests/testData/codeInsight/template/postfix/templates/throw/notThrowable_after.java @@ -1,5 +1,5 @@ public class Foo { void m(Object o) { - throw o;<caret> + o.throw <caret> } }
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/template/postfix/templates/throw/simpleWithSemicolon.java b/java/java-tests/testData/codeInsight/template/postfix/templates/throw/simpleWithSemicolon.java new file mode 100644 index 000000000000..75267946a8a6 --- /dev/null +++ b/java/java-tests/testData/codeInsight/template/postfix/templates/throw/simpleWithSemicolon.java @@ -0,0 +1,7 @@ +import java.lang.RuntimeException; + +public class Foo { + void m() { + new RuntimeException("error");.throw<caret> + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/template/postfix/templates/throw/simpleWithSemicolon_after.java b/java/java-tests/testData/codeInsight/template/postfix/templates/throw/simpleWithSemicolon_after.java new file mode 100644 index 000000000000..a0219e42ffc7 --- /dev/null +++ b/java/java-tests/testData/codeInsight/template/postfix/templates/throw/simpleWithSemicolon_after.java @@ -0,0 +1,7 @@ +import java.lang.RuntimeException; + +public class Foo { + void m() { + throw new RuntimeException("error"); + } +}
\ No newline at end of file |