diff options
Diffstat (limited to 'java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting')
4 files changed, 65 insertions, 0 deletions
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA105846.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA105846.java index 8b9c700484c9..04d39bd4c2ce 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA105846.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA105846.java @@ -1,5 +1,6 @@ class MyClass { public static void main(Class<? extends MyClass> clazz){ clazz = (Class<? extends MyClass>) clazz.getSuperclass(); + <error descr="Incompatible types. Found: 'java.lang.Class<capture<? super capture<? extends MyClass>>>', required: 'java.lang.Class<? extends MyClass>'">clazz = clazz.getSuperclass()</error>; } } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA106964.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA106964.java new file mode 100644 index 000000000000..8c8603ebb770 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA106964.java @@ -0,0 +1,12 @@ +import java.io.Serializable; + +public abstract class Test { + + abstract <T> T test(Class<T> cls); + + abstract <T> T test(Serializable type); + + private void call(){ + <error descr="Incompatible types. Found: 'java.lang.String[]', required: 'java.lang.String'">String s = test(String[].class);</error> + } +}
\ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA107782.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA107782.java new file mode 100644 index 000000000000..a078c65ddf22 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA107782.java @@ -0,0 +1,15 @@ +public class Test { + { + final <error descr="Incompatible types. Found: 'java.lang.Object', required: 'MyResult'">MyResult hello = parseXML(new Parser());</error> + } + public <R, P extends AbstractParser & Result<R>> R parseXML(P parser) { + R result = null; + return result; + } +} +class MyResult {} + +class AbstractParser {} +interface Result<T> {} +class Parser extends AbstractParser implements Result {} + diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA107957.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA107957.java new file mode 100644 index 000000000000..1228be1a48b7 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA107957.java @@ -0,0 +1,37 @@ +class Test1 { + + private static final Foo<Boolean> test = new Foo().method(Boolean.TRUE); + + public static void main(String[] args) { + System.out.println(test); + } + + public static class Foo<T> { + public Foo<Boolean> method(boolean arg) { + return null; + } + + public <T extends Enum<T>> Foo<T> method(T arg) { + return null; + } + } +} + +class Test2 { + + private static final Foo<Boolean> test = Foo.method(Boolean.TRUE); + + public static void main(String[] args) { + System.out.println(test); + } + + public static class Foo<T> { + public static Foo<Boolean> method(boolean arg) { + return null; + } + + public static <T extends Enum<T>> Foo<T> method(T arg) { + return null; + } + } +} |