FIR: Introduce CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT diagnostic

This commit is contained in:
Br0mm
2021-02-04 13:44:35 +03:00
committed by Mikhail Glukhikh
parent 6c2eaf2df8
commit dd3bc1a964
16 changed files with 242 additions and 8 deletions
@@ -0,0 +1,100 @@
FILE: constValNotTopLevelOrObject.kt
public final const val a: R|kotlin/Int| = Int(1)
public get(): R|kotlin/Int|
public final object B : R|kotlin/Any| {
private constructor(): R|B| {
super<R|kotlin/Any|>()
}
public final const val b: R|kotlin/Int| = Int(2)
public get(): R|kotlin/Int|
}
public final class C : R|kotlin/Any| {
public constructor(): R|C| {
super<R|kotlin/Any|>()
}
public final const val c: R|kotlin/Int| = Int(3)
public get(): R|kotlin/Int|
}
public final class D : R|kotlin/Any| {
public constructor(): R|D| {
super<R|kotlin/Any|>()
}
public final object E : R|kotlin/Any| {
private constructor(): R|D.E| {
super<R|kotlin/Any|>()
}
public final const val e: R|kotlin/Int| = Int(4)
public get(): R|kotlin/Int|
}
public final companion object K : R|kotlin/Any| {
private constructor(): R|D.K| {
super<R|kotlin/Any|>()
}
public final const val k: R|kotlin/Int| = Int(4)
public get(): R|kotlin/Int|
}
public final val M: R|kotlin/Any| = object : R|kotlin/Any| {
private constructor(): R|<anonymous>| {
super<R|kotlin/Any|>()
}
public final const val m: R|kotlin/Int| = Int(3)
public get(): R|kotlin/Int|
}
public get(): R|kotlin/Any|
public open class O : R|kotlin/Any| {
public constructor(): R|D.O| {
super<R|kotlin/Any|>()
}
public open val y: R|kotlin/Int| = Int(8)
public get(): R|kotlin/Int|
}
public final val t: R|D.O| = object : R|D.O| {
private constructor(): R|<anonymous>| {
super<R|D.O|>()
}
public final const val x: R|kotlin/Int| = Int(15)
public get(): R|kotlin/Int|
}
public get(): R|D.O|
}
public final object F : R|kotlin/Any| {
private constructor(): R|F| {
super<R|kotlin/Any|>()
}
public final class G : R|kotlin/Any| {
public constructor(): R|F.G| {
super<R|kotlin/Any|>()
}
public final const val e: R|kotlin/Int| = Int(4)
public get(): R|kotlin/Int|
}
}
public final fun foo(): R|kotlin/Unit| {
lval a: R|kotlin/String| = String(2)
}