[java-highlighting] test-data adjusted (mostly anchors) after recent updates

Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: 1e1b77009dc78de49c7cc5c44d4704937397bb23
This commit is contained in:
Tagir Valeev
2025-01-28 16:03:09 +01:00
committed by intellij-monorepo-bot
parent db46304375
commit c449c341b7
103 changed files with 211 additions and 211 deletions

View File

@@ -11,36 +11,36 @@ public class a {
byte b1 = 1;
// marked: OK, as literal value is out of byte-range and does not compile
<error descr="Incompatible types. Found: 'int', required: 'byte'">byte b2 = 1000;</error>
byte b2 = <error descr="Incompatible types. Found: 'int', required: 'byte'">1000;</error>
// marked: OK, as char-value cannot be determined and does not compile
char c = 0;
<error descr="Incompatible types. Found: 'char', required: 'byte'">byte b3 = c;</error>
byte b3 = <error descr="Incompatible types. Found: 'char', required: 'byte'">c</error>;
// marked: OK, as literal char-value is out of byte-range and does not compile
<error descr="Incompatible types. Found: 'char', required: 'byte'">byte b4 = '\u20AC';</error>
byte b4 = <error descr="Incompatible types. Found: 'char', required: 'byte'">'\u20AC';</error>
<error descr="Incompatible types. Found: 'int', required: 'byte'">byte b5 = '\n' - 4 + 1800;</error>
byte b5 = <error descr="Incompatible types. Found: 'int', required: 'byte'">'\n' - 4 + 1800;</error>
// literal char-value is in byte-range and compiles fine
byte b6 = '\u007F';
byte b7=(short) 0;
<error descr="Incompatible types. Found: 'long', required: 'byte'">byte b8 = (long)0;</error>
byte b8 = <error descr="Incompatible types. Found: 'long', required: 'byte'">(long)0;</error>
<error descr="Incompatible types. Found: 'double', required: 'float'">float f1 = 77.3;</error>
float f1 = <error descr="Incompatible types. Found: 'double', required: 'float'">77.3;</error>
float f2 = 77.3F;
short s1 = 1 + FI;
<error descr="Incompatible types. Found: 'int', required: 'short'">short s2 = 1000000;</error>
short s2 = <error descr="Incompatible types. Found: 'int', required: 'short'">1000000;</error>
short s3 = 'F' % FIBIG;
char c1 = 0;
<error descr="Incompatible types. Found: 'int', required: 'char'">char c2 = -1 + FIBIG;</error>
char c2 = <error descr="Incompatible types. Found: 'int', required: 'char'">-1 + FIBIG;</error>
char c3=(byte) 0;
char c4=(short) 0;
<error descr="Incompatible types. Found: 'long', required: 'char'">char c5 = 0L;</error>
char c5 = <error descr="Incompatible types. Found: 'long', required: 'char'">0L;</error>
int i1='d';
<error descr="Incompatible types. Found: 'long', required: 'int'">int i2 = 1L;</error>
int i2 = <error descr="Incompatible types. Found: 'long', required: 'int'">1L;</error>
Integer destination = 25;
<error descr="Incompatible types. Found: 'double', required: 'java.lang.Integer'">destination += 2.0</error>;

View File

@@ -13,6 +13,6 @@ class C {
}
void f() {
<error descr="Incompatible types. Found: 'void', required: 'java.lang.Object'">Object o = f();</error>
Object o = <error descr="Incompatible types. Found: 'void', required: 'java.lang.Object'">f</error>();
}
}

View File

@@ -70,11 +70,11 @@ class c {
byte bbbbbb=ccons;
// too big char to fit in short
final char bigchar='\uffff';
<error descr="Incompatible types. Found: 'char', required: 'short'">short sbig = bigchar;</error>
short sbig = <error descr="Incompatible types. Found: 'char', required: 'short'">bigchar</error>;
}
void g(boolean f, byte b) {
byte c = '\n';
<error descr="Incompatible types. Found: 'int', required: 'byte'">byte next = f ? b : '\n';</error>
byte next = <error descr="Incompatible types. Found: 'int', required: 'byte'">f ? b : '\n';</error>
}
}

View File

@@ -16,8 +16,8 @@ class UnsupportedFeatures {
<error descr="For-each loops are not supported at language level '1.4'">for (Object s : list) {}</error>
Arrays.asList<error descr="'asList(java.lang.String...)' in 'java.util.Arrays' cannot be applied to '(java.lang.String)'">("")</error>;
<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>
Boolean b = <error descr="Incompatible types. Found: 'boolean', required: 'java.lang.Boolean'">true;</error>
boolean b1 = Boolean.<error descr="Incompatible types. Found: 'java.lang.Boolean', required: 'boolean'">TRUE</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>) { }

View File

