[FIR] Additional errors to distinguish resolution to classifier cases
When a call is resolved to a classifier, only a single error message was being used for multiple cases. This lead to confusion as the default message may not be applicable to a given error case. Added additional errors and messages to distinguish between these error cases. #KT-57251 Fixed
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
class Outer1 {
|
||||
class Nested
|
||||
|
||||
class C1 { val b = Nested() }
|
||||
class C2(val b: Any = Nested())
|
||||
inner class C3 { val b = Nested() }
|
||||
inner class C4(val b: Any = Nested())
|
||||
|
||||
inner class Inner
|
||||
|
||||
class C5 { val b = <!INNER_CLASS_CONSTRUCTOR_NO_RECEIVER!>Inner<!>() }
|
||||
class C6(val b: Any = <!INNER_CLASS_CONSTRUCTOR_NO_RECEIVER!>Inner<!>())
|
||||
inner class C7 { val b = Inner() }
|
||||
inner class C8(val b: Any = Inner())
|
||||
}
|
||||
|
||||
|
||||
class Outer2 {
|
||||
class Nested {
|
||||
fun foo() = Outer2()
|
||||
fun bar() = <!INNER_CLASS_CONSTRUCTOR_NO_RECEIVER!>Inner<!>()
|
||||
}
|
||||
inner class Inner {
|
||||
fun foo() = Outer2()
|
||||
fun bar() = Nested()
|
||||
}
|
||||
|
||||
fun foo() {
|
||||
Nested()
|
||||
Inner()
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
// FIR_IDENTICAL
|
||||
class Outer1 {
|
||||
class Nested
|
||||
|
||||
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// SKIP_TXT
|
||||
// FILE: Outer.kt
|
||||
package abc
|
||||
class Outer {
|
||||
inner class Inner() {
|
||||
constructor(x: Int) : this() {}
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
fun baz() {
|
||||
<!INNER_CLASS_CONSTRUCTOR_NO_RECEIVER!>Inner<!>()
|
||||
<!INNER_CLASS_CONSTRUCTOR_NO_RECEIVER!>Inner<!>(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun foo() {
|
||||
Outer.<!INNER_CLASS_CONSTRUCTOR_NO_RECEIVER!>Inner<!>()
|
||||
Outer.<!INNER_CLASS_CONSTRUCTOR_NO_RECEIVER!>Inner<!>(1)
|
||||
}
|
||||
|
||||
// FILE: imported.kt
|
||||
import abc.Outer
|
||||
import abc.Outer.Inner
|
||||
|
||||
fun bar() {
|
||||
<!INNER_CLASS_CONSTRUCTOR_NO_RECEIVER!>Inner<!>()
|
||||
<!INNER_CLASS_CONSTRUCTOR_NO_RECEIVER!>Inner<!>(1)
|
||||
|
||||
with(Outer()) {
|
||||
Inner()
|
||||
Inner(1)
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// SKIP_TXT
|
||||
// FILE: Outer.kt
|
||||
|
||||
@@ -10,7 +10,7 @@ class Test {
|
||||
}
|
||||
|
||||
fun more(): InnerClass {
|
||||
val b = <!RESOLUTION_TO_CLASSIFIER!>InnerClass<!>()
|
||||
val b = <!INNER_CLASS_CONSTRUCTOR_NO_RECEIVER!>InnerClass<!>()
|
||||
|
||||
val testVal = <!UNRESOLVED_REFERENCE!>inClass<!>
|
||||
<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
|
||||
@@ -10,7 +10,7 @@ class Test {
|
||||
}
|
||||
|
||||
fun more(): InnerClass {
|
||||
val b = <!RESOLUTION_TO_CLASSIFIER!>InnerClass<!>()
|
||||
val b = <!INNER_CLASS_CONSTRUCTOR_NO_RECEIVER!>InnerClass<!>()
|
||||
|
||||
val testVal = <!UNRESOLVED_REFERENCE!>inClass<!>
|
||||
<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class Outer {
|
||||
class Nested {
|
||||
class NestedNested
|
||||
}
|
||||
|
||||
inner class Inner {
|
||||
inner class InnerInner
|
||||
}
|
||||
}
|
||||
|
||||
fun f1() = Outer()
|
||||
fun f2() = Outer.Nested()
|
||||
fun f3() = Outer.Nested.NestedNested()
|
||||
fun f4() = Outer.<!INNER_CLASS_CONSTRUCTOR_NO_RECEIVER!>Inner<!>()
|
||||
fun f5() = Outer.Inner.<!INNER_CLASS_CONSTRUCTOR_NO_RECEIVER!>InnerInner<!>()
|
||||
fun f6() = Outer().Inner()
|
||||
fun f7() = Outer().Inner().InnerInner()
|
||||
-1
@@ -1,4 +1,3 @@
|
||||
// FIR_IDENTICAL
|
||||
class Outer {
|
||||
class Nested {
|
||||
class NestedNested
|
||||
|
||||
Reference in New Issue
Block a user