Add diagnostic on calling inner classes constructors without receiver

Otherwise there will be just an unresolved reference that doesn't give
any useful information

 #KT-8959 Fixed
This commit is contained in:
Denis Zharkov
2017-02-28 15:28:20 +03:00
parent 1e0ae04aba
commit a7fc32c8da
17 changed files with 133 additions and 37 deletions
@@ -33,10 +33,10 @@ class E: A() {
object Z {
init {
<!UNRESOLVED_REFERENCE!>B<!>().<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>()
<!UNRESOLVED_REFERENCE!>B<!>().<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>bar<!>()
<!RESOLUTION_TO_CLASSIFIER!>B<!>().<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>()
<!RESOLUTION_TO_CLASSIFIER!>B<!>().<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>bar<!>()
<!UNRESOLVED_REFERENCE!>D<!>()
<!RESOLUTION_TO_CLASSIFIER!>D<!>()
C()
}
}
@@ -58,7 +58,7 @@ class F: A() {
companion object {
init {
B().fas()
<!UNRESOLVED_REFERENCE!>D<!>().<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>f<!>()
<!RESOLUTION_TO_CLASSIFIER!>D<!>().<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>f<!>()
}
}
}
}
@@ -46,7 +46,7 @@ class Y: B() {
init {
B_()
B.<!UNRESOLVED_REFERENCE!>B_<!>()
B.<!RESOLUTION_TO_CLASSIFIER!>B_<!>()
Y.<!UNRESOLVED_REFERENCE!>B_<!>()
B_S()
@@ -59,7 +59,7 @@ class Y: B() {
val b_s: B_S = null!!
init {
<!UNRESOLVED_REFERENCE!>B_<!>()
<!RESOLUTION_TO_CLASSIFIER!>B_<!>()
B_S()
}
}
@@ -83,8 +83,8 @@ class Z: C() {
init {
<!UNRESOLVED_REFERENCE!>A_S<!>()
<!UNRESOLVED_REFERENCE!>B_<!>()
<!RESOLUTION_TO_CLASSIFIER!>B_<!>()
B_S()
}
}
}
}
@@ -36,7 +36,7 @@ public class F extends D {
class X: D() {
init {
B_()
B.<!UNRESOLVED_REFERENCE!>B_<!>()
B.<!RESOLUTION_TO_CLASSIFIER!>B_<!>()
C.<!UNRESOLVED_REFERENCE!>B_<!>()
D.<!UNRESOLVED_REFERENCE!>B_<!>()
X.<!UNRESOLVED_REFERENCE!>B_<!>()
@@ -79,4 +79,4 @@ class Y: F() {
F.<!UNRESOLVED_REFERENCE!>E_S<!>()
Y.<!UNRESOLVED_REFERENCE!>E_S<!>()
}
}
}