FIR: implement diagnostics for qualifier as stand-alone expression case
This commit is contained in:
@@ -2,25 +2,25 @@ package foo
|
||||
|
||||
class X {}
|
||||
|
||||
val s = java
|
||||
val ss = System
|
||||
val sss = X
|
||||
val x = "${System}"
|
||||
val xs = java.lang
|
||||
val xss = java.lang.System
|
||||
val xsss = foo.X
|
||||
val xssss = foo
|
||||
val f = { System }
|
||||
val s = <!EXPRESSION_EXPECTED_PACKAGE_FOUND!>java<!>
|
||||
val ss = <!NO_COMPANION_OBJECT!>System<!>
|
||||
val sss = <!NO_COMPANION_OBJECT!>X<!>
|
||||
val x = "${<!NO_COMPANION_OBJECT!>System<!>}"
|
||||
val xs = java.<!EXPRESSION_EXPECTED_PACKAGE_FOUND!>lang<!>
|
||||
val xss = java.lang.<!NO_COMPANION_OBJECT!>System<!>
|
||||
val xsss = foo.<!NO_COMPANION_OBJECT!>X<!>
|
||||
val xssss = <!EXPRESSION_EXPECTED_PACKAGE_FOUND!>foo<!>
|
||||
val f = { <!NO_COMPANION_OBJECT!>System<!> }
|
||||
|
||||
fun main() {
|
||||
java = null
|
||||
System = null
|
||||
System!!
|
||||
java.lang.System = null
|
||||
java.lang.System!!
|
||||
System is Int
|
||||
<!EXPRESSION_EXPECTED_PACKAGE_FOUND!>java<!> = null
|
||||
<!NO_COMPANION_OBJECT!>System<!> = null
|
||||
<!NO_COMPANION_OBJECT!>System<!>!!
|
||||
java.lang.<!NO_COMPANION_OBJECT!>System<!> = null
|
||||
java.lang.<!NO_COMPANION_OBJECT!>System<!>!!
|
||||
<!NO_COMPANION_OBJECT!>System<!> is Int
|
||||
<!INVISIBLE_REFERENCE!>System<!>()
|
||||
(System)
|
||||
foo@ System
|
||||
(<!NO_COMPANION_OBJECT!>System<!>)
|
||||
foo@ <!NO_COMPANION_OBJECT!>System<!>
|
||||
null <!UNRESOLVED_REFERENCE!>in<!> System
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ fun test(l : java.util.List<Int>) {
|
||||
checkSubtype<Set<Int>?>(Collections.singleton<Int>(1))
|
||||
Collections.singleton<Int>(<!ARGUMENT_TYPE_MISMATCH!>1.0<!>)
|
||||
|
||||
List<Int>
|
||||
<!NO_COMPANION_OBJECT!>List<!><Int>
|
||||
|
||||
|
||||
val o = "sdf" as Object
|
||||
|
||||
@@ -10,7 +10,7 @@ val s: String = "test"
|
||||
|
||||
// FILE: test.kt
|
||||
fun ff() {
|
||||
val a = Test<!UNEXPECTED_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>FOO<!>
|
||||
val b = foo<!UNEXPECTED_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>s<!>
|
||||
System<!UNEXPECTED_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>out<!>.println(a + b)
|
||||
val a = <!NO_COMPANION_OBJECT!>Test<!><!UNEXPECTED_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>FOO<!>
|
||||
val b = <!EXPRESSION_EXPECTED_PACKAGE_FOUND!>foo<!><!UNEXPECTED_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>s<!>
|
||||
<!NO_COMPANION_OBJECT!>System<!><!UNEXPECTED_SAFE_CALL!>?.<!><!UNRESOLVED_REFERENCE!>out<!>.println(a + b)
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ val a = A.x
|
||||
val c = B.<!UNRESOLVED_REFERENCE!>x<!>
|
||||
val d = b.<!UNRESOLVED_REFERENCE!>x<!>
|
||||
|
||||
val s = System // error
|
||||
val s = <!NO_COMPANION_OBJECT!>System<!> // error
|
||||
fun test() {
|
||||
System.out.println()
|
||||
java.lang.System.out.println()
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ fun f() {
|
||||
A().Inner()
|
||||
A.Companion.<!UNRESOLVED_REFERENCE!>Nested<!>
|
||||
A.Companion.<!UNRESOLVED_REFERENCE!>Inner<!>
|
||||
A.Inner
|
||||
A.<!NO_COMPANION_OBJECT!>Inner<!>
|
||||
A.Companion.c
|
||||
A.Companion.Obj2
|
||||
A.Companion.Obj2.c
|
||||
|
||||
@@ -1 +1 @@
|
||||
val a: String = <!INITIALIZER_TYPE_MISMATCH!>Nothing<!>
|
||||
val a: String = <!INITIALIZER_TYPE_MISMATCH, NO_COMPANION_OBJECT!>Nothing<!>
|
||||
|
||||
@@ -16,8 +16,8 @@ class E private constructor() {
|
||||
}
|
||||
}
|
||||
|
||||
val a = A
|
||||
val a = <!NO_COMPANION_OBJECT!>A<!>
|
||||
val <!EXPOSED_PROPERTY_TYPE!>b<!> = B
|
||||
val c = C
|
||||
val c = <!NO_COMPANION_OBJECT!>C<!>
|
||||
val d = D
|
||||
val e = E(42)
|
||||
|
||||
+2
-2
@@ -7,10 +7,10 @@ class C
|
||||
|
||||
fun test() {
|
||||
val interface_as_fun = <!UNRESOLVED_REFERENCE!>A<!>()
|
||||
val interface_as_val = A
|
||||
val interface_as_val = <!NO_COMPANION_OBJECT!>A<!>
|
||||
|
||||
val object_as_fun = <!INVISIBLE_REFERENCE!>B<!>()
|
||||
val class_as_val = C
|
||||
val class_as_val = <!NO_COMPANION_OBJECT!>C<!>
|
||||
}
|
||||
|
||||
fun <T> bar() {
|
||||
|
||||
Vendored
+4
-4
@@ -9,10 +9,10 @@ object X {
|
||||
|
||||
fun testX() {
|
||||
val interface_as_fun = X.<!UNRESOLVED_REFERENCE!>A<!>()
|
||||
val interface_as_val = X.A
|
||||
val interface_as_val = X.<!NO_COMPANION_OBJECT!>A<!>
|
||||
|
||||
val object_as_fun = X.<!INVISIBLE_REFERENCE!>B<!>()
|
||||
val class_as_val = X.C
|
||||
val class_as_val = X.<!NO_COMPANION_OBJECT!>C<!>
|
||||
}
|
||||
|
||||
class Y {
|
||||
@@ -24,10 +24,10 @@ class Y {
|
||||
|
||||
fun testY() {
|
||||
val interface_as_fun = Y.<!UNRESOLVED_REFERENCE!>A<!>()
|
||||
val interface_as_val = Y.A
|
||||
val interface_as_val = Y.<!NO_COMPANION_OBJECT!>A<!>
|
||||
|
||||
val object_as_fun = Y.<!INVISIBLE_REFERENCE!>B<!>()
|
||||
val class_as_val = Y.C
|
||||
val class_as_val = Y.<!NO_COMPANION_OBJECT!>C<!>
|
||||
}
|
||||
|
||||
fun test(x: X) {
|
||||
|
||||
@@ -9,7 +9,7 @@ val Int.foo: Int get() = 4
|
||||
fun Int.extFun() = 4
|
||||
|
||||
fun String.test() {
|
||||
some
|
||||
<!EXPRESSION_EXPECTED_PACKAGE_FOUND!>some<!>
|
||||
some.A()
|
||||
"".<!INAPPLICABLE_CANDIDATE!>some<!>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ sealed class Tree {
|
||||
|
||||
fun maxIsClass(): Int = <!NO_ELSE_IN_WHEN!>when<!>(this) {
|
||||
Empty -> -1
|
||||
Leaf -> 0
|
||||
<!NO_COMPANION_OBJECT!>Leaf<!> -> 0
|
||||
is Node -> this.left.max()
|
||||
}
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@ private class C {
|
||||
private typealias TA = C
|
||||
|
||||
private val test1: C = <!INVISIBLE_REFERENCE!>C<!>()
|
||||
private val test1co: C.Companion = <!INITIALIZER_TYPE_MISMATCH!>C<!>
|
||||
private val test1co: C.Companion = <!INITIALIZER_TYPE_MISMATCH, NO_COMPANION_OBJECT!>C<!>
|
||||
|
||||
private val test2: TA = <!INITIALIZER_TYPE_MISMATCH!>TA(<!NO_VALUE_FOR_PARAMETER!>)<!><!>
|
||||
private val test2co = TA
|
||||
|
||||
// FILE: file2.kt
|
||||
private val test1: C = C()
|
||||
private val test1co: C.Companion = <!INITIALIZER_TYPE_MISMATCH!>C<!>
|
||||
private val test1co: C.Companion = <!INITIALIZER_TYPE_MISMATCH, NO_COMPANION_OBJECT!>C<!>
|
||||
|
||||
private val test2: TA = <!INITIALIZER_TYPE_MISMATCH!>TA(<!NO_VALUE_FOR_PARAMETER!>)<!><!>
|
||||
private val test2co = TA
|
||||
|
||||
Reference in New Issue
Block a user