@@ -2,7 +2,7 @@ import java.lang.reflect.*;
class Example {
private void demo() {
<error descr="Incompatible types. Found: 'java.lang.reflect.TypeVariable<java.lang.Class<capture<? extends Example>>>[]', required: 'java.lang.reflect.TypeVariable<java.lang.Class<? extends Example>>[]'">TypeVariable<Class<? extends Example>>[] typeParameters = getClass().getTypeParameters();</error>
TypeVariable<Class<? extends Example>>[] typeParameters = getClass().<error descr="Incompatible types. Found: 'java.lang.reflect.TypeVariable<java.lang.Class<capture<? extends Example>>>[]', required: 'java.lang.reflect.TypeVariable<java.lang.Class<? extends Example>>[]'">getTypeParameters</error>();
Object typeParameters1 = <error descr="Inconvertible types; cannot cast 'java.lang.reflect.TypeVariable<java.lang.Class<capture<? extends Example>>>[]' to 'java.lang.reflect.TypeVariable<java.lang.Class<? extends Example>>[]'">(TypeVariable<Class<? extends Example>>[]) getClass().getTypeParameters()</error>;
}
@@ -15,13 +15,13 @@ class Example {
class Foo<T> {
public static Class<? extends Foo<?>> fFoo(final Foo<?> foo) {
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends Foo>>', required: 'java.lang.Class<? extends Foo<?>>'">Class<? extends Foo<?>> fooClass = foo.getClass();</error>
Class<? extends Foo<?>> fooClass = foo.<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends Foo>>', required: 'java.lang.Class<? extends Foo<?>>'">getClass</error>();
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends Foo>>', required: 'java.lang.Class<? extends Foo<?>>'">fooClass = foo.getClass()</error>;
return foo.<error descr="Incompatible types. Found: 'java.lang.Class<? extends Foo>', required: 'java.lang.Class<? extends Foo<?>>'">getClass</error>();
}
public static Class<? extends Foo<? extends String>> fFoo1(final Foo<? extends String> foo) {
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends Foo>>', required: 'java.lang.Class<? extends Foo<? extends java.lang.String>>'">Class<? extends Foo<? extends String>> fooClass = foo.getClass();</error>
Class<? extends Foo<? extends String>> fooClass = foo.<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends Foo>>', required: 'java.lang.Class<? extends Foo<? extends java.lang.String>>'">getClass</error>();
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends Foo>>', required: 'java.lang.Class<? extends Foo<? extends java.lang.String>>'">fooClass = foo.getClass()</error>;
return foo.<error descr="Incompatible types. Found: 'java.lang.Class<? extends Foo>', required: 'java.lang.Class<? extends Foo<? extends java.lang.String>>'">getClass</error>();
}

View File

@@ -1,7 +1,7 @@
import java.util.List;
public class Test {
private static final <error descr="Incompatible types. Found: 'java.util.List<java.lang.Class<? extends java.lang.Cloneable & java.io.Serializable>>', required: 'java.util.List<java.lang.Class<?>>'">List<Class<?>> PRIMITIVE_ARRAY_TYPES = asList(byte[].class, int[].class);</error>
private static final List<Class<?>> PRIMITIVE_ARRAY_TYPES = <error descr="Incompatible types. Found: 'java.util.List<java.lang.Class<? extends java.lang.Cloneable & java.io.Serializable>>', required: 'java.util.List<java.lang.Class<?>>'">asList</error>(byte[].class, int[].class);
private static final List<?> PRIMITIVE_ARRAY_TYPES1 = asList(byte[].class, int[].class);
public static <T> List<T> asList(T... a) {

View File

@@ -53,15 +53,15 @@ abstract class C {
try { f(); } catch (E e) { } catch (<error descr="Exception 'C.E1' has already been caught">E1</error> | <error descr="Exception 'C.E3' has already been caught">E3</error> e) { }
try { f(); } catch (E1 | E2 e) { } catch (<error descr="Exception 'C.E2' has already been caught">E2</error> e) { }
try { f(); } catch (E1 | E2 e) { <error descr="Incompatible types. Found: 'C.E1 | C.E2', required: 'C.E2'">E2 ee = e;</error> }
try { f(); } catch (E1 | E2 e) { E2 ee = <error descr="Incompatible types. Found: 'C.E1 | C.E2', required: 'C.E2'">e</error>; }
try { f(); } catch (E1 | E2 e) { <error descr="Cannot assign a value to final variable 'e'">e</error> = new E1(); }
try { f(); } catch (E1 | E2 e) { <error descr="Incompatible types. Found: 'C.E', required: 'C.E1 | C.E2'">e = new E()</error>; }
try { g(); }
catch (IE1 | IE2 e) {
Class<? extends E> clazz1 = e.getClass();
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends C.E>>', required: 'java.lang.Class<? extends C.IE1>'">Class<? extends IE1> clazz2 = e.getClass();</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends C.E>>', required: 'java.lang.Class<? extends C.I>'">Class<? extends I> clazz3 = e.getClass();</error>
Class<? extends IE1> clazz2 = e.<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends C.E>>', required: 'java.lang.Class<? extends C.IE1>'">getClass</error>();
Class<? extends I> clazz3 = e.<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends C.E>>', required: 'java.lang.Class<? extends C.I>'">getClass</error>();
}
try { f(); }

View File

@@ -43,7 +43,7 @@ class C {
void m2() throws Exception {
try (<error descr="Incompatible types. Found: 'java.lang.Object', required: 'java.lang.AutoCloseable'">Object r = new MyResource()</error>) { }
try (<error descr="Incompatible types. Found: 'java.lang.String', required: 'java.lang.AutoCloseable'">AutoCloseable r = "resource"</error>) { }
try (AutoCloseable r = <error descr="Incompatible types. Found: 'java.lang.String', required: 'java.lang.AutoCloseable'">"resource"</error>) { }
}
void m3(int p) throws Exception {

View File

@@ -34,7 +34,7 @@ class Test {
asList((ArrayList<String>[])null);
//overload should be chosen before target type is known -> inference failure
<error descr="Incompatible types. Found: 'java.util.List<java.util.ArrayList<java.lang.String>>', required: 'java.util.List<java.util.ArrayList<java.lang.String>[]>'">List<ArrayList<String>[]> arraysList = asList(arrayOfStrings);</error>
List<ArrayList<String>[]> arraysList = <error descr="Incompatible types. Found: 'java.util.List<java.util.ArrayList<java.lang.String>>', required: 'java.util.List<java.util.ArrayList<java.lang.String>[]>'">asList</error>(arrayOfStrings);
System.out.println(arraysList);
asListSuppressed(new ArrayList<String>());

View File

@@ -19,12 +19,12 @@ class X {
}
void wrongType(String foo) {
<error descr="Incompatible types. Found: 'java.lang.StringTemplate', required: 'java.lang.String'">String s = StringTemplate.RAW."""
String s = <error descr="Incompatible types. Found: 'java.lang.StringTemplate', required: 'java.lang.String'">StringTemplate.RAW."""
this: \{foo}
""";</error>
var x = (java.io.Serializable & StringTemplate.Processor<String, RuntimeException>)null;
<error descr="Incompatible types. Found: 'java.lang.String', required: 'java.util.ArrayList'">java.util.ArrayList v = x."asdf";</error>
java.util.ArrayList v = <error descr="Incompatible types. Found: 'java.lang.String', required: 'java.util.ArrayList'">x."asdf";</error>
String t = x."reticulation";
}
@@ -64,7 +64,7 @@ class X {
public static void testCovariant() {
Covariant proc = new Covariant();
// As of Java 21, covariant processors are not supported
<error descr="Incompatible types. Found: 'java.lang.Object', required: 'java.lang.Integer'">Integer i = proc."hello";</error>
Integer i = <error descr="Incompatible types. Found: 'java.lang.Object', required: 'java.lang.Integer'">proc."hello";</error>
}
static class CovariantException implements StringTemplate.Processor<Integer, Exception> {
@@ -149,7 +149,7 @@ class X {
}
void myTest() {
<error descr="Incompatible types. Found: 'java.lang.Object', required: 'java.lang.Integer'">Integer x = new IntegerProcessor()."hello";</error>
Integer x = <error descr="Incompatible types. Found: 'java.lang.Object', required: 'java.lang.Integer'">new IntegerProcessor()."hello";</error>
System.out.println(x);
}
}

View File

@@ -19,12 +19,12 @@ class X {
}
void wrongType(String foo) {
<error descr="Incompatible types. Found: 'java.lang.StringTemplate', required: 'java.lang.String'">String s = StringTemplate.RAW."""
String s = <error descr="Incompatible types. Found: 'java.lang.StringTemplate', required: 'java.lang.String'">StringTemplate.RAW."""
this: \{foo}
""";</error>
var x = (java.io.Serializable & StringTemplate.Processor<String, RuntimeException>)null;
<error descr="Incompatible types. Found: 'java.lang.String', required: 'java.util.ArrayList'">java.util.ArrayList v = x."asdf";</error>
java.util.ArrayList v = <error descr="Incompatible types. Found: 'java.lang.String', required: 'java.util.ArrayList'">x."asdf";</error>
String t = x."reticulation";
}

View File

@@ -10,7 +10,7 @@ public class UnnamedVariables {
}
int _ = 123;
<error descr="Incompatible types. Found: 'int', required: 'java.lang.String'">String s = _;</error>
String s = <error descr="Incompatible types. Found: 'int', required: 'java.lang.String'">_</error>;
void testLocal() {
int _ = 10;

View File

@@ -6,7 +6,7 @@ public class UnnamedVariables {
}
int _ = 123;
<error descr="Incompatible types. Found: 'int', required: 'java.lang.String'">String s = _;</error>
String s = <error descr="Incompatible types. Found: 'int', required: 'java.lang.String'">_</error>;
void testLambda() {
Consumer<String> consumer = <error descr="Use of '_' as a lambda parameter name is not allowed">_</error> -> System.out.println("Hello");

View File

@@ -13,7 +13,7 @@ class Main {
var x = (<error descr="Cannot infer type for 'x', it is used in its own variable initializer">x</error> = 1) + 1;
var y = new Object[] {<error descr="Cannot infer type for 'y', it is used in its own variable initializer">y</error> = null};
var z = baz(<error descr="Cannot infer type for 'z', it is used in its own variable initializer">z</error> = 1);
var zz = <error descr="Variable 'zz' might not have been initialized">zz</error>;
var zz = <error descr="Cannot infer type for 'zz', it is used in its own variable initializer">zz</error>;
zz.hashCode();
System.out.println(zz.zz);
var v =<error descr="Expression expected"> </error>;

View File

@@ -41,7 +41,7 @@ class Main {
A a = y.get();
B b = y.get();
<error descr="Incompatible types. Found: 'capture<? extends B>', required: 'C'">C c = y.get();</error>
C c = y.<error descr="Incompatible types. Found: 'capture<? extends B>', required: 'C'">get</error>();
}
<M> M[] m(M m) {

View File

@@ -3,10 +3,10 @@ import lombok.val;
import java.util.*;
class Test {
<error descr="Incompatible types. Found: 'int', required: 'lombok.val'">val field = 0;</error>
val field = <error descr="Incompatible types. Found: 'int', required: 'lombok.val'">0;</error>
void method(val param) {
<error descr="Incompatible types. Found: 'lombok.val', required: 'int'">int p = param;</error>
int p = <error descr="Incompatible types. Found: 'lombok.val', required: 'int'">param</error>;
val i = 0;
int j = i + 1;
@@ -15,7 +15,7 @@ class Test {
Object o = a.get(0);
val b = new ArrayList<>();
<error descr="Incompatible types. Found: 'java.lang.Object', required: 'java.lang.String'">String s = b.get(0);</error>
String s = b.<error descr="Incompatible types. Found: 'java.lang.Object', required: 'java.lang.String'">get</error>(0);
o = b.get(0);
for (val v : a) {

View File

@@ -1,6 +1,6 @@
import java.util.*;
class Bug {
void foo(Double d) {
<error descr="Incompatible types. Found: 'java.util.List<java.lang.Class<capture<? extends java.lang.Object>>>', required: 'java.util.List<java.lang.Class<?>>'">List<Class<?>> list = Arrays.asList(d == null ? Object.class : d.getClass());</error>
List<Class<?>> list = Arrays.<error descr="Incompatible types. Found: 'java.util.List<java.lang.Class<capture<? extends java.lang.Object>>>', required: 'java.util.List<java.lang.Class<?>>'">asList</error>(d == null ? Object.class : d.getClass());
}
}

View File

@@ -18,7 +18,7 @@ import java.util.*;
class Test {
public static void bar() {
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.Iterator>>', required: 'java.lang.Class<? extends java.util.Iterator<?>>'">Class<? extends Iterator<?>> c = foo();</error>
Class<? extends Iterator<?>> c = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.Iterator>>', required: 'java.lang.Class<? extends java.util.Iterator<?>>'">foo</error>();
}
public static Class<? extends Iterator> foo() {

View File

@@ -14,7 +14,7 @@ public class CastUnboxingConversionWithWidening {
}
static <T extends Double> int boundDoubleToIntegerPrimitive(T i) {
<error descr="Incompatible types. Found: 'T', required: 'int'">int i1 = i;</error> //report
int i1 = <error descr="Incompatible types. Found: 'T', required: 'int'">i</error>; //report
return i1;
}
}

View File

@@ -8,7 +8,7 @@ class a {
for (double i:db) {}
for (<error descr="Incompatible types. Found: 'int', required: 'double'">int i</error>:db) {
// highlight header event if body has problems
<error descr="Incompatible types. Found: 'java.lang.String', required: 'int'">int di = "";</error>
int di = <error descr="Incompatible types. Found: 'java.lang.String', required: 'int'">"";</error>
}
java.util.List list = null;

View File

@@ -7,6 +7,6 @@ abstract class Test {
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>
String s = <error descr="Incompatible types. Found: 'java.lang.String[]', required: 'java.lang.String'">test</error>(String[].class);
}
}

View File

@@ -4,7 +4,7 @@ import java.util.Map;
class Test {
public static void main(String[] args) {
<error descr="Incompatible types. Found: 'java.util.Map<java.lang.Integer,java.lang.Comparable>', required: 'java.util.Map<java.lang.Integer,java.lang.Object>'">Map<Integer, Object> map = make();</error>
Map<Integer, Object> map = <error descr="Incompatible types. Found: 'java.util.Map<java.lang.Integer,java.lang.Comparable>', required: 'java.util.Map<java.lang.Integer,java.lang.Object>'">make</error>();
}

View File

@@ -1,6 +1,6 @@
class Test {
{
final <error descr="Incompatible types. Found: 'java.lang.Object', required: 'MyResult'">MyResult hello = parseXML(new Parser());</error>
final MyResult hello = <error descr="Incompatible types. Found: 'java.lang.Object', required: 'MyResult'">parseXML</error>(new Parser());
}
public <R, P extends AbstractParser & Result<R>> R parseXML(P parser) {
R result = null;

View File

@@ -6,7 +6,7 @@ class Test {
assertThat(<error descr="'assertThat(Test.Matcher<? super java.util.Set>, java.util.Set)' in 'Test' cannot be applied to '(Test.Matcher<java.lang.Iterable<java.lang.String>>, java.util.Set)'">matcher</error>, foo);
Matcher<Iterable<String>> b = null;
<error descr="Incompatible types. Found: 'Test.Matcher<java.lang.Iterable<java.lang.String>>', required: 'Test.Matcher<? super java.util.Set>'">Matcher<? super Set> a = b;</error>
Matcher<? super Set> a = <error descr="Incompatible types. Found: 'Test.Matcher<java.lang.Iterable<java.lang.String>>', required: 'Test.Matcher<? super java.util.Set>'">b</error>;
}
public static <T> void assertThat(Matcher<? super T> matcher, T actual) {}

View File

@@ -6,6 +6,6 @@ class MyClass<T>
public static void main(String[] args)
{
<error descr="Incompatible types. Found: 'MyClass<java.util.List>', required: 'MyClass<java.util.List<java.lang.String>>'">MyClass<List<String>> myClass = new MyClass<>(List.class);</error>
MyClass<List<String>> myClass = new <error descr="Incompatible types. Found: 'MyClass<java.util.List>', required: 'MyClass<java.util.List<java.lang.String>>'">MyClass<></error>(List.class);
}
}

View File

@@ -11,7 +11,7 @@ class GenericsError {
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>
List<List<?>> result = <error descr="Incompatible types. Found: 'java.util.List<java.util.List<capture<?>>>', required: 'java.util.List<java.util.List<?>>'">method</error>(list);
return result;
}
}

View File

@@ -2,7 +2,7 @@ class A1<T> {}
class B1<T extends A1<? super A1<? super T>>>{
{
T a = null;
<error descr="Incompatible types. Found: 'T', required: 'A1<? super T>'">A1<? super T> b = a;</error>
A1<? super T> b = <error descr="Incompatible types. Found: 'T', required: 'A1<? super T>'">a</error>;
}
}

View File

@@ -8,6 +8,6 @@ interface IB{
}
class C {
<T extends IA & IB> void bar(T x, A<String[]> y){
<error descr="Incompatible types. Found: 'void', required: 'int'">int z = x.foo(y);</error>
int z = x.<error descr="Incompatible types. Found: 'void', required: 'int'">foo</error>(y);
}
}

View File

@@ -3,6 +3,6 @@ import java.util.*;
class Test {
{
Object obj = new Object();
<error descr="Incompatible types. Found: 'java.util.Set<java.lang.Class<capture<? extends java.lang.Object>>>', required: 'java.util.Set<java.lang.Class<?>>'">Set<Class<?>> types = Collections.singleton(obj.getClass());</error>
Set<Class<?>> types = Collections.<error descr="Incompatible types. Found: 'java.util.Set<java.lang.Class<capture<? extends java.lang.Object>>>', required: 'java.util.Set<java.lang.Class<?>>'">singleton</error>(obj.getClass());
}
}

View File

@@ -2,7 +2,7 @@ abstract class A<T, S extends T>
{
abstract S bar();
void foo(A<Runnable[], ? extends Cloneable[]> a){
<error descr="Incompatible types. Found: 'capture<? extends java.lang.Cloneable[]>', required: 'java.lang.Runnable[]'">Runnable[] x = a.bar();</error>
Runnable[] x = a.<error descr="Incompatible types. Found: 'capture<? extends java.lang.Cloneable[]>', required: 'java.lang.Runnable[]'">bar</error>();
}
}
@@ -18,7 +18,7 @@ abstract class AC<T, S>
{
abstract S bar();
void foo(AC<Runnable[], ? extends Cloneable[]> a){
<error descr="Incompatible types. Found: 'capture<? extends java.lang.Cloneable[]>', required: 'java.lang.Runnable[]'">Runnable[] x = a.bar();</error>
Runnable[] x = a.<error descr="Incompatible types. Found: 'capture<? extends java.lang.Cloneable[]>', required: 'java.lang.Runnable[]'">bar</error>();
}
}

View File

@@ -23,27 +23,27 @@ class Bug1<T extends Number> {
}
void bug4(Set<Parametrized<<error descr="Type parameter '? extends String' is not within its bound; should extend 'java.lang.Number'">? extends String</error>>> parametrizeds) {
<error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? extends java.lang.String>>', required: 'java.util.Set<Parametrized<?>>'">Set<Parametrized<?>> items = parametrizeds;</error>
Set<Parametrized<?>> items = <error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? extends java.lang.String>>', required: 'java.util.Set<Parametrized<?>>'">parametrizeds</error>;
}
void bug5(Set<Parametrized<? extends Integer>> parametrizeds) {
<error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? extends java.lang.Integer>>', required: 'java.util.Set<Parametrized<?>>'">Set<Parametrized<?>> items = parametrizeds;</error>
Set<Parametrized<?>> items = <error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? extends java.lang.Integer>>', required: 'java.util.Set<Parametrized<?>>'">parametrizeds</error>;
}
void bug6(Set<Parametrized<? super Number>> parametrizeds) {
<error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.Number>>', required: 'java.util.Set<Parametrized<?>>'">Set<Parametrized<?>> items = parametrizeds;</error>
Set<Parametrized<?>> items = <error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.Number>>', required: 'java.util.Set<Parametrized<?>>'">parametrizeds</error>;
}
void bug7(Set<Parametrized<? super Integer>> parametrizeds) {
<error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.Integer>>', required: 'java.util.Set<Parametrized<?>>'">Set<Parametrized<?>> items = parametrizeds;</error>
Set<Parametrized<?>> items = <error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.Integer>>', required: 'java.util.Set<Parametrized<?>>'">parametrizeds</error>;
}
void bug8(Set<Parametrized<<error descr="Type parameter '? super String' is not within its bound; should extend 'java.lang.Number'">? super String</error>>> parametrizeds) {
<error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.String>>', required: 'java.util.Set<Parametrized<?>>'">Set<Parametrized<?>> items = parametrizeds;</error>
Set<Parametrized<?>> items = <error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.String>>', required: 'java.util.Set<Parametrized<?>>'">parametrizeds</error>;
}
void bug9(Set<Parametrized<<error descr="Type parameter '? super Object' is not within its bound; should extend 'java.lang.Number'">? super Object</error>>> parametrizeds) {
<error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.Object>>', required: 'java.util.Set<Parametrized<?>>'">Set<Parametrized<?>> items = parametrizeds;</error>
Set<Parametrized<?>> items = <error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.Object>>', required: 'java.util.Set<Parametrized<?>>'">parametrizeds</error>;
}
}

View File

@@ -2,32 +2,32 @@ import java.util.List;
class IDEA80386 {
void foo(Class<List> listClass) {
<error descr="Incompatible types. Found: 'java.lang.Class<java.util.List>', required: 'java.lang.Class<? extends java.util.List<?>>'">Class<? extends List<?>> cls = listClass;</error>
Class<? extends List<?>> cls = <error descr="Incompatible types. Found: 'java.lang.Class<java.util.List>', required: 'java.lang.Class<? extends java.util.List<?>>'">listClass</error>;
Class < ?extends List > cls1 = listClass;
<error descr="Incompatible types. Found: 'java.lang.Class<java.util.List>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">Class<? extends List<? extends List<?>>> cls2 = listClass;</error>
Class<? extends List<? extends List<?>>> cls2 = <error descr="Incompatible types. Found: 'java.lang.Class<java.util.List>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">listClass</error>;
Class<? super List<?>> clsS = listClass;
Class<? super List> clsS1 = listClass;
}
void fooE(Class<? extends List> listClass) {
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? extends java.util.List<?>>'">Class<? extends List<?>> cls = listClass;</error>
Class<? extends List<?>> cls = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? extends java.util.List<?>>'">listClass</error>;
Class<? extends List> cls1 = listClass;
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">Class<? extends List<? extends List<?>>> cls2 = listClass;</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? super java.util.List<?>>'">Class<? super List<?>> clsS = listClass;</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? super java.util.List>'">Class<? super List> clsS1 = listClass;</error>
Class<? extends List<? extends List<?>>> cls2 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">listClass</error>;
Class<? super List<?>> clsS = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? super java.util.List<?>>'">listClass</error>;
Class<? super List> clsS1 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? super java.util.List>'">listClass</error>;
}
void fooS(Class<? super List> listClass) {
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? super java.util.List>>', required: 'java.lang.Class<? extends java.util.List<?>>'">Class<? extends List<?>> cls1 = listClass;</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? super java.util.List>>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">Class<? extends List<? extends List<?>>> cls2 = listClass;</error>
Class<? extends List<?>> cls1 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? super java.util.List>>', required: 'java.lang.Class<? extends java.util.List<?>>'">listClass</error>;
Class<? extends List<? extends List<?>>> cls2 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? super java.util.List>>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">listClass</error>;
Class<? super List<?>> clsS = listClass;
Class<? super List> clsS1 = listClass;
}
void fooU(Class<?> listClass) {
<error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? extends java.util.List<?>>'">Class<? extends List<?>> cls1 = listClass;</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">Class<? extends List<? extends List<?>>> cls2 = listClass;</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? super java.util.List<?>>'">Class<? super List<?>> clsS = listClass;</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? super java.util.List>'">Class<? super List> clsS1 = listClass;</error>
Class<? extends List<?>> cls1 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? extends java.util.List<?>>'">listClass</error>;
Class<? extends List<? extends List<?>>> cls2 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">listClass</error>;
Class<? super List<?>> clsS = <error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? super java.util.List<?>>'">listClass</error>;
Class<? super List> clsS1 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? super java.util.List>'">listClass</error>;
}
}

View File

@@ -29,6 +29,6 @@ class Main2 {
List r1 = foo("", obj);
List<T> r2 = foo("", obj);
List<?> r3 = foo("", obj);
<error descr="Incompatible types. Found: 'java.util.List<java.io.Serializable>', required: 'java.util.List<java.lang.Object>'">List<Object> r4 = foo("", obj);</error>
List<Object> r4 = <error descr="Incompatible types. Found: 'java.util.List<java.io.Serializable>', required: 'java.util.List<java.lang.Object>'">foo</error>("", obj);
}
}

View File

@@ -8,7 +8,7 @@ class Test {
}
void foo() {
<error descr="Incompatible types. Found: 'java.util.List<java.lang.Class<? extends java.io.Serializable & java.lang.Comparable<? extends java.io.Serializable & java.lang.Comparable<?>>>>', required: 'java.util.List<java.lang.Class<? extends java.io.Serializable>>'">List<Class<? extends Serializable>> l = <warning descr="Unchecked generics array creation for varargs parameter">this.asList</warning>(String.class, Integer.class);</error>
List<Class<? extends Serializable>> l = <warning descr="Unchecked generics array creation for varargs parameter">this.<error descr="Incompatible types. Found: 'java.util.List<java.lang.Class<? extends java.io.Serializable & java.lang.Comparable<? extends java.io.Serializable & java.lang.Comparable<?>>>>', required: 'java.util.List<java.lang.Class<? extends java.io.Serializable>>'">asList</error></warning>(String.class, Integer.class);
l.size();
List<? extends Object> objects = this.asList(new String(), new Integer(0));
objects.size();
@@ -146,9 +146,9 @@ class IDEADEV25515 {
}
public static final
<error descr="Incompatible types. Found: 'java.util.List<java.lang.Class<? extends java.io.Serializable & java.lang.Comparable<? extends java.io.Serializable & java.lang.Comparable<?>>>>', required: 'java.util.List<java.lang.Class<? extends java.io.Serializable>>'">List<Class<? extends Serializable>> SIMPLE_TYPES =
<warning descr="Unchecked generics array creation for varargs parameter">asList</warning>(String.class, Integer.class ,Long.class, Double.class, /*Date.class,*/
Boolean.class, Boolean.TYPE /*,String[].class */ /*,BigDecimal.class*/);</error>
List<Class<? extends Serializable>> SIMPLE_TYPES =
<error descr="Incompatible types. Found: 'java.util.List<java.lang.Class<? extends java.io.Serializable & java.lang.Comparable<? extends java.io.Serializable & java.lang.Comparable<?>>>>', required: 'java.util.List<java.lang.Class<? extends java.io.Serializable>>'"><warning descr="Unchecked generics array creation for varargs parameter">asList</warning></error>(String.class, Integer.class ,Long.class, Double.class, /*Date.class,*/
Boolean.class, Boolean.TYPE /*,String[].class */ /*,BigDecimal.class*/);
public static final List<Class<? extends Serializable>> SIMPLE_TYPES_INFERRED =
@@ -160,7 +160,7 @@ Boolean.class, Boolean.TYPE /*,String[].class */ /*,BigDecimal.class*/);</error>
///////////////////////
class Axx {
<T extends Runnable> T a() {
<error descr="Incompatible types. Found: 'java.lang.Runnable', required: 'java.lang.String'">String s = a();</error>
String s = <error descr="Incompatible types. Found: 'java.lang.Runnable', required: 'java.lang.String'">a</error>();
s.hashCode();
return null;
}

View File

@@ -15,7 +15,7 @@ class Main {
public static void main(String[] args) {
List x = null;
<error descr="Incompatible types. Found: 'java.lang.Object', required: 'java.lang.String'">String s = foo(x).get(0);</error>
String s = foo(x).<error descr="Incompatible types. Found: 'java.lang.Object', required: 'java.lang.String'">get</error>(0);
foo(x).iterator().next().<error descr="Cannot resolve method 'toLowerCase' in 'Object'">toLowerCase</error>();
}
}

View File

@@ -51,7 +51,7 @@ class Bound extends Generic<String>{
class Generic2<T1,T2> {
class A {}
class B {}
private <error descr="Incompatible types. Found: 'Generic2<java.lang.String,Generic2.B>', required: 'Generic2<java.lang.String,Generic2.A>'">Generic2<String, A> map = new Generic2<String,B>();</error>
private Generic2<String, A> map = new <error descr="Incompatible types. Found: 'Generic2<java.lang.String,Generic2.B>', required: 'Generic2<java.lang.String,Generic2.A>'">Generic2<String,B></error>();
{
<error descr="Incompatible types. Found: 'Generic2<java.lang.String,java.lang.String>', required: 'Generic2<java.lang.String,Generic2.A>'">map = new Generic2<String,String>()</error>;
map = new Generic2<String,A>();
@@ -99,7 +99,7 @@ class testDup<T, <error descr="Duplicate type parameter: 'T'">T</error>> { // CA
class aaaa {
{
<error descr="Incompatible types. Found: 'java.lang.Class<java.lang.String>', required: 'java.lang.Class<? super java.lang.Object>'">Class<? super Object> c = String.class;</error>
Class<? super Object> c = <error descr="Incompatible types. Found: 'java.lang.Class<java.lang.String>', required: 'java.lang.Class<? super java.lang.Object>'">String.class;</error>
}
}

View File

@@ -7,6 +7,6 @@ interface B {}
}
void bar (boolean a, A a1, B b1){
<error descr="Incompatible types. Found: 'java.lang.Object', required: 'T'">T t = a ? a1 : b1;</error>
T t = <error descr="Incompatible types. Found: 'java.lang.Object', required: 'T'">a ? a1 : b1;</error>
}
}

View File

@@ -3,7 +3,7 @@ interface B<T extends A<?>> { }
class C {
void foo(A<?> x){
<error descr="Incompatible types. Found: 'A<capture<?>>', required: 'A<? extends B<? extends A<?>>>'">A<? extends B<? extends A<?>>> y = x;</error>
A<? extends B<? extends A<?>>> y = <error descr="Incompatible types. Found: 'A<capture<?>>', required: 'A<? extends B<? extends A<?>>>'">x</error>;
Object y1 = (A<? extends B<? extends A<?>>>) x;
}
}

View File

@@ -7,7 +7,7 @@ class Test<T > {
public void addListener(EventListener<? super T> listener) {
EventListener<? extends Event> localListener = listener;
<error descr="Incompatible types. Found: 'Test.EventListener<capture<? super T>>', required: 'Test.EventListener<? super Test.Event>'">EventListener<? super Event> localListener1 = listener;</error>
EventListener<? super Event> localListener1 = <error descr="Incompatible types. Found: 'Test.EventListener<capture<? super T>>', required: 'Test.EventListener<? super Test.Event>'">listener</error>;
}
}

View File

@@ -33,12 +33,12 @@ class VarianceTesting {
<error descr="Incompatible types. Found: 'VarianceTesting', required: 'capture<? extends VarianceTesting>'">x.method()[0] = new VarianceTesting()</error>;
<error descr="Incompatible types. Found: 'VarianceTesting[]', required: 'capture<? extends VarianceTesting>[]'">x.arrayField = new VarianceTesting[10]</error>;
l1.addAll<error descr="'addAll(java.util.Collection<? extends capture<? extends VarianceTesting>>)' in 'java.util.List' cannot be applied to '(java.util.ArrayList<VarianceTesting>)'">(new ArrayList<VarianceTesting>())</error>;
<error descr="Incompatible types. Found: 'java.util.ArrayList<java.lang.String>', required: 'java.util.List<? extends VarianceTesting>'">List<? extends VarianceTesting> l2 = new ArrayList<String>();</error>
List<? extends VarianceTesting> l2 = new <error descr="Incompatible types. Found: 'java.util.ArrayList<java.lang.String>', required: 'java.util.List<? extends VarianceTesting>'">ArrayList<String></error>();
List<? extends VarianceTesting> l3 = l2;
VarianceTesting t = l1.get(0);
l.add(new VarianceTesting());
l.add(null);
<error descr="Incompatible types. Found: 'capture<? super VarianceTesting>', required: 'VarianceTesting'">VarianceTesting t1 = l.get(0);</error>
VarianceTesting t1 = l.<error descr="Incompatible types. Found: 'capture<? super VarianceTesting>', required: 'VarianceTesting'">get</error>(0);
X<? extends VarianceTesting> x1 = null;
x1.putAll(new ArrayList<VarianceTesting>());
List<?> unknownlist = l;
@@ -64,7 +64,7 @@ class SuperTester <U> {
class SCR40202 {
void foo(Map<?, String> map) {
for (<error descr="Incompatible types. Found: 'java.util.Iterator<java.util.Map.Entry<capture<?>,java.lang.String>>', required: 'java.util.Iterator<java.util.Map.Entry<?,java.lang.String>>'">Iterator<Map.Entry<?, String>> it = map.entrySet().iterator();</error> it.hasNext();) {
for (Iterator<Map.Entry<?, String>> it = map.entrySet().<error descr="Incompatible types. Found: 'java.util.Iterator<java.util.Map.Entry<capture<?>,java.lang.String>>', required: 'java.util.Iterator<java.util.Map.Entry<?,java.lang.String>>'">iterator</error>(); it.hasNext();) {
}
}

View File

@@ -45,20 +45,20 @@ class TestNonNarrowingConversion<T extends Z> {
public T z = null;
public int a() {
<error descr="Incompatible types. Found: 'TestNonNarrowingConversion<Z>', required: 'TestNonNarrowingConversion<T>'">TestNonNarrowingConversion<T> x = new TestNonNarrowingConversion<Z>(new Z());</error>
TestNonNarrowingConversion<T> x = new <error descr="Incompatible types. Found: 'TestNonNarrowingConversion<Z>', required: 'TestNonNarrowingConversion<T>'">TestNonNarrowingConversion<Z></error>(new Z());
return 1;
}
}
class TestRecursiveTypeParameter {
static <<error descr="Cyclic inheritance involving 'T'"></error>T extends T> void test(T t) {
<error descr="Incompatible types. Found: 'T', required: 'java.lang.String'">String x = t;</error>
String x = <error descr="Incompatible types. Found: 'T', required: 'java.lang.String'">t</error>;
<error descr="Incompatible types. Found: 'java.lang.String', required: 'T'">t = x</error>;
}
static <<error descr="Cyclic inheritance involving 'A'"></error>A extends B, B extends A> void test(A a, B b) {
a = b;
b = a;
<error descr="Incompatible types. Found: 'A', required: 'java.lang.String'">String x = a;</error>
String x = <error descr="Incompatible types. Found: 'A', required: 'java.lang.String'">a</error>;
<error descr="Incompatible types. Found: 'java.lang.String', required: 'A'">a = x</error>;
}
}

View File

@@ -29,7 +29,7 @@ class ThingUser <V> {
class SuperWildcardTest {
static void method(List<?> list) {
<error descr="Incompatible types. Found: 'java.util.List<capture<?>>', required: 'java.util.List<? super java.lang.String>'">List<? super String> l = list;</error>
List<? super String> l = <error descr="Incompatible types. Found: 'java.util.List<capture<?>>', required: 'java.util.List<? super java.lang.String>'">list</error>;
l.size();
}
}

View File

@@ -10,6 +10,6 @@ class DiagramNode<T> {}
class A {
static void f(Main m, List<DiagramNode<?>> nodes){
final Object data = m.get(nodes, new A());
final <error descr="Incompatible types. Found: 'java.util.List<DiagramNode<?>>', required: 'java.util.List<DiagramNode>'">List<DiagramNode> n = nodes;</error>
final List<DiagramNode> n = <error descr="Incompatible types. Found: 'java.util.List<DiagramNode<?>>', required: 'java.util.List<DiagramNode>'">nodes</error>;
}
}

View File

@@ -4,6 +4,6 @@ class RawTest<A> {
}
void bar(RawTest x){
<error descr="Incompatible types. Found: 'java.lang.Object', required: 'java.lang.String'">String a = x.<String>foo();</error>
String a = x.<String><error descr="Incompatible types. Found: 'java.lang.Object', required: 'java.lang.String'">foo</error>();
}
}

View File

@@ -18,7 +18,7 @@ import java.util.*;
class Test {
public static void bar() {
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.Iterator>>', required: 'java.lang.Class<? extends java.util.Iterator<?>>'">Class<? extends Iterator<?>> c = foo();</error>
Class<? extends Iterator<?>> c = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.Iterator>>', required: 'java.lang.Class<? extends java.util.Iterator<?>>'">foo</error>();
}
public static Class<? extends Iterator> foo() {

View File

@@ -7,7 +7,7 @@ class FooBar1 {
Object y = (CharSequence & Serializable) x;
Object y2 = (CharSequence & <error descr="Interface expected here">Integer</error>) x;
Object y3 = (Integer & CharSequence) x;
<error descr="Incompatible types. Found: 'java.lang.CharSequence & java.io.Serializable', required: 'int'">int y1 = (CharSequence & Serializable) x;</error>
int y1 = <error descr="Incompatible types. Found: 'java.lang.CharSequence & java.io.Serializable', required: 'int'">(CharSequence & Serializable) x;</error>
Object z0 = (Cloneable & <error descr="Unexpected type: class is expected">Runnable[]</error>) x;
Object z1 = (Cloneable & <error descr="Repeated interface">Cloneable</error>) x;
Object z2 = <error descr="java.util.Collection cannot be inherited with different arguments: String and Integer">(List<String> & Set<Integer>) x</error>;

View File

@@ -9,9 +9,9 @@ abstract class ProcedureService {
abstract <C extends Command<Result>> Class<? extends Procedure<Command<Result>>> getProcedure(Class<C> cmd);
public <C extends Command<Result>> void execute(Class<? extends Command> aClass) {
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends Procedure<Command<Result>>>>', required: 'java.lang.Class<Procedure<Command<Result>>>'">Class<Procedure<Command<Result>>> procedureClass = getProcedure(aClass);</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends Command>>', required: 'java.lang.Class<Command>'">Class<Command> c = aClass;</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends Command>>', required: 'java.lang.Class<C>'">Class<C> c1 = aClass;</error>
Class<Procedure<Command<Result>>> procedureClass = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends Procedure<Command<Result>>>>', required: 'java.lang.Class<Procedure<Command<Result>>>'">getProcedure</error>(aClass);
Class<Command> c = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends Command>>', required: 'java.lang.Class<Command>'">aClass</error>;
Class<C> c1 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends Command>>', required: 'java.lang.Class<C>'">aClass</error>;
}
}

View File

@@ -2,7 +2,7 @@ class A1<T> {}
class B1<T extends A1<? super A1<? super T>>>{
{
T a = null;
<error descr="Incompatible types. Found: 'T', required: 'A1<? super T>'">A1<? super T> b = a;</error>
A1<? super T> b = <error descr="Incompatible types. Found: 'T', required: 'A1<? super T>'">a</error>;
}
}

View File

@@ -7,7 +7,7 @@ interface IB{
<T> int foo(A<? extends T> x);
}
class C {
<<error descr="'foo(A<? extends T>)' in 'IB' clashes with 'foo(A<? extends T[]>)' in 'IA'; both methods have same erasure, yet neither overrides the other"></error><error descr="'foo(A<? extends T>)' in 'IB' clashes with 'foo(A<? extends T[]>)' in 'IA'; both methods have same erasure, yet neither overrides the other"></error>T extends IA & IB> void bar(T x, A<String[]> y){
<error descr="Incompatible types. Found: 'void', required: 'int'">int z = x.foo(y);</error>
<<error descr="'foo(A<? extends T>)' in 'IB' clashes with 'foo(A<? extends T[]>)' in 'IA'; both methods have same erasure, yet neither overrides the other"></error>T extends IA & IB> void bar(T x, A<String[]> y){
int z = x.<error descr="Incompatible types. Found: 'void', required: 'int'">foo</error>(y);
}
}

View File

@@ -1,7 +1,7 @@
class C<T,S> {
class D extends C<D,D> {}
<T> T foo(){
<error descr="Incompatible types. Found: 'C.D.D.D', required: 'C.D'">D x = this.<D.D.D>foo();</error>
D x = this.<D.D.D><error descr="Incompatible types. Found: 'C.D.D.D', required: 'C.D'">foo</error>();
return null;
}
}

View File

@@ -23,27 +23,27 @@ class Bug1<T extends Number> {
}
void bug4(Set<Parametrized<<error descr="Type parameter '? extends String' is not within its bound; should extend 'java.lang.Number'">? extends String</error>>> parametrizeds) {
<error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? extends java.lang.String>>', required: 'java.util.Set<Parametrized<?>>'">Set<Parametrized<?>> items = parametrizeds;</error>
Set<Parametrized<?>> items = <error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? extends java.lang.String>>', required: 'java.util.Set<Parametrized<?>>'">parametrizeds</error>;
}
void bug5(Set<Parametrized<? extends Integer>> parametrizeds) {
<error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? extends java.lang.Integer>>', required: 'java.util.Set<Parametrized<?>>'">Set<Parametrized<?>> items = parametrizeds;</error>
Set<Parametrized<?>> items = <error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? extends java.lang.Integer>>', required: 'java.util.Set<Parametrized<?>>'">parametrizeds</error>;
}
void bug6(Set<Parametrized<? super Number>> parametrizeds) {
<error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.Number>>', required: 'java.util.Set<Parametrized<?>>'">Set<Parametrized<?>> items = parametrizeds;</error>
Set<Parametrized<?>> items = <error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.Number>>', required: 'java.util.Set<Parametrized<?>>'">parametrizeds</error>;
}
void bug7(Set<Parametrized<? super Integer>> parametrizeds) {
<error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.Integer>>', required: 'java.util.Set<Parametrized<?>>'">Set<Parametrized<?>> items = parametrizeds;</error>
Set<Parametrized<?>> items = <error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.Integer>>', required: 'java.util.Set<Parametrized<?>>'">parametrizeds</error>;
}
void bug8(Set<Parametrized<<error descr="Type parameter '? super String' is not within its bound; should extend 'java.lang.Number'">? super String</error>>> parametrizeds) {
<error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.String>>', required: 'java.util.Set<Parametrized<?>>'">Set<Parametrized<?>> items = parametrizeds;</error>
Set<Parametrized<?>> items = <error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.String>>', required: 'java.util.Set<Parametrized<?>>'">parametrizeds</error>;
}
void bug9(Set<Parametrized<<error descr="Type parameter '? super Object' is not within its bound; should extend 'java.lang.Number'">? super Object</error>>> parametrizeds) {
<error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.Object>>', required: 'java.util.Set<Parametrized<?>>'">Set<Parametrized<?>> items = parametrizeds;</error>
Set<Parametrized<?>> items = <error descr="Incompatible types. Found: 'java.util.Set<Parametrized<? super java.lang.Object>>', required: 'java.util.Set<Parametrized<?>>'">parametrizeds</error>;
}
}

View File

@@ -2,32 +2,32 @@ import java.util.List;
class IDEA80386 {
void foo(Class<List> listClass) {
<error descr="Incompatible types. Found: 'java.lang.Class<java.util.List>', required: 'java.lang.Class<? extends java.util.List<?>>'">Class<? extends List<?>> cls = listClass;</error>
Class<? extends List<?>> cls = <error descr="Incompatible types. Found: 'java.lang.Class<java.util.List>', required: 'java.lang.Class<? extends java.util.List<?>>'">listClass</error>;
Class < ?extends List > cls1 = listClass;
<error descr="Incompatible types. Found: 'java.lang.Class<java.util.List>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">Class<? extends List<? extends List<?>>> cls2 = listClass;</error>
Class<? extends List<? extends List<?>>> cls2 = <error descr="Incompatible types. Found: 'java.lang.Class<java.util.List>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">listClass</error>;
Class<? super List<?>> clsS = listClass;
Class<? super List> clsS1 = listClass;
}
void fooE(Class<? extends List> listClass) {
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? extends java.util.List<?>>'">Class<? extends List<?>> cls = listClass;</error>
Class<? extends List<?>> cls = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? extends java.util.List<?>>'">listClass</error>;
Class<? extends List> cls1 = listClass;
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">Class<? extends List<? extends List<?>>> cls2 = listClass;</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? super java.util.List<?>>'">Class<? super List<?>> clsS = listClass;</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? super java.util.List>'">Class<? super List> clsS1 = listClass;</error>
Class<? extends List<? extends List<?>>> cls2 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">listClass</error>;
Class<? super List<?>> clsS = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? super java.util.List<?>>'">listClass</error>;
Class<? super List> clsS1 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? extends java.util.List>>', required: 'java.lang.Class<? super java.util.List>'">listClass</error>;
}
void fooS(Class<? super List> listClass) {
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? super java.util.List>>', required: 'java.lang.Class<? extends java.util.List<?>>'">Class<? extends List<?>> cls1 = listClass;</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<? super java.util.List>>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">Class<? extends List<? extends List<?>>> cls2 = listClass;</error>
Class<? extends List<?>> cls1 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? super java.util.List>>', required: 'java.lang.Class<? extends java.util.List<?>>'">listClass</error>;
Class<? extends List<? extends List<?>>> cls2 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<? super java.util.List>>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">listClass</error>;
Class<? super List<?>> clsS = listClass;
Class<? super List> clsS1 = listClass;
}
void fooU(Class<?> listClass) {
<error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? extends java.util.List<?>>'">Class<? extends List<?>> cls1 = listClass;</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">Class<? extends List<? extends List<?>>> cls2 = listClass;</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? super java.util.List<?>>'">Class<? super List<?>> clsS = listClass;</error>
<error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? super java.util.List>'">Class<? super List> clsS1 = listClass;</error>
Class<? extends List<?>> cls1 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? extends java.util.List<?>>'">listClass</error>;
Class<? extends List<? extends List<?>>> cls2 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? extends java.util.List<? extends java.util.List<?>>>'">listClass</error>;
Class<? super List<?>> clsS = <error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? super java.util.List<?>>'">listClass</error>;
Class<? super List> clsS1 = <error descr="Incompatible types. Found: 'java.lang.Class<capture<?>>', required: 'java.lang.Class<? super java.util.List>'">listClass</error>;
}
}

View File

@@ -51,7 +51,7 @@ class Bound extends Generic<String>{
class Generic2<T1,T2> {
class A {}
class B {}
private <error descr="Incompatible types. Found: 'Generic2<java.lang.String,Generic2.B>', required: 'Generic2<java.lang.String,Generic2.A>'">Generic2<String, A> map = new Generic2<String,B>();</error>
private Generic2<String, A> map = new <error descr="Incompatible types. Found: 'Generic2<java.lang.String,Generic2.B>', required: 'Generic2<java.lang.String,Generic2.A>'">Generic2<String,B></error>();
{
<error descr="Incompatible types. Found: 'Generic2<java.lang.String,java.lang.String>', required: 'Generic2<java.lang.String,Generic2.A>'">map = new Generic2<String,String>()</error>;
map = new Generic2<String,A>();
@@ -99,7 +99,7 @@ class testDup<T, <error descr="Duplicate type parameter: 'T'">T</error>> { // CA
class aaaa {
{
<error descr="Incompatible types. Found: 'java.lang.Class<java.lang.String>', required: 'java.lang.Class<? super java.lang.Object>'">Class<? super Object> c = String.class;</error>
Class<? super Object> c = <error descr="Incompatible types. Found: 'java.lang.Class<java.lang.String>', required: 'java.lang.Class<? super java.lang.Object>'">String.class;</error>
}
}

View File

@@ -13,7 +13,7 @@ class GenericsTest {
public static void main(String[] args) {
<error descr="Incompatible types. Found: 'java.lang.Object', required: 'java.lang.String'">String v1 = new SomeClass().<String>getX();</error>
String v1 = new SomeClass().<String><error descr="Incompatible types. Found: 'java.lang.Object', required: 'java.lang.String'">getX</error>();
String v2 = new SomeClass().f(); //
}

View File

@@ -33,12 +33,12 @@ class VarianceTesting {
<error descr="Incompatible types. Found: 'VarianceTesting', required: 'capture<? extends VarianceTesting>'">x.method()[0] = new VarianceTesting()</error>;
<error descr="Incompatible types. Found: 'VarianceTesting[]', required: 'capture<? extends VarianceTesting>[]'">x.arrayField = new VarianceTesting[10]</error>;
l1.addAll<error descr="'addAll(java.util.Collection<? extends capture<? extends VarianceTesting>>)' in 'java.util.List' cannot be applied to '(java.util.ArrayList<VarianceTesting>)'">(new ArrayList<VarianceTesting>())</error>;
<error descr="Incompatible types. Found: 'java.util.ArrayList<java.lang.String>', required: 'java.util.List<? extends VarianceTesting>'">List<? extends VarianceTesting> l2 = new ArrayList<String>();</error>
List<? extends VarianceTesting> l2 = new <error descr="Incompatible types. Found: 'java.util.ArrayList<java.lang.String>', required: 'java.util.List<? extends VarianceTesting>'">ArrayList<String></error>();
List<? extends VarianceTesting> l3 = l2;
VarianceTesting t = l1.get(0);
l.add(new VarianceTesting());
l.add(null);
<error descr="Incompatible types. Found: 'capture<? super VarianceTesting>', required: 'VarianceTesting'">VarianceTesting t1 = l.get(0);</error>
VarianceTesting t1 = l.<error descr="Incompatible types. Found: 'capture<? super VarianceTesting>', required: 'VarianceTesting'">get</error>(0);
X<? extends VarianceTesting> x1 = null;
x1.putAll(new ArrayList<VarianceTesting>());
List<?> unknownlist = l;
@@ -64,7 +64,7 @@ class SuperTester <U> {
class SCR40202 {
void foo(Map<?, String> map) {
for (<error descr="Incompatible types. Found: 'java.util.Iterator<java.util.Map.Entry<capture<?>,java.lang.String>>', required: 'java.util.Iterator<java.util.Map.Entry<?,java.lang.String>>'">Iterator<Map.Entry<?, String>> it = map.entrySet().iterator();</error> it.hasNext();) {
for (Iterator<Map.Entry<?, String>> it = map.entrySet().<error descr="Incompatible types. Found: 'java.util.Iterator<java.util.Map.Entry<capture<?>,java.lang.String>>', required: 'java.util.Iterator<java.util.Map.Entry<?,java.lang.String>>'">iterator</error>(); it.hasNext();) {
}
}

View File

@@ -45,7 +45,7 @@ class TestNonNarrowingConversion<T extends Z> {
public T z = null;
public int a() {
<error descr="Incompatible types. Found: 'TestNonNarrowingConversion<Z>', required: 'TestNonNarrowingConversion<T>'">TestNonNarrowingConversion<T> x = new TestNonNarrowingConversion<Z>(new Z());</error>
TestNonNarrowingConversion<T> x = new <error descr="Incompatible types. Found: 'TestNonNarrowingConversion<Z>', required: 'TestNonNarrowingConversion<T>'">TestNonNarrowingConversion<Z></error>(new Z());
return 1;
}
}

View File

@@ -29,7 +29,7 @@ class ThingUser <V> {
class SuperWildcardTest {
static void method(List<?> list) {
<error descr="Incompatible types. Found: 'java.util.List<capture<?>>', required: 'java.util.List<? super java.lang.String>'">List<? super String> l = list;</error>
List<? super String> l = <error descr="Incompatible types. Found: 'java.util.List<capture<?>>', required: 'java.util.List<? super java.lang.String>'">list</error>;
l.size();
}
}

View File

@@ -10,6 +10,6 @@ class DiagramNode<T> {}
class A {
static void f(Main m, List<DiagramNode<?>> nodes){
final Object data = m.get(nodes, new A());
final <error descr="Incompatible types. Found: 'java.util.List<DiagramNode<?>>', required: 'java.util.List<DiagramNode>'">List<DiagramNode> n = nodes;</error>
final List<DiagramNode> n = <error descr="Incompatible types. Found: 'java.util.List<DiagramNode<?>>', required: 'java.util.List<DiagramNode>'">nodes</error>;
}
}

View File

@@ -8,12 +8,12 @@ public class LombokDumbModeApplication {
public static void main(String[] args) {
<info descr="Not resolved until the project is fully loaded">Request</info> a = new <info descr="Not resolved until the project is fully loaded">Request</info>();
<error descr="Incompatible types. Found: 'capture<?>', required: 'UserDao'">UserDao userDao = UserDao.builder()
UserDao userDao = UserDao.builder()
.id(1)
.name("2")
.surname("3")
.email("4")
.name("1")</error><error descr="';' expected">a</error>
.<error descr="Incompatible types. Found: 'capture<?>', required: 'UserDao'">name</error>("1")<error descr="';' expected">a</error>
.id(1)
.<info descr="Not resolved until the project is fully loaded">build</info>();

View File

@@ -37,7 +37,7 @@ public class Simple {
void testMethodRef() {
Runnable r1 = <info descr="Not resolved until the project is fully loaded">UsedInMethodRef</info>::new;
<error descr="Incompatible types. Found: '<method reference>', required: 'java.lang.Runnable'">Runnable r2 = <info descr="Not resolved until the project is fully loaded">UsedInMethodRef</info>[]::new;</error>
Runnable r2 = <info descr="Not resolved until the project is fully loaded">UsedInMethodRef</info>[]::<error descr="Incompatible types. Found: '<method reference>', required: 'java.lang.Runnable'">new</error>;
IntFunction<<info descr="Not resolved until the project is fully loaded">UsedInMethodRef</info>[]> r3 = <info descr="Not resolved until the project is fully loaded">UsedInMethodRef</info>[]::new;
Runnable r4 = String::<error descr="Cannot resolve method 'blahblah'">blahblah</error>;
Runnable r5 = <error descr="Non-static method cannot be referenced from a static context">String::getBytes</error>;
@@ -52,14 +52,14 @@ public class Simple {
}
void assign(<info descr="Not resolved until the project is fully loaded">Unknown</info> u) {
<error descr="Incompatible types. Found: 'Unknown', required: 'java.lang.String'">String s = u;</error>
String s = <error descr="Incompatible types. Found: 'Unknown', required: 'java.lang.String'">u</error>;
Number n = u;
<info descr="Not resolved until the project is fully loaded">Unknown2</info> u2 = u;
<error descr="Incompatible types. Found: 'java.lang.String', required: 'Unknown2'"><info descr="Not resolved until the project is fully loaded">Unknown2</info> u3 = s;</error>
<info descr="Not resolved until the project is fully loaded">Unknown2</info> u3 = <error descr="Incompatible types. Found: 'java.lang.String', required: 'Unknown2'">s</error>;
}
void knownTypes(String s) {
<error descr="Incompatible types. Found: 'java.lang.String', required: 'java.lang.Boolean'">Boolean b = s;</error>
Boolean b = <error descr="Incompatible types. Found: 'java.lang.String', required: 'java.lang.Boolean'">s</error>;
}
@@ -121,7 +121,7 @@ public class Simple {
<info descr="null">var</info> z = y.getSomethingCompletelyDifferent();
z.getFromZ();
<info descr="null">var</info> t = <error descr="Variable 't' might not have been initialized">t</error>;
<info descr="null">var</info> t = <error descr="Cannot infer type for 't', it is used in its own variable initializer">t</error>;
}
void overloaded(int x) {}

View File

@@ -1,9 +1,9 @@
class Foo<Z> {
void foo(final Bar baz) {
Z z = z(new Bar<String>(baz));
<error descr="Incompatible types. Found: 'java.lang.Object', required: 'Z'">Z z1 = z(new Bar<>(baz));</error>
<error descr="Incompatible types. Found: 'java.lang.Object', required: 'Z'">Z z2 = z(c(baz));</error>
<error descr="Incompatible types. Found: 'java.lang.Object', required: 'Z'">Z z3 = z(this.<String>c(baz));</error>
Z z1 = <error descr="Incompatible types. Found: 'java.lang.Object', required: 'Z'">z</error>(new Bar<>(baz));
Z z2 = <error descr="Incompatible types. Found: 'java.lang.Object', required: 'Z'">z</error>(c(baz));
Z z3 = <error descr="Incompatible types. Found: 'java.lang.Object', required: 'Z'">z</error>(this.<String>c(baz));
}
<P> Bar<P> c(Bar<P> b) {

View File

@@ -2,13 +2,13 @@ import java.util.List;
class Sample {
<T extends List<K>, K extends List<T>> T foo(){
<error descr="Incompatible types. Found: 'K', required: 'T'">T t = foo().get(0);</error>
<error descr="Incompatible types. Found: 'K', required: 'K'">K k = foo().get(0);</error>
T t = foo().<error descr="Incompatible types. Found: 'K', required: 'T'">get</error>(0);
K k = foo().<error descr="Incompatible types. Found: 'K', required: 'K'">get</error>(0);
<error descr="Incompatible types. Found: 'T', required: 'T'">T t1 = foo().get(0).get(0);</error>
T t1 = foo().get(0).<error descr="Incompatible types. Found: 'T', required: 'T'">get</error>(0);
String s = foo();
<error descr="Incompatible types. Found: 'K', required: 'java.lang.String'">String s1 = foo().get(0);</error>
String s1 = foo().<error descr="Incompatible types. Found: 'K', required: 'java.lang.String'">get</error>(0);
return null;
}

View File

@@ -6,7 +6,7 @@ class B<T> {
}
void m(Iterable<? extends T> it, Predicate<? super T> p) {
<error descr="Incompatible types. Found: 'B<capture<? extends T>>', required: 'B<T>'">B<T> B = from(it).bar(not(p));</error>
B<T> B = from(it).<error descr="Incompatible types. Found: 'B<capture<? extends T>>', required: 'B<T>'">bar</error>(not(p));
}
B<T> bar(Predicate<? super T> p) {

View File

@@ -4,7 +4,7 @@ import java.util.List;
class Foo<Bazz> {
public void test(Foo parent) {
<error descr="Incompatible types. Found: 'java.lang.Object', required: 'Foo'">Foo foo = getElements(parent).get(0);</error>
Foo foo = getElements(parent).<error descr="Incompatible types. Found: 'java.lang.Object', required: 'Foo'">get</error>(0);
}
public static <E extends Foo<E>> List<E> getElements(E parent) {

View File

@@ -22,6 +22,6 @@ class AmbiguityRawGenerics {
<Z> void foo(I3<Z> s) { }
void bar() {
<error descr="Ambiguous method call: both 'AmbiguityRawGenerics.foo(I1)' and 'AmbiguityRawGenerics.foo(I2)' match">foo</error>(()-> { throw new RuntimeException(); });
foo<error descr="Ambiguous method call: both 'AmbiguityRawGenerics.foo(I1)' and 'AmbiguityRawGenerics.foo(I2)' match">(()-> { throw new RuntimeException(); })</error>;
}
}

View File

@@ -1,6 +1,6 @@
public interface IDEA99969 {
default IntStream distinct(Stream s) {
return s.<error descr="Ambiguous method call: both 'Stream.map(Function)' and 'Stream.map(IntFunction)' match">map</error>(i -> <error descr="Inconvertible types; cannot cast '<lambda parameter>' to 'int'">(int) i</error>);
return s.map<error descr="Ambiguous method call: both 'Stream.map(Function)' and 'Stream.map(IntFunction)' match">(i -> <error descr="Inconvertible types; cannot cast '<lambda parameter>' to 'int'">(int) i</error>)</error>;
}
}
interface Stream<T> {

View File

@@ -20,7 +20,7 @@ class Test {
void m(IL lm, II s) { }
{
<error descr="Ambiguous method call: both 'Test.m(II, IL)' and 'Test.m(IL, II)' match">m</error>(() -> 1, () ->1);
m<error descr="Ambiguous method call: both 'Test.m(II, IL)' and 'Test.m(IL, II)' match">(() -> 1, () ->1)</error>;
}
@@ -42,17 +42,17 @@ class Test {
{
mi (1);
m2();
<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">m2</error>(()->1);
m2<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">(()->1)</error>;
m2(()->1, ()->1);
m2(()->1, ()->1, ()->1);
m2<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">(null, null, null)</error>;
<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">m2</error>(()->1, null, null);
<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">m2</error>(null, ()->1, null);
<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">m2</error>(null, null, ()->1);
<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">m2</error>(()->1, ()->1, null);
<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">m2</error>(null, ()->1, ()->1);
<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">m2</error>(()->1, null, ()->1);
m2<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">(()->1, null, null)</error>;
m2<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">(null, ()->1, null)</error>;
m2<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">(null, null, ()->1)</error>;
m2<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">(()->1, ()->1, null)</error>;
m2<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">(null, ()->1, ()->1)</error>;
m2<error descr="Ambiguous method call: both 'Test.m2(II, II...)' and 'Test.m2(IL...)' match">(()->1, null, ()->1)</error>;
m2(()->1L, null, null);
m2(null, ()->1L, null);
@@ -73,8 +73,8 @@ class Test {
m3(() -> 1, () -> 1, () -> 1);
m3<error descr="Ambiguous method call: both 'Test.m3(II...)' and 'Test.m3(IL...)' match">(null, null)</error>;
<error descr="Ambiguous method call: both 'Test.m3(II...)' and 'Test.m3(IL...)' match">m3</error>(() -> 1, null);
<error descr="Ambiguous method call: both 'Test.m3(II...)' and 'Test.m3(IL...)' match">m3</error>(null, () -> 1);
m3<error descr="Ambiguous method call: both 'Test.m3(II...)' and 'Test.m3(IL...)' match">(() -> 1, null)</error>;
m3<error descr="Ambiguous method call: both 'Test.m3(II...)' and 'Test.m3(IL...)' match">(null, () -> 1)</error>;
m3(() -> 1L, null);
m3(null, () -> 1L);
}

View File

@@ -19,8 +19,8 @@ public class Test<A, B extends Number> {
public static void main(String[] args) {
Inner<Number, Double> inn = new Inner<>();
inn.<error descr="Ambiguous method call: both 'Inner.m8(IO<? extends Number>)' and 'Inner.m8(IN<? extends Double>)' match">m8</error>(<warning descr="Parameter 'p' is never used">p</warning> -> 1.0);
new Test<Number, Integer>().<error descr="Ambiguous method call: both 'Test.foo(IO<? extends Number>)' and 'Test.foo(IN<? extends Integer>)' match">foo</error>(<warning descr="Parameter 'p' is never used">p</warning> -> 1.0);
inn.m8<error descr="Ambiguous method call: both 'Inner.m8(IO<? extends Number>)' and 'Inner.m8(IN<? extends Double>)' match">(<warning descr="Parameter 'p' is never used">p</warning> -> 1.0)</error>;
new Test<Number, Integer>().foo<error descr="Ambiguous method call: both 'Test.foo(IO<? extends Number>)' and 'Test.foo(IN<? extends Integer>)' match">(<warning descr="Parameter 'p' is never used">p</warning> -> 1.0)</error>;
}
}

View File

@@ -8,8 +8,8 @@ class Test {
IntStream mi = sp.map(Inner::foo);
Stream<Integer> mI = sp.map(Inner::fooBoxed);
IntStream li = sp.<error descr="Ambiguous method call: both 'Stream.map(Function<? super Inner, ?>)' and 'Stream.map(IntFunction<? super Inner>)' match">map</error>(inner->inner.<error descr="Cannot resolve method 'foo()'">foo</error>());
Stream<Integer> lI = sp.<error descr="Ambiguous method call: both 'Stream.map(Function<? super Inner, ?>)' and 'Stream.map(IntFunction<? super Inner>)' match">map</error>(inner -> inner.<error descr="Cannot resolve method 'fooBoxed()'">fooBoxed</error>());
IntStream li = sp.map<error descr="Ambiguous method call: both 'Stream.map(Function<? super Inner, ?>)' and 'Stream.map(IntFunction<? super Inner>)' match">(inner->inner.<error descr="Cannot resolve method 'foo()'">foo</error>())</error>;
Stream<Integer> lI = sp.map<error descr="Ambiguous method call: both 'Stream.map(Function<? super Inner, ?>)' and 'Stream.map(IntFunction<? super Inner>)' match">(inner -> inner.<error descr="Cannot resolve method 'fooBoxed()'">fooBoxed</error>())</error>;
}
interface Stream<T> {

View File

@@ -1,8 +1,8 @@
class IntStream {
private void foo(IntStream s) {
s.<error descr="Ambiguous method call: both 'IntStream.map(IntUnaryOperator)' and 'IntStream.map(ObjIntFunction<Object>)' match">map</error>(i -> 1 << i);
s.<error descr="Ambiguous method call: both 'IntStream.map(IntUnaryOperator)' and 'IntStream.map(ObjIntFunction<Object>)' match">map</error>(<warning descr="Parameter 'i' is never used">i</warning> -> 1);
s.<error descr="Ambiguous method call: both 'IntStream.map(IntUnaryOperator)' and 'IntStream.map(ObjIntFunction<Object>)' match">map</error>(i -> i);
s.map<error descr="Ambiguous method call: both 'IntStream.map(IntUnaryOperator)' and 'IntStream.map(ObjIntFunction<Object>)' match">(i -> 1 << i)</error>;
s.map<error descr="Ambiguous method call: both 'IntStream.map(IntUnaryOperator)' and 'IntStream.map(ObjIntFunction<Object>)' match">(<warning descr="Parameter 'i' is never used">i</warning> -> 1)</error>;
s.map<error descr="Ambiguous method call: both 'IntStream.map(IntUnaryOperator)' and 'IntStream.map(ObjIntFunction<Object>)' match">(i -> i)</error>;
}
public static void main(String[] args) {

View File

@@ -22,7 +22,7 @@ class AmbiguityVarargs {
void test() {
foo(()->{});
<error descr="Ambiguous method call: both 'AmbiguityVarargs.foo(I1<String>)' and 'AmbiguityVarargs.foo(IV<String>)' match">foo</error>((a1) -> {});
foo<error descr="Ambiguous method call: both 'AmbiguityVarargs.foo(I1<String>)' and 'AmbiguityVarargs.foo(IV<String>)' match">((a1) -> {})</error>;
foo((a1, a2)->{});
}
}

View File

@@ -18,11 +18,11 @@ class InferenceFromArgs {
bar(null, (k, v) -> v);
bar(null, null);
bar(b, (k, v) -> {return v;});
bar(b, (k, v) -> {<error descr="Incompatible types. Found: 'java.lang.Integer', required: 'java.lang.String'">String i = k;</error> return v;});
bar(b, (k, v) -> {String i = <error descr="Incompatible types. Found: 'java.lang.Integer', required: 'java.lang.String'">k</error>; return v;});
bar(b, (k, v) -> {Integer i = k; return v;});
bazz((k, v) -> v);
bazz((k, v) -> {<error descr="Incompatible types. Found: 'java.lang.Object', required: 'int'">int i = k;</error> return v;});
bazz((k, v) -> {int i = <error descr="Incompatible types. Found: 'java.lang.Object', required: 'int'">k</error>; return v;});
}
public static <T> SameArgsI<T> max() {

View File

@@ -25,7 +25,7 @@ class ReturnTypeIncompatibility {
}
public static void main(String[] args) {
<error descr="Ambiguous method call: both 'ReturnTypeIncompatibility.call(I1<Number>)' and 'ReturnTypeIncompatibility.call(I2<String>)' match">call</error>(i-> {return i;});
call<error descr="Ambiguous method call: both 'ReturnTypeIncompatibility.call(I1<Number>)' and 'ReturnTypeIncompatibility.call(I2<String>)' match">(i-> {return i;})</error>;
}
}
@@ -57,7 +57,7 @@ class ReturnTypeCompatibility {
}
public static void main(String[] args) {
<error descr="Ambiguous method call: both 'ReturnTypeCompatibility.call(I1<Number>)' and 'ReturnTypeCompatibility.call(I2<String>)' match">call</error>(i-> {return i;});
call<error descr="Ambiguous method call: both 'ReturnTypeCompatibility.call(I1<Number>)' and 'ReturnTypeCompatibility.call(I2<String>)' match">(i-> {return i;})</error>;
}
}

View File

@@ -21,9 +21,9 @@ class Test {
}
void foo(Foo<String> as, final Foo<Character> ac) {
boolean b1 = as.<error descr="Ambiguous method call: both 'Foo.forAll(I<String, Boolean>)' and 'Foo.forAll(II<String, String>)' match">forAll</error>(s -> ac.<error descr="Ambiguous method call: both 'Foo.forAll(I<Character, Boolean>)' and 'Foo.forAll(II<Character, String>)' match">forAll</error>(c -> false));
String s1 = as.<error descr="Ambiguous method call: both 'Foo.forAll(I<String, Boolean>)' and 'Foo.forAll(II<String, String>)' match">forAll</error>(s -> ac.<error descr="Ambiguous method call: both 'Foo.forAll(I<Character, Boolean>)' and 'Foo.forAll(II<Character, String>)' match">forAll</error>(c -> ""));
boolean b2 = as.<error descr="Ambiguous method call: both 'Foo.forAll(I<String, Boolean>)' and 'Foo.forAll(II<String, String>)' match">forAll</error>(s -> ac.<error descr="Ambiguous method call: both 'Foo.forAll(I<Character, Boolean>)' and 'Foo.forAll(II<Character, String>)' match">forAll</error>(c -> ""));
boolean b1 = as.forAll<error descr="Ambiguous method call: both 'Foo.forAll(I<String, Boolean>)' and 'Foo.forAll(II<String, String>)' match">(s -> ac.forAll<error descr="Ambiguous method call: both 'Foo.forAll(I<Character, Boolean>)' and 'Foo.forAll(II<Character, String>)' match">(c -> false)</error>)</error>;
String s1 = as.forAll<error descr="Ambiguous method call: both 'Foo.forAll(I<String, Boolean>)' and 'Foo.forAll(II<String, String>)' match">(s -> ac.forAll<error descr="Ambiguous method call: both 'Foo.forAll(I<Character, Boolean>)' and 'Foo.forAll(II<Character, String>)' match">(c -> "")</error>)</error>;
boolean b2 = as.forAll<error descr="Ambiguous method call: both 'Foo.forAll(I<String, Boolean>)' and 'Foo.forAll(II<String, String>)' match">(s -> ac.forAll<error descr="Ambiguous method call: both 'Foo.forAll(I<Character, Boolean>)' and 'Foo.forAll(II<Character, String>)' match">(c -> "")</error>)</error>;
String s2 = as.forAll2(s -> ac.forAll2(c -> <error descr="Bad return type in lambda expression: boolean cannot be converted to String">false</error>));
boolean b3 = as.forAll((I<String, Boolean>)s -> ac.forAll((I<Character, Boolean>)c -> <error descr="Bad return type in lambda expression: String cannot be converted to Boolean">""</error>));
String s3 = as.forAll((II<String, String>)s -> ac.forAll((II<Character, String>)c -> <error descr="Bad return type in lambda expression: boolean cannot be converted to String">false</error>));

View File

@@ -31,7 +31,7 @@ class OnArrayTest {
public static void main(String[] args) {
Cln s = int[]::clone;
IA a = int[]::new;
<error descr="Incompatible types. Found: '<method reference>', required: 'OnArrayTest.I'">I i = int[]::new;</error>
I i = int[]::<error descr="Incompatible types. Found: '<method reference>', required: 'OnArrayTest.I'">new</error>;
Len<String> strLen = String[]::<error descr="Cannot resolve method 'length'">length</error>;
ToStr<Integer> toStr = Integer[]::toString;
@@ -51,7 +51,7 @@ class IDEA106973 {
{
Function<Integer, String[]> a = String[] :: new;
<error descr="Incompatible types. Found: '<method reference>', required: 'IDEA106973.Function<java.lang.String,java.lang.String[]>'">Function<String, String[]> a1 = String[] :: new;</error>
Function<String, String[]> a1 = String[] :: <error descr="Incompatible types. Found: '<method reference>', required: 'IDEA106973.Function<java.lang.String,java.lang.String[]>'">new</error>;
Function<Short, String[]> a2 = String[] :: new;
}
}

View File

@@ -23,7 +23,7 @@ class Test {
void test() {
call(() -> { });
<error descr="Ambiguous method call: both 'Test.call(I1)' and 'Test.call(IVarargs)' match">call</error>(p1 -> { });
call<error descr="Ambiguous method call: both 'Test.call(I1)' and 'Test.call(IVarargs)' match">(p1 -> { })</error>;
call((p1, p2) -> {});
}
}

View File

@@ -7,6 +7,6 @@ class Test {
public static void call(I i) { }
public static void main(String[] args) {
<error descr="Ambiguous method call: both 'Test.call(IStr)' and 'Test.call(I)' match">call</error>(()-> null);
call<error descr="Ambiguous method call: both 'Test.call(IStr)' and 'Test.call(I)' match">(()-> null)</error>;
}
}

View File

@@ -12,7 +12,7 @@ class MS {
void test(boolean cond) {
m(cond ? () -> 26 : () -> 24);
<error descr="Ambiguous method call: both 'MS.m(GetInt)' and 'MS.m(GetInteger)' match">m</error>(cond ? () -> 26 : () -> new Integer(42));
m<error descr="Ambiguous method call: both 'MS.m(GetInt)' and 'MS.m(GetInteger)' match">(cond ? () -> 26 : () -> new Integer(42))</error>;
m(cond ? () -> new Integer(26) : () -> new Integer(42));
}
}

View File

@@ -22,7 +22,7 @@ class Test {
}
public void test() {
<error descr="Ambiguous method call: both 'Test.foo(RunnableX)' and 'Test.foo(Callable<List<?>>)' match">foo</error>(()-> new ArrayList<Void>() );
foo<error descr="Ambiguous method call: both 'Test.foo(RunnableX)' and 'Test.foo(Callable<List<?>>)' match">(()-> new ArrayList<Void>() )</error>;
}
}

View File

@@ -3,7 +3,7 @@ import java.util.function.Supplier;
class Test {
public static void main(String... args) {
<error descr="Ambiguous method call: both 'Test.c(Supplier<Integer>, Supplier<Integer>)' and 'Test.c(Supplier<Integer>, Integer)' match">c</error>(() -> 3, () -> 10);
c<error descr="Ambiguous method call: both 'Test.c(Supplier<Integer>, Supplier<Integer>)' and 'Test.c(Supplier<Integer>, Integer)' match">(() -> 3, () -> 10)</error>;
}
public static <T> void c(Supplier<T> s1, Supplier<T> s2) {}

View File

@@ -5,7 +5,7 @@ class OverloadCast {
public void runMe() {
new OverloadCast<error descr="Cannot resolve constructor 'OverloadCast(<method reference>, <lambda expression>)'">(WhitespaceTokenizer::<error descr="Cannot resolve constructor 'WhitespaceTokenizer'">new</error>, src -> new LowerCaseFilter<error descr="'LowerCaseFilter(OverloadCast.TokenStream)' in 'OverloadCast.LowerCaseFilter' cannot be applied to '(<lambda parameter>)'">(src)</error>)</error>;
<error descr="Ambiguous method call: both 'OverloadCast.overloadCast(Supplier<Tokenizer>, Function<TokenStream, TokenFilter>)' and 'OverloadCast.overloadCast(Function<TokenStream, TokenFilter>, Function<String, String>)' match">overloadCast</error>(WhitespaceTokenizer::<error descr="Cannot resolve constructor 'WhitespaceTokenizer'">new</error>, src -> new LowerCaseFilter<error descr="'LowerCaseFilter(OverloadCast.TokenStream)' in 'OverloadCast.LowerCaseFilter' cannot be applied to '(<lambda parameter>)'">(src)</error>);
overloadCast<error descr="Ambiguous method call: both 'OverloadCast.overloadCast(Supplier<Tokenizer>, Function<TokenStream, TokenFilter>)' and 'OverloadCast.overloadCast(Function<TokenStream, TokenFilter>, Function<String, String>)' match">(WhitespaceTokenizer::<error descr="Cannot resolve constructor 'WhitespaceTokenizer'">new</error>, src -> new LowerCaseFilter<error descr="'LowerCaseFilter(OverloadCast.TokenStream)' in 'OverloadCast.LowerCaseFilter' cannot be applied to '(<lambda parameter>)'">(src)</error>)</error>;
}
private OverloadCast(Supplier<Tokenizer> tokenizerFactory, Function<TokenStream, TokenFilter> filterCreator) {

View File

@@ -14,7 +14,7 @@ class Test {
void m1(ILong l, Object i) {}
void test() {
<error descr="Ambiguous method call: both 'Test.m(IInt, Long)' and 'Test.m(ILong, Integer)' match">m</error>(() -> 1, null);
m<error descr="Ambiguous method call: both 'Test.m(IInt, Long)' and 'Test.m(ILong, Integer)' match">(() -> 1, null)</error>;
m1(() -> 1, null);
}
}

View File

@@ -16,7 +16,7 @@ class Boo {
public static void main(String[] args) {
Optional<String> value = Optional.of("value");
<error descr="Incompatible types. Found: 'foo.Boo.MyGenericClass<capture<?>>', required: 'foo.Boo.MyGenericClass<java.lang.Integer>'">MyGenericClass<Integer> myClassValue = value.map(MyGenericClass::<Integer>create).orElse(null);</error>
MyGenericClass<Integer> myClassValue = value.map(MyGenericClass::<Integer>create).<error descr="Incompatible types. Found: 'foo.Boo.MyGenericClass<capture<?>>', required: 'foo.Boo.MyGenericClass<java.lang.Integer>'">orElse</error>(null);
}
}

View File

@@ -11,12 +11,12 @@ class Test {
}
void test(boolean cond) {
<error descr="Ambiguous method call: both 'Test.m(GetInt)' and 'Test.m(GetInteger)' match">m</error>(() -> {
m<error descr="Ambiguous method call: both 'Test.m(GetInt)' and 'Test.m(GetInteger)' match">(() -> {
if (cond)
return 42;
else
return foo();
});
})</error>;
m(() -> {
return foo();

View File

@@ -14,7 +14,7 @@ class Test {
}
void fooBar(IntStream1 instr){
Supplier<Stream<Integer>> si = () -> instr.<error descr="Ambiguous method call: both 'IntStream1.map(IntFunction<Integer>)' and 'IntStream1.map(IntUnaryOperator)' match">map</error> ((i) -> (( i % 2) == 0) ? i : -i).boxed();
Supplier<Stream<Integer>> si = () -> instr.map <error descr="Ambiguous method call: both 'IntStream1.map(IntFunction<Integer>)' and 'IntStream1.map(IntUnaryOperator)' match">((i) -> (( i % 2) == 0) ? i : -i)</error>.boxed();
System.out.println(si);
Supplier<Stream<Integer>> si1 = () -> instr.map <error descr="Ambiguous method call: both 'IntStream1.map(IntFunction<Integer>)' and 'IntStream1.map(IntUnaryOperator)' match">(null)</error>.boxed();
System.out.println(si1);

View File

@@ -12,6 +12,6 @@ abstract class PertinentToApplicabilityOfExplicitlyTypedLambdaTest {
abstract void foo(B b);
{
<error descr="Ambiguous method call: both 'PertinentToApplicabilityOfExplicitlyTypedLambdaTest.foo(A)' and 'PertinentToApplicabilityOfExplicitlyTypedLambdaTest.foo(B)' match">foo</error>(<warning descr="Parameter 'x' is never used">x</warning> -> <warning descr="Parameter 'y' is never used">y</warning> -> 42);
foo<error descr="Ambiguous method call: both 'PertinentToApplicabilityOfExplicitlyTypedLambdaTest.foo(A)' and 'PertinentToApplicabilityOfExplicitlyTypedLambdaTest.foo(B)' match">(<warning descr="Parameter 'x' is never used">x</warning> -> <warning descr="Parameter 'y' is never used">y</warning> -> 42)</error>;
}
}

View File

@@ -9,6 +9,6 @@ class B extends A {
static void foo(IntFunction<String> f) {}
public static void main(String[] args) {
<error descr="Ambiguous method call: both 'B.foo(IntFunction<String>)' and 'A.foo(Function<String, String>)' match">foo</error>(a -> "1");
foo<error descr="Ambiguous method call: both 'B.foo(IntFunction<String>)' and 'A.foo(Function<String, String>)' match">(a -> "1")</error>;
}
}

View File

@@ -14,6 +14,6 @@ class Main {
}
{
<error descr="Ambiguous method call: both 'Main.perform(Runnable)' and 'Main.perform(TRunnable<Throwable>)' match">perform</error>(() -> {});
perform<error descr="Ambiguous method call: both 'Main.perform(Runnable)' and 'Main.perform(TRunnable<Throwable>)' match">(() -> {})</error>;
}
}

View File

@@ -14,10 +14,10 @@ abstract class Test {
foo(x -> {
return x += 1;
});
<error descr="Ambiguous method call: both 'Test.foo(A)' and 'Test.foo(B)' match">foo</error>(x -> x += 1);
foo<error descr="Ambiguous method call: both 'Test.foo(A)' and 'Test.foo(B)' match">(x -> x += 1)</error>;
foo(<warning descr="Parameter 'x' is never used">x</warning> -> 1);
foo(x -> <error descr="Operator '!' cannot be applied to 'int'">!x</error>);
<error descr="Ambiguous method call: both 'Test.foo(A)' and 'Test.foo(B)' match">foo</error>(x -> ++x);
foo<error descr="Ambiguous method call: both 'Test.foo(A)' and 'Test.foo(B)' match">(x -> ++x)</error>;
foo(<warning descr="Parameter 'x' is never used">x</warning> -> o instanceof String ? 1 : 0);
}
}

View File

@@ -7,7 +7,7 @@ class Foo {
int j = k;
};
I ii1 = (final int k) -> {
<error descr="Incompatible types. Found: 'int', required: 'java.lang.String'">String s = k;</error>
String s = <error descr="Incompatible types. Found: 'int', required: 'java.lang.String'">k</error>;
};
void bazz() {

View File

@@ -12,31 +12,31 @@ class Foo {
I ii = (final <error descr="Cannot resolve symbol 'k'">k</error><error descr="Identifier expected">)</error>->{};
I ii1 = (k)->{
int i = k;
<error descr="Incompatible types. Found: 'int', required: 'java.lang.String'">String s = k;</error>
String s = <error descr="Incompatible types. Found: 'int', required: 'java.lang.String'">k</error>;
};
A<String> a = (ab) -> {
String s = ab;
<error descr="Incompatible types. Found: 'java.lang.String', required: 'int'">int i = ab;</error>
int i = <error descr="Incompatible types. Found: 'java.lang.String', required: 'int'">ab</error>;
};
{
A<String> a1;
a1 = (ab)->{
String s = ab;
<error descr="Incompatible types. Found: 'java.lang.String', required: 'int'">int i = ab;</error>
int i = <error descr="Incompatible types. Found: 'java.lang.String', required: 'int'">ab</error>;
};
}
A<Integer> bazz() {
bar((o) -> {
String s = o;
<error descr="Incompatible types. Found: 'java.lang.String', required: 'int'">int i = o;</error>
int i = <error descr="Incompatible types. Found: 'java.lang.String', required: 'int'">o</error>;
});
return (i) -> {
Integer k = i;
int n = i;
<error descr="Incompatible types. Found: 'java.lang.Integer', required: 'java.lang.String'">String s = i;</error>
String s = <error descr="Incompatible types. Found: 'java.lang.Integer', required: 'java.lang.String'">i</error>;
};
}

View File

@@ -14,9 +14,9 @@ class Foo {
void foo(K k){}
void bar() {
<error descr="Ambiguous method call: both 'Foo.foo(I)' and 'Foo.foo(K)' match">foo</error>((p) -> {
foo<error descr="Ambiguous method call: both 'Foo.foo(I)' and 'Foo.foo(K)' match">((p) -> {
System.out.println<error descr="Cannot resolve method 'println(<lambda parameter>)'">(p)</error>;
});
})</error>;
foo((p, k) -> {
System.out.println(p);

View File

@@ -1,8 +1,8 @@
// "Make 'C' extend 'java.lang.Throwable'" "true-preview"
class C extends Throwable {}
class C extends Throwable <caret>{}
class Main {
public static void main(String[] args) {
throw new <caret>C();
throw new C();
}
}

View File

@@ -13,8 +13,8 @@ class SwitchExpressions {
};
double d = v1;
<error descr="Incompatible types. Found: 'double', required: 'float'">float f = v1;</error>
<error descr="Incompatible types. Found: 'double', required: 'int'">int in = v1;</error>
float f = <error descr="Incompatible types. Found: 'double', required: 'float'">v1</error>;
int in = <error descr="Incompatible types. Found: 'double', required: 'int'">v1</error>;
var v2 = switch (i) {
case 1 -> C;
@@ -22,8 +22,8 @@ class SwitchExpressions {
};
in = v2;
<error descr="Incompatible types. Found: 'char', required: 'byte'">byte b = v2;</error>
<error descr="Incompatible types. Found: 'char', required: 'short'">short s = v2;</error>
byte b = <error descr="Incompatible types. Found: 'char', required: 'byte'">v2</error>;
short s = <error descr="Incompatible types. Found: 'char', required: 'short'">v2</error>;
char c = v2;
var v3 = switch (i) {

View File

@@ -77,7 +77,7 @@ public class DeclareCollectionAsInterface
void m() {
stringToProperties("");
<error descr="Incompatible types. Found: 'java.util.Properties', required: 'java.lang.String'">String s = stringToProperties2("");</error>
String s = <error descr="Incompatible types. Found: 'java.util.Properties', required: 'java.lang.String'">stringToProperties2</error>("");
<error descr="Incompatible types. Found: 'java.util.Properties', required: 'java.lang.String'">s = stringToProperties3("")</error>;
}

View File

@@ -33,7 +33,7 @@ class X {
void <warning descr="Lambda-unfriendly overload of method 'a()'">a</warning> (Function<String, String> f) {}
void b() {
<error descr="Ambiguous method call: both 'X.a(IntPredicate)' and 'X.a(Function<String, String>)' match">a</error>(z -> true);
a<error descr="Ambiguous method call: both 'X.a(IntPredicate)' and 'X.a(Function<String, String>)' match">(z -> true)</error>;
}
void assertEquals(double expected, Runnable messageSupplier) {}

View File

@@ -7,7 +7,7 @@ class DoubleLiteralMayBeFloatLiteral {
}
void error() {
<error descr="Incompatible types. Found: 'float', required: 'int'">int i = (float)6.66;</error>
int i = <error descr="Incompatible types. Found: 'float', required: 'int'">(float)6.66;</error>
}
Float boxed() {

View File

@@ -9,7 +9,7 @@ public class IntLiteralMayBeLongLiteral {
}
void error() {
<error descr="Incompatible types. Found: 'long', required: 'int'">int answer = (long)42;</error>
int answer = <error descr="Incompatible types. Found: 'long', required: 'int'">(long)42;</error>
}
Long boxed() {

View File

@@ -132,6 +132,6 @@ class S {
void noWarnOnRedCode() {
foo<error descr="'foo(int)' in 'com.siyeh.igtest.numeric.unnecessary_explicit_numeric_cast.S' cannot be applied to '(long)'">((long)0)</error>;
<error descr="Incompatible types. Found: 'long', required: 'int'">int x = (long)0;</error>
int x = <error descr="Incompatible types. Found: 'long', required: 'int'">(long)0;</error>
}
}

View File

@@ -1,5 +1,5 @@
class Testcase {
void test() {
<error descr="Incompatible types. Found: 'java.lang.String', required: 'java.lang.Character'">Character x = "foo";</error>
Character x = <error descr="Incompatible types. Found: 'java.lang.String', required: 'java.lang.Character'">"foo";</error>
}
}

Some files were not shown because too many files have changed in this diff Show More