mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-05-01 02:38:59 +07:00
inference errors: make applicability error thread safe so multiple threads can perform overload resolution of parent method calls independently, save presentable error when substitutor cached only
This commit is contained in:
@@ -24,7 +24,7 @@ class AlienTest {
|
||||
|
||||
static {
|
||||
IInt i1 = MyTest::<error descr="Cannot resolve method 'abracadabra'">abracadabra</error>;
|
||||
IInt i2 = MyTest::<error descr="Invalid method reference: int cannot be converted to String">foo</error>;
|
||||
IInt i2 = MyTest::<error descr="Cannot resolve method 'foo'">foo</error>;
|
||||
IInt i3 = MyTest::<error descr="Cannot resolve method 'bar'">bar</error>;
|
||||
<error descr="Incompatible types. Found: '<method reference>', required: 'AlienTest.IIntInt'">IIntInt i4 = MyTest::bar;</error>
|
||||
IInt i5 = <error descr="Non-static method cannot be referenced from a static context">MyTest::baz</error>;
|
||||
|
||||
@@ -47,7 +47,7 @@ class MyTest1 {
|
||||
}
|
||||
|
||||
{
|
||||
Bar1 b1 = MyTest2 :: <error descr="Invalid method reference: String cannot be converted to int">foo</error>;
|
||||
Bar1 b1 = MyTest2 :: <error descr="Cannot resolve method 'foo'">foo</error>;
|
||||
bar(MyTest1 :: foo);
|
||||
}
|
||||
}
|
||||
@@ -73,7 +73,7 @@ class MyTest2 {
|
||||
}*/
|
||||
|
||||
{
|
||||
Bar1 b1 = MyTest2 :: <error descr="Invalid method reference: String cannot be converted to int">foo</error>;
|
||||
Bar1 b1 = MyTest2 :: <error descr="Cannot resolve method 'foo'">foo</error>;
|
||||
bar(MyTest2 :: foo);
|
||||
}
|
||||
}
|
||||
@@ -99,8 +99,8 @@ class MyTest3 {
|
||||
}
|
||||
|
||||
{
|
||||
Bar1 b1 = MyTest2 :: <error descr="Invalid method reference: String cannot be converted to int">foo</error>;
|
||||
bar(MyTest3 :: <error descr="Invalid method reference: int cannot be converted to String">foo</error>);
|
||||
Bar1 b1 = MyTest2 :: <error descr="Cannot resolve method 'foo'">foo</error>;
|
||||
bar(MyTest3 :: <error descr="Cannot resolve method 'foo'">foo</error>);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ class Test {
|
||||
{
|
||||
Runnable b = Test :: <error descr="Cannot resolve method 'length'">length</error>;
|
||||
Comparable<String> c = Test :: length;
|
||||
Comparable<Integer> c1 = Test :: <error descr="Invalid method reference: Integer cannot be converted to String">length</error>;
|
||||
Comparable<Integer> c1 = Test :: <error descr="Cannot resolve method 'length'">length</error>;
|
||||
}
|
||||
|
||||
public static Integer length(String s) {
|
||||
|
||||
@@ -49,7 +49,7 @@ class MyTest {
|
||||
static {
|
||||
I1 i1 = MyTest::static_1;
|
||||
I1 i2 = MyTest::<error descr="Cannot resolve method 'static_2'">static_2</error>;
|
||||
I1 i3 = MyTest::<error descr="Invalid method reference: int cannot be converted to String">static_3</error>;
|
||||
I1 i3 = MyTest::<error descr="Cannot resolve method 'static_3'">static_3</error>;
|
||||
I1 i4 = MyTest::<error descr="Cannot resolve method 'static_4'">static_4</error>;
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ class MyTest {
|
||||
|
||||
I1 i1 = this::_1;
|
||||
I1 i2 = this::<error descr="Cannot resolve method '_2'">_2</error>;
|
||||
I1 i3 = this::<error descr="Invalid method reference: int cannot be converted to String">_3</error>;
|
||||
I1 i3 = this::<error descr="Cannot resolve method '_3'">_3</error>;
|
||||
I1 i4 = this::<error descr="Cannot resolve method '_4'">_4</error>;
|
||||
|
||||
I2 i21 = MyTest::<error descr="Cannot resolve method 'm1'">m1</error>;
|
||||
|
||||
Reference in New Issue
Block a user