Create class descriptors for local classes in illegal positions

Typecheck code in illegal selector position
Fixes exceptions on "val p = A.class" erroneous code
This commit is contained in:
Pavel V. Talanov
2015-12-28 16:49:46 +03:00
parent 06e829936e
commit 1c4d4f3e36
18 changed files with 127 additions and 9 deletions
@@ -0,0 +1,5 @@
class A
fun f() {
A.class<EOLError descr="Name expected"></EOLError>
}
@@ -0,0 +1,9 @@
class A
fun f() {
A.<error>class B {
fun f() {
f()
}
}</error>
}
@@ -0,0 +1,5 @@
val p = 1 < <error>class A {
fun f() {
f()
}
}</error>
@@ -0,0 +1 @@
fun g() = 1 < <error>class A</error>
@@ -0,0 +1,7 @@
fun f(<warning>i</warning>: Int = 3 < <error>class A {
fun f() {
f()
}
}</error>) {
}
@@ -0,0 +1,7 @@
class A
fun f() {
A.<error>fun <error>g</error>() {
<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: g">g</error>()
}</error>
}