[FIR] Adapt positioning of NO_VALUE_FOR_PARAMETER to match K1
This commit is contained in:
committed by
Space Team
parent
6d1d6e48c1
commit
5abab2197b
@@ -8,7 +8,7 @@ fun test() {
|
||||
foo(1, 2.0, true)
|
||||
foo(1, third = true)
|
||||
|
||||
<!NO_VALUE_FOR_PARAMETER!>foo()<!>
|
||||
foo<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
foo(0, 0.0, false, <!TOO_MANY_ARGUMENTS!>""<!>)
|
||||
|
||||
bar(1, third = true)
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ fun foo(a: A) {
|
||||
a.foo()
|
||||
a.foo(1)
|
||||
|
||||
a.<!NO_VALUE_FOR_PARAMETER!>bar()<!>
|
||||
a.bar<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
a.bar(<!NO_VALUE_FOR_PARAMETER!>"")<!>
|
||||
a.bar(y = 1)
|
||||
a.bar("", 2)
|
||||
|
||||
@@ -29,6 +29,6 @@ fun test() {
|
||||
|
||||
// Bad
|
||||
<!NO_VALUE_FOR_PARAMETER!>baz<!> {}
|
||||
<!NO_VALUE_FOR_PARAMETER!>baz()<!> {}
|
||||
baz<!NO_VALUE_FOR_PARAMETER!>()<!> {}
|
||||
baz(<!NO_VALUE_FOR_PARAMETER!>other = false)<!> <!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ fun test() {
|
||||
foo(1, second = 3.14, third = false, fourth = "!?")
|
||||
foo(third = false, second = 2.71, fourth = "?!", first = 0)
|
||||
|
||||
<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>foo()<!>
|
||||
foo<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
foo(<!ARGUMENT_TYPE_MISMATCH!>0.0<!>, <!ARGUMENT_TYPE_MISMATCH!>false<!>, <!ARGUMENT_TYPE_MISMATCH!>0<!>, "")
|
||||
foo(1, 2.0, third = true, "")
|
||||
foo(second = 0.0, first = 0, <!NO_VALUE_FOR_PARAMETER!>fourth = "")<!>
|
||||
|
||||
+2
-1
@@ -590,7 +590,8 @@ object LightTreePositioningStrategies {
|
||||
if (lastArgument != null) {
|
||||
markRange(lastArgument, rightParenthesis, startOffset, endOffset, tree, node)
|
||||
} else {
|
||||
markRange(nodeToStart, rightParenthesis, startOffset, endOffset, tree, node)
|
||||
val leftParenthesis = tree.findLastChildByType(argumentList, LPAR)
|
||||
markRange(leftParenthesis?: nodeToStart, rightParenthesis, startOffset, endOffset, tree, node)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -693,7 +693,8 @@ object PositioningStrategies {
|
||||
if (lastArgument != null) {
|
||||
markRange(lastArgument, rightParenthesis)
|
||||
} else {
|
||||
markRange(qualifiedAccess, rightParenthesis)
|
||||
val leftParenthesis = argumentList.leftParenthesis
|
||||
markRange(leftParenthesis ?: qualifiedAccess, rightParenthesis)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// COMPARE_WITH_LIGHT_TREE
|
||||
// !CHECK_TYPE
|
||||
|
||||
package foo
|
||||
@@ -28,8 +27,8 @@ fun <T> fooT2() : (t : T) -> T {
|
||||
|
||||
fun main(args : Array<String>) {
|
||||
args.foo()()
|
||||
<!NO_VALUE_FOR_PARAMETER!>args.foo1()()<!>
|
||||
<!NO_VALUE_FOR_PARAMETER!><!UNRESOLVED_REFERENCE!>a<!>.foo1()()<!>
|
||||
args.foo1()<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
<!UNRESOLVED_REFERENCE!>a<!>.foo1()<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
<!UNRESOLVED_REFERENCE!>a<!>.foo1()(<!UNRESOLVED_REFERENCE!>a<!>)
|
||||
|
||||
args.foo1()(1)
|
||||
@@ -76,8 +75,8 @@ fun main1() {
|
||||
}
|
||||
|
||||
fun test() {
|
||||
<!NO_VALUE_FOR_PARAMETER!>{x : Int -> 1}()<!>;
|
||||
<!NO_VALUE_FOR_PARAMETER!>(fun Int.() = 1)()<!>
|
||||
{x : Int -> 1}<!NO_VALUE_FOR_PARAMETER!>()<!>;
|
||||
(fun Int.() = 1)<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
<!ARGUMENT_TYPE_MISMATCH!>"sd"<!>.(fun Int.() = 1)()
|
||||
val i : Int? = null
|
||||
<!ARGUMENT_TYPE_MISMATCH!>i<!>.(fun Int.() = 1)();
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// COMPARE_WITH_LIGHT_TREE
|
||||
// !CHECK_TYPE
|
||||
|
||||
package foo
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
// !LANGUAGE: -InstantiationOfAnnotationClasses
|
||||
annotation class Ann
|
||||
annotation class Ann1(val a: Int)
|
||||
annotation class Ann2(val a: Ann1)
|
||||
|
||||
annotation class Ann3(val a: Ann1 = Ann1(1))
|
||||
|
||||
annotation class Ann4(val value: String)
|
||||
|
||||
@Ann2(Ann1(1)) val a = 1
|
||||
|
||||
@Ann2(a = Ann1(1)) val c = 2
|
||||
|
||||
@Ann4("a") class MyClass
|
||||
|
||||
fun foo() {
|
||||
<!ANNOTATION_CLASS_CONSTRUCTOR_CALL!>Ann()<!>
|
||||
val a = <!ANNOTATION_CLASS_CONSTRUCTOR_CALL!>Ann()<!>
|
||||
|
||||
<!ANNOTATION_CLASS_CONSTRUCTOR_CALL, NO_VALUE_FOR_PARAMETER!>Ann1()<!>
|
||||
<!ANNOTATION_CLASS_CONSTRUCTOR_CALL!>Ann1(1)<!>
|
||||
bar(<!ANNOTATION_CLASS_CONSTRUCTOR_CALL!>Ann()<!>)
|
||||
bar(a = <!ANNOTATION_CLASS_CONSTRUCTOR_CALL!>Ann()<!>)
|
||||
|
||||
val ann = javaClass<MyClass>().getAnnotation(javaClass<Ann4>())
|
||||
ann!!.value()
|
||||
}
|
||||
|
||||
fun bar(a: Ann = <!ANNOTATION_CLASS_CONSTRUCTOR_CALL!>Ann()<!>) {
|
||||
if (<!USELESS_IS_CHECK!>a is Ann<!>) {}
|
||||
}
|
||||
|
||||
operator fun String.invoke() {}
|
||||
|
||||
// from stdlib
|
||||
fun <T> javaClass() : Class<T> = null <!CAST_NEVER_SUCCEEDS!>as<!> Class<T>
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: -InstantiationOfAnnotationClasses
|
||||
annotation class Ann
|
||||
annotation class Ann1(val a: Int)
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ fun test() {
|
||||
checkSubtype<KProperty1<A, Int>>(p)
|
||||
checkSubtype<KMutableProperty1<A, Int>>(<!ARGUMENT_TYPE_MISMATCH!>p<!>)
|
||||
checkSubtype<Int>(p.get(A()))
|
||||
p.<!NO_VALUE_FOR_PARAMETER!>get()<!>
|
||||
p.get<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
p.<!UNRESOLVED_REFERENCE!>set<!>(A(), 239)
|
||||
|
||||
val q = A::bar
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
// WITH_STDLIB
|
||||
|
||||
// FILE: test.kt
|
||||
val bar2 by <!NO_VALUE_FOR_PARAMETER!>bar2()<!>
|
||||
val bar2 by bar2<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
|
||||
// FILE: lt/neworld/compiler/Foo.kt
|
||||
package lt.neworld.compiler
|
||||
|
||||
class Foo {
|
||||
val bar by <!NO_VALUE_FOR_PARAMETER!>bar()<!>
|
||||
val bar by bar<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
// FILE: lt/neworld/compiler/bar/Bar.kt
|
||||
|
||||
@@ -19,7 +19,7 @@ class A
|
||||
infix operator fun A.plus(a : Any) {
|
||||
|
||||
1.foo()
|
||||
true.<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>foo()<!>
|
||||
true.foo<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
|
||||
1
|
||||
}
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ class C : T {
|
||||
super.foo() // OK
|
||||
super.<!UNRESOLVED_REFERENCE!>bar<!>() // Error
|
||||
super.buzz() // OK, resolved to a member
|
||||
super.<!NO_VALUE_FOR_PARAMETER!>buzz1()<!> // Resolved to an extension
|
||||
super.buzz1<!NO_VALUE_FOR_PARAMETER!>()<!> // Resolved to an extension
|
||||
super.buzz1(<!ARGUMENT_TYPE_MISMATCH!>""<!>) // Resolved to a member
|
||||
}
|
||||
}
|
||||
Vendored
-34
@@ -1,34 +0,0 @@
|
||||
// !LANGUAGE: +ContextReceivers
|
||||
|
||||
class File(name: String)
|
||||
interface InputStream
|
||||
|
||||
interface AutoCloseScope {
|
||||
fun defer(closeBlock: () -> Unit)
|
||||
fun close()
|
||||
}
|
||||
class AutoCloseScopeImpl : AutoCloseScope {
|
||||
override fun defer(closeBlock: () -> Unit) = TODO()
|
||||
override fun close() = TODO()
|
||||
}
|
||||
|
||||
context(AutoCloseScope)
|
||||
fun File.open(): InputStream = TODO()
|
||||
|
||||
fun withAutoClose(block: context(AutoCloseScope) () -> Unit) {
|
||||
val scope = AutoCloseScopeImpl() // Not shown here
|
||||
try {
|
||||
with(scope) { <!NO_VALUE_FOR_PARAMETER!>block()<!> }
|
||||
} finally {
|
||||
scope.close()
|
||||
}
|
||||
}
|
||||
|
||||
fun test() {
|
||||
withAutoClose {
|
||||
val input = File("input.txt").open()
|
||||
val config = File("config.txt").open()
|
||||
// Work
|
||||
// All files are closed at the end
|
||||
}
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +ContextReceivers
|
||||
|
||||
class File(name: String)
|
||||
|
||||
Vendored
-16
@@ -1,16 +0,0 @@
|
||||
// See KT-7813: Call to functional parameter with missing argument: no error detected but compiler crashes
|
||||
|
||||
fun foo(p: (Int, () -> Int) -> Unit) {
|
||||
// Errors except last call
|
||||
<!NO_VALUE_FOR_PARAMETER!>p<!> { 1 }
|
||||
<!NO_VALUE_FOR_PARAMETER!>p()<!> { 2 }
|
||||
p(3) { 4 }
|
||||
}
|
||||
|
||||
fun bar(p: (String, Any, () -> String) -> Unit) {
|
||||
// Errors except last call
|
||||
<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>p<!> { "" }
|
||||
<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>p()<!> { "x" }
|
||||
p(<!NO_VALUE_FOR_PARAMETER!>"y")<!> { "z" }
|
||||
p("v", Any()) { "w" }
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// See KT-7813: Call to functional parameter with missing argument: no error detected but compiler crashes
|
||||
|
||||
fun foo(p: (Int, () -> Int) -> Unit) {
|
||||
|
||||
+1
-1
@@ -2,6 +2,6 @@ fun test1(i: Int) = { i ->
|
||||
i
|
||||
}(i)
|
||||
|
||||
fun test2() = <!NO_VALUE_FOR_PARAMETER!>{ i -> i }()<!>
|
||||
fun test2() = { i -> i }<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
|
||||
fun test3() = { i -> i }(1)
|
||||
|
||||
+19
-19
@@ -35,7 +35,7 @@ fun poll11(flag: Boolean) {
|
||||
|
||||
fun poll12(flag: Boolean) {
|
||||
val inv = if (flag) { ::<!UNRESOLVED_REFERENCE!>bar3<!> } else { ::<!UNRESOLVED_REFERENCE!>foo3<!> }
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll13(flag: Boolean) {
|
||||
@@ -45,12 +45,12 @@ fun poll13(flag: Boolean) {
|
||||
|
||||
fun poll14(flag: Boolean) {
|
||||
val inv = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>if (flag) { ::bar4 } else { ::foo4 }<!>
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll15(flag: Boolean) {
|
||||
val inv = if (flag) { ::<!UNRESOLVED_REFERENCE!>bar5<!> } else { ::<!UNRESOLVED_REFERENCE!>foo5<!> }
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll16(flag: Boolean) {
|
||||
@@ -65,7 +65,7 @@ fun poll17(flag: Boolean) {
|
||||
|
||||
fun poll2(flag: Boolean) {
|
||||
val inv = when (flag) { true -> ::<!UNRESOLVED_REFERENCE!>bar<!> else -> ::<!UNRESOLVED_REFERENCE!>foo<!> }
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll21(flag: Boolean) {
|
||||
@@ -75,12 +75,12 @@ fun poll21(flag: Boolean) {
|
||||
|
||||
fun poll22(flag: Boolean) {
|
||||
val inv = when (flag) { true -> ::<!UNRESOLVED_REFERENCE!>bar3<!> else -> ::<!UNRESOLVED_REFERENCE!>foo3<!> }
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll23(flag: Boolean) {
|
||||
val inv = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>when (flag) { true -> ::bar4 else -> ::foo4 }<!>
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll24(flag: Boolean) {
|
||||
@@ -100,7 +100,7 @@ fun poll26(flag: Boolean) {
|
||||
|
||||
fun poll3(flag: Boolean) {
|
||||
val inv = when (flag) { true -> ::<!UNRESOLVED_REFERENCE!>bar<!> false -> ::<!UNRESOLVED_REFERENCE!>foo<!> }
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll31(flag: Boolean) {
|
||||
@@ -110,12 +110,12 @@ fun poll31(flag: Boolean) {
|
||||
|
||||
fun poll32(flag: Boolean) {
|
||||
val inv = when (flag) { true -> ::<!UNRESOLVED_REFERENCE!>bar3<!> false -> ::<!UNRESOLVED_REFERENCE!>foo3<!> }
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll33(flag: Boolean) {
|
||||
val inv = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>when (flag) { true -> ::bar4 false -> ::foo4 }<!>
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll34(flag: Boolean) {
|
||||
@@ -135,7 +135,7 @@ fun poll36(flag: Boolean) {
|
||||
|
||||
fun poll4() {
|
||||
val inv = try { ::<!UNRESOLVED_REFERENCE!>bar<!> } finally { ::<!UNRESOLVED_REFERENCE!>foo<!> }
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll41() {
|
||||
@@ -145,17 +145,17 @@ fun poll41() {
|
||||
|
||||
fun poll42() {
|
||||
val inv = try { ::<!UNRESOLVED_REFERENCE!>bar3<!> } finally { ::<!UNRESOLVED_REFERENCE!>foo3<!> }
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll43() {
|
||||
val inv = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>try { ::bar4 } finally { ::foo4 }<!>
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll44() {
|
||||
val inv = try { ::<!UNRESOLVED_REFERENCE!>bar5<!> } finally { ::<!UNRESOLVED_REFERENCE!>foo5<!> }
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll45() {
|
||||
@@ -170,7 +170,7 @@ fun poll46() {
|
||||
|
||||
fun poll5() {
|
||||
val inv = try { ::<!UNRESOLVED_REFERENCE!>bar<!> } catch (e: Exception) { ::<!UNRESOLVED_REFERENCE!>foo<!> } finally { ::<!UNRESOLVED_REFERENCE!>foo<!> }
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll51() {
|
||||
@@ -180,17 +180,17 @@ fun poll51() {
|
||||
|
||||
fun poll52() {
|
||||
val inv = try { ::<!UNRESOLVED_REFERENCE!>bar3<!> } catch (e: Exception) { ::<!UNRESOLVED_REFERENCE!>foo3<!> } finally { ::<!UNRESOLVED_REFERENCE!>foo3<!> }
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll53() {
|
||||
val inv = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>try { ::bar4 } catch (e: Exception) { ::foo4 } finally { ::foo4 }<!>
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll54() {
|
||||
val inv = try { ::<!UNRESOLVED_REFERENCE!>bar5<!> } catch (e: Exception) { ::<!UNRESOLVED_REFERENCE!>foo5<!> } finally { ::<!UNRESOLVED_REFERENCE!>foo5<!> }
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll55() {
|
||||
@@ -240,7 +240,7 @@ fun poll66() {
|
||||
|
||||
fun poll7() {
|
||||
val inv = ::<!UNRESOLVED_REFERENCE!>bar<!><!NOT_NULL_ASSERTION_ON_CALLABLE_REFERENCE!>!!<!>
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll71() {
|
||||
@@ -250,7 +250,7 @@ fun poll71() {
|
||||
|
||||
fun poll72() {
|
||||
val inv = ::<!UNRESOLVED_REFERENCE!>bar3<!><!NOT_NULL_ASSERTION_ON_CALLABLE_REFERENCE!>!!<!>
|
||||
<!NO_VALUE_FOR_PARAMETER!>inv()<!>
|
||||
inv<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun poll73() {
|
||||
|
||||
+3
-3
@@ -12,7 +12,7 @@ class Outer {
|
||||
|
||||
fun baz() {
|
||||
// Diagnostic here could be better (why can't I call the constructor above?)
|
||||
<!NO_VALUE_FOR_PARAMETER!>Inner()<!>
|
||||
Inner<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
Inner(<!ARGUMENT_TYPE_MISMATCH!>1<!>)
|
||||
Inner("")
|
||||
}
|
||||
@@ -20,7 +20,7 @@ class Outer {
|
||||
}
|
||||
|
||||
fun foo() {
|
||||
Outer.<!NO_VALUE_FOR_PARAMETER!>Inner()<!>
|
||||
Outer.Inner<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
Outer.Inner(<!ARGUMENT_TYPE_MISMATCH!>1<!>)
|
||||
Outer.Inner("")
|
||||
}
|
||||
@@ -31,7 +31,7 @@ import abc.Outer.Inner
|
||||
import abc.Outer.Companion.Inner
|
||||
|
||||
fun bar() {
|
||||
<!NO_VALUE_FOR_PARAMETER!>Inner()<!>
|
||||
Inner<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
Inner(<!ARGUMENT_TYPE_MISMATCH!>1<!>)
|
||||
Inner("")
|
||||
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
// FILE: C.java
|
||||
|
||||
// See KT-10410
|
||||
public class C {
|
||||
public <T extends T> C(T t) {
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
|
||||
fun foo() = <!NO_VALUE_FOR_PARAMETER!>C()<!>
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: C.java
|
||||
|
||||
// See KT-10410
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
// COMPARE_WITH_LIGHT_TREE
|
||||
fun Any.foo1() : (i : Int) -> Unit {
|
||||
return {}
|
||||
}
|
||||
|
||||
fun test(a : Any) {
|
||||
<!NO_VALUE_FOR_PARAMETER!>a.foo1()()<!>
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// COMPARE_WITH_LIGHT_TREE
|
||||
// FIR_IDENTICAL
|
||||
fun Any.foo1() : (i : Int) -> Unit {
|
||||
return {}
|
||||
}
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ fun test() {
|
||||
foo(1, "", <!TOO_MANY_ARGUMENTS!>""<!>)
|
||||
|
||||
bar(z = "")
|
||||
<!NO_VALUE_FOR_PARAMETER!>bar()<!>
|
||||
bar<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
bar(<!NO_VALUE_FOR_PARAMETER!>"")<!>
|
||||
bar(1, 1, "")
|
||||
bar(1, 1, "")
|
||||
|
||||
Vendored
+2
-2
@@ -1,7 +1,7 @@
|
||||
fun test1(f: String.() -> Unit) {
|
||||
<!NO_VALUE_FOR_PARAMETER!>(f)()<!>
|
||||
(f)<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
|
||||
<!NO_VALUE_FOR_PARAMETER!>f()<!>
|
||||
f<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun test2(f: (Int) -> Int) {
|
||||
|
||||
Vendored
+1
-1
@@ -6,7 +6,7 @@ fun test1() {
|
||||
|
||||
fun test2(f: String.(Int) -> Unit) {
|
||||
<!ARGUMENT_TYPE_MISMATCH!>11<!>.(f)(1)
|
||||
11.<!NO_VALUE_FOR_PARAMETER!>(f)()<!>
|
||||
11.(f)<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
fun test3() {
|
||||
|
||||
+2
-2
@@ -11,10 +11,10 @@ fun test(a: A) {
|
||||
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>("")
|
||||
|
||||
with("") {
|
||||
a.<!NO_VALUE_FOR_PARAMETER!>x()<!>
|
||||
a.x<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>()
|
||||
if (a.x != null) {
|
||||
a.<!NO_VALUE_FOR_PARAMETER!>x()<!> // todo
|
||||
a.x<!NO_VALUE_FOR_PARAMETER!>()<!> // todo
|
||||
(a.x)()
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+4
-4
@@ -23,8 +23,8 @@ fun test(a: A, b: B) {
|
||||
}
|
||||
|
||||
with(b) {
|
||||
a.<!NO_VALUE_FOR_PARAMETER!>foo()<!>
|
||||
a.<!NO_VALUE_FOR_PARAMETER!>(foo)()<!>
|
||||
a.foo<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
a.(foo)<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
|
||||
(a.foo)()
|
||||
|
||||
@@ -65,8 +65,8 @@ fun test(a: A, b: B) {
|
||||
}
|
||||
|
||||
with(b) {
|
||||
a.<!NO_VALUE_FOR_PARAMETER!>foo()<!>
|
||||
a.<!NO_VALUE_FOR_PARAMETER!>(foo)()<!>
|
||||
a.foo<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
a.(foo)<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
|
||||
(a.foo)()
|
||||
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
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,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
class A {
|
||||
val foo: B.() -> Unit get() = null!!
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ fun testNoArgs() {
|
||||
}
|
||||
|
||||
fun testLambdaArg() {
|
||||
<!NO_VALUE_FOR_PARAMETER!>oneLambdaArg()<!>
|
||||
oneLambdaArg<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
oneLambdaArg {}
|
||||
oneLambdaArg()
|
||||
{}
|
||||
@@ -40,7 +40,7 @@ fun testLambdaArg() {
|
||||
<!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
)
|
||||
oneLambdaArg() {}
|
||||
<!NO_VALUE_FOR_PARAMETER!>oneLambdaArg()<!> // {}
|
||||
oneLambdaArg<!NO_VALUE_FOR_PARAMETER!>()<!> // {}
|
||||
oneLambdaArg() /* */ {}
|
||||
oneLambdaArg() /*
|
||||
block
|
||||
@@ -95,7 +95,7 @@ fun testTwoLambdas() {
|
||||
)
|
||||
|
||||
fun bar(): () -> Unit {
|
||||
<!NO_VALUE_FOR_PARAMETER!>twoLambdaArgs()<!>
|
||||
twoLambdaArgs<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
{}
|
||||
<!MANY_LAMBDA_EXPRESSION_ARGUMENTS!>{}<!>
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
val (a, b, c) = <!COMPONENT_FUNCTION_MISSING, COMPONENT_FUNCTION_MISSING, COMPONENT_FUNCTION_MISSING, NO_VALUE_FOR_PARAMETER!>A()<!>
|
||||
val (a, b, c) = <!COMPONENT_FUNCTION_MISSING, COMPONENT_FUNCTION_MISSING, COMPONENT_FUNCTION_MISSING!>A<!NO_VALUE_FOR_PARAMETER!>()<!><!>
|
||||
|
||||
class A(val a: Int) {
|
||||
operator fun component1() {}
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ open class B0(x: Int)
|
||||
|
||||
class A0 : B0 {
|
||||
<!EXPLICIT_DELEGATION_CALL_REQUIRED!>constructor()<!>
|
||||
constructor(x: Int) : <!NO_VALUE_FOR_PARAMETER!>super()<!>
|
||||
constructor(x: Int) : super<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
}
|
||||
|
||||
// --------------------------
|
||||
|
||||
-6
@@ -1,6 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
class A {
|
||||
constructor(x: Int)
|
||||
}
|
||||
|
||||
val x = <!NO_VALUE_FOR_PARAMETER!>A()<!>
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
class A {
|
||||
constructor(x: Int)
|
||||
|
||||
Vendored
+2
-2
@@ -13,8 +13,8 @@ open class C2(val x: Int) {
|
||||
typealias C2_Alias = C2
|
||||
|
||||
val test1 = <!API_NOT_AVAILABLE!>C1_Alias<!>()
|
||||
val test2 = <!NO_VALUE_FOR_PARAMETER!>C2_Alias()<!>
|
||||
val test2 = C2_Alias<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
|
||||
class Test3 : <!API_NOT_AVAILABLE!>C1_Alias<!>()
|
||||
|
||||
class Test4 : <!NO_VALUE_FOR_PARAMETER!>C2_Alias()<!>
|
||||
class Test4 : C2_Alias<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
// NI_EXPECTED_FILE
|
||||
|
||||
fun foo(first: Array<Any?>, second: Array<Any?>) = Pair(first.<!NO_VALUE_FOR_PARAMETER!>toCollection()<!>, second.<!NO_VALUE_FOR_PARAMETER!>toCollection()<!>)
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// NI_EXPECTED_FILE
|
||||
|
||||
fun foo(first: Array<Any?>, second: Array<Any?>) = Pair(first.toCollection<!NO_VALUE_FOR_PARAMETER!>()<!>, second.toCollection<!NO_VALUE_FOR_PARAMETER!>()<!>)
|
||||
|
||||
@@ -12,13 +12,13 @@ fun <E> List<*>.toArray(ar: Array<E>): Array<E> = ar
|
||||
fun testArrays(ci: List<Int?>, cii: List<Int?>?) {
|
||||
val c1: Array<Int?> = cii.sure().toArray(<!ARGUMENT_TYPE_MISMATCH, NO_COMPANION_OBJECT!>Array<Int?><!>)
|
||||
|
||||
val c2: Array<Int?> = ci.toArray(<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>Array<Int?>()<!>)
|
||||
val c2: Array<Int?> = ci.toArray(Array<Int?><!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>()<!>)
|
||||
|
||||
val c3 = <!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>Array<Int?>()<!>
|
||||
val c3 = Array<Int?><!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
|
||||
val c4 = ci.toArray<Int?>(<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>Array<Int?>()<!>)
|
||||
val c4 = ci.toArray<Int?>(Array<Int?><!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>()<!>)
|
||||
|
||||
val c5 = ci.toArray(<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>Array<Int?>()<!>)
|
||||
val c5 = ci.toArray(Array<Int?><!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>()<!>)
|
||||
|
||||
checkSubtype<Array<Int?>>(c1)
|
||||
checkSubtype<Array<Int?>>(c2)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
<!NO_VALUE_FOR_PARAMETER!>@JvmName()<!>
|
||||
@JvmName<!NO_VALUE_FOR_PARAMETER!>()<!>
|
||||
fun foo() {}
|
||||
|
||||
@JvmName(<!ARGUMENT_TYPE_MISMATCH!>42<!>)
|
||||
|
||||
Reference in New Issue
Block a user