[FIR JS] KT-51740: Alter positioning of NO_VALUE_FOR_PARAMETER

This commit is contained in:
Nikolay Lunyak
2022-09-23 12:20:09 +03:00
parent 418c530820
commit fcd3e4f4c5
101 changed files with 340 additions and 248 deletions
@@ -4,7 +4,7 @@ class X<V>(provider: () -> V, trackValue: Boolean) {
}
class B {
val c = <!NO_VALUE_FOR_PARAMETER!>X<String> {
val c = <!NO_VALUE_FOR_PARAMETER!>X<!><String> {
"e"
}<!>
}
}
@@ -1,7 +1,7 @@
fun test1(f: String.() -> Unit) {
(f)(<!NO_VALUE_FOR_PARAMETER!>)<!>
<!NO_VALUE_FOR_PARAMETER!>(f)()<!>
f(<!NO_VALUE_FOR_PARAMETER!>)<!>
<!NO_VALUE_FOR_PARAMETER!>f()<!>
}
fun test2(f: (Int) -> Int) {
@@ -1,11 +1,11 @@
fun test1(f: String.() -> Unit) {
(f)(<!NO_VALUE_FOR_PARAMETER!>)<!>
(f)<!NO_VALUE_FOR_PARAMETER!>()<!>
f(<!NO_VALUE_FOR_PARAMETER!>)<!>
f<!NO_VALUE_FOR_PARAMETER!>()<!>
}
fun test2(f: (Int) -> Int) {
1.<!UNRESOLVED_REFERENCE!>f<!>(2)
2.<!NO_RECEIVER_ALLOWED!>(f)<!>(2)
}
}
@@ -6,7 +6,7 @@ fun test1() {
fun test2(f: String.(Int) -> Unit) {
<!ARGUMENT_TYPE_MISMATCH!>11<!>.(f)(1)
11.(f)(<!NO_VALUE_FOR_PARAMETER!>)<!>
11.<!NO_VALUE_FOR_PARAMETER!>(f)()<!>
}
fun test3() {
@@ -7,7 +7,7 @@ class SomeClass
fun test(identifier: SomeClass, fn: String.() -> Unit) {
<!NONE_APPLICABLE!>identifier<!>()
identifier(123<!NO_VALUE_FOR_PARAMETER!>)<!>
identifier(<!NO_VALUE_FOR_PARAMETER!>123)<!>
identifier(1, <!TOO_MANY_ARGUMENTS!>2<!>)
<!ARGUMENT_TYPE_MISMATCH!>1<!>.fn()
}
@@ -11,10 +11,10 @@ fun test(a: A) {
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>("")
with("") {
a.x(<!NO_VALUE_FOR_PARAMETER!>)<!>
a.<!NO_VALUE_FOR_PARAMETER!>x()<!>
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>()
if (a.x != null) {
a.x(<!NO_VALUE_FOR_PARAMETER!>)<!> // todo
a.<!NO_VALUE_FOR_PARAMETER!>x()<!> // todo
(a.x)()
}
}
@@ -11,10 +11,10 @@ fun test(a: A) {
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>("")
with("") {
a.<!UNSAFE_IMPLICIT_INVOKE_CALL!>x<!>(<!NO_VALUE_FOR_PARAMETER!>)<!>
a.<!UNSAFE_IMPLICIT_INVOKE_CALL!>x<!><!NO_VALUE_FOR_PARAMETER!>()<!>
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>()
if (a.x != null) {
a.<!UNSAFE_IMPLICIT_INVOKE_CALL!>x<!>(<!NO_VALUE_FOR_PARAMETER!>)<!> // todo
a.<!UNSAFE_IMPLICIT_INVOKE_CALL!>x<!><!NO_VALUE_FOR_PARAMETER!>()<!> // todo
<!DEBUG_INFO_SMARTCAST!>(a.x)<!>()
}
}
@@ -23,8 +23,8 @@ fun test(a: A, b: B) {
}
with(b) {
a.foo(<!NO_VALUE_FOR_PARAMETER!>)<!>
a.(foo)(<!NO_VALUE_FOR_PARAMETER!>)<!>
a.<!NO_VALUE_FOR_PARAMETER!>foo()<!>
a.<!NO_VALUE_FOR_PARAMETER!>(foo)()<!>
(a.foo)()
@@ -65,8 +65,8 @@ fun test(a: A, b: B) {
}
with(b) {
a.foo(<!NO_VALUE_FOR_PARAMETER!>)<!>
a.(foo)(<!NO_VALUE_FOR_PARAMETER!>)<!>
a.<!NO_VALUE_FOR_PARAMETER!>foo()<!>
a.<!NO_VALUE_FOR_PARAMETER!>(foo)()<!>
(a.foo)()
@@ -23,7 +23,7 @@ fun test(a: A, b: B) {
}
with(b) {
a.foo(<!NO_VALUE_FOR_PARAMETER!>)<!>
a.foo<!NO_VALUE_FOR_PARAMETER!>()<!>
a.<!FUNCTION_EXPECTED!>(<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>)<!>()
(a.foo)()
@@ -65,7 +65,7 @@ fun test(a: A, b: B) {
}
with(b) {
a.foo(<!NO_VALUE_FOR_PARAMETER!>)<!>
a.foo<!NO_VALUE_FOR_PARAMETER!>()<!>
a.<!FUNCTION_EXPECTED!>(<!UNRESOLVED_REFERENCE!>foo<!>)<!>()
(a.foo)()
@@ -0,0 +1,17 @@
class A {
val foo: B.() -> Unit get() = null!!
}
class B
fun test(a: A, b: B) {
with(b) {
a.<!NO_VALUE_FOR_PARAMETER!>foo()<!> // here must be error, because a is not extension receiver
a.foo(this)
(a.foo)()
(a.foo)(this)
}
}
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
class A {
val foo: B.() -> Unit get() = null!!
}
@@ -7,7 +6,7 @@ class B
fun test(a: A, b: B) {
with(b) {
a.foo(<!NO_VALUE_FOR_PARAMETER!>)<!> // here must be error, because a is not extension receiver
a.foo<!NO_VALUE_FOR_PARAMETER!>()<!> // here must be error, because a is not extension receiver
a.foo(this)
@@ -10,6 +10,6 @@ fun test() {
bar(foo(<!NAMED_PARAMETER_NOT_FOUND!>xx<!> = zzz(11) { j: Int -> j + 7 }))
bar(<!NAMED_PARAMETER_NOT_FOUND!>zz<!> = foo(
<!NAMED_PARAMETER_NOT_FOUND!>xx<!> = zzz(12) { i: Int -> i + i })<!NO_VALUE_FOR_PARAMETER!>)<!>
bar(<!NO_VALUE_FOR_PARAMETER!><!NAMED_PARAMETER_NOT_FOUND!>zz<!> = foo(
<!NAMED_PARAMETER_NOT_FOUND!>xx<!> = zzz(12) { i: Int -> i + i }))<!>
}
@@ -28,7 +28,7 @@ fun testNoArgs() {
}
fun testLambdaArg() {
oneLambdaArg(<!NO_VALUE_FOR_PARAMETER!>)<!>
<!NO_VALUE_FOR_PARAMETER!>oneLambdaArg()<!>
oneLambdaArg {}
oneLambdaArg()
{}
@@ -40,7 +40,7 @@ fun testLambdaArg() {
<!TOO_MANY_ARGUMENTS!>{}<!>
)
oneLambdaArg() {}
oneLambdaArg(<!NO_VALUE_FOR_PARAMETER!>)<!> // {}
<!NO_VALUE_FOR_PARAMETER!>oneLambdaArg()<!> // {}
oneLambdaArg() /* */ {}
oneLambdaArg() /*
block
@@ -95,7 +95,7 @@ fun testTwoLambdas() {
)
fun bar(): () -> Unit {
twoLambdaArgs(<!NO_VALUE_FOR_PARAMETER!>)<!>
<!NO_VALUE_FOR_PARAMETER!>twoLambdaArgs()<!>
{}
<!MANY_LAMBDA_EXPRESSION_ARGUMENTS!>{}<!>
@@ -28,7 +28,7 @@ fun testNoArgs() {
}
fun testLambdaArg() {
oneLambdaArg(<!NO_VALUE_FOR_PARAMETER!>)<!>
oneLambdaArg<!NO_VALUE_FOR_PARAMETER!>()<!>
oneLambdaArg {}
oneLambdaArg()
{}
@@ -40,7 +40,7 @@ fun testLambdaArg() {
<!TOO_MANY_ARGUMENTS!>{}<!>
)
oneLambdaArg() {}
oneLambdaArg(<!NO_VALUE_FOR_PARAMETER!>)<!> // {}
oneLambdaArg<!NO_VALUE_FOR_PARAMETER!>()<!> // {}
oneLambdaArg() /* */ {}
oneLambdaArg() /*
block
@@ -95,7 +95,7 @@ fun testTwoLambdas() {
)
fun bar(): () -> Unit {
twoLambdaArgs(<!NO_VALUE_FOR_PARAMETER!>)<!>
twoLambdaArgs<!NO_VALUE_FOR_PARAMETER!>()<!>
{}
<!MANY_LAMBDA_EXPRESSION_ARGUMENTS, UNEXPECTED_TRAILING_LAMBDA_ON_A_NEW_LINE!>{}<!>