Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/localObject.txt
T
2020-06-16 00:01:06 +03:00

85 lines
2.9 KiB
Plaintext
Vendored

FILE: localObject.kt
public final fun <T> run(block: R|() -> T|): R|T| {
^run R|<local>/block|.R|FakeOverride<kotlin/Function0.invoke: R|T|>|()
}
public abstract interface Foo : R|kotlin/Any| {
public abstract fun foo(): R|kotlin/Int|
}
public final fun tesLambda(x: R|kotlin/Int|): R|kotlin/Int| {
^tesLambda R|/run|<R|kotlin/Int|>(<L> = run@fun <anonymous>(): R|kotlin/Int| {
lval obj: R|<anonymous>| = object : R|Foo| {
private[local] constructor(): R|<anonymous>| {
super<R|kotlin/Any|>()
}
public[local] final override fun foo(): R|kotlin/Int| {
^foo R|<local>/x|.R|kotlin/Int.plus|(Int(1))
}
}
^ Int(2)
}
)
}
public final class TestProperty : R|kotlin/Any| {
public constructor(): R|TestProperty| {
super<R|kotlin/Any|>()
}
public final val intConst: R|kotlin/Int| = Int(1)
public get(): R|kotlin/Int|
public final var x: R|kotlin/Int| = Int(1)
public get(): R|kotlin/Int|
public set(value: R|kotlin/Int|): R|kotlin/Unit| {
lval obj: R|<anonymous>| = object : R|Foo| {
private[local] constructor(): R|<anonymous>| {
super<R|kotlin/Any|>()
}
public[local] final override fun foo(): R|kotlin/Int| {
^foo this@R|/TestProperty|.R|/TestProperty.intConst|.R|kotlin/Int.plus|(Int(1))
}
}
this@R|/TestProperty|.F|/TestProperty.x| = R|<local>/value|
}
public final val y: R|kotlin/Int|
public get(): R|kotlin/Int| {
lval obj: R|<anonymous>| = object : R|Foo| {
private[local] constructor(): R|<anonymous>| {
super<R|kotlin/Any|>()
}
public[local] final override fun foo(): R|kotlin/Int| {
^foo this@R|/TestProperty|.R|/TestProperty.intConst|.R|kotlin/Int.plus|(Int(1))
}
}
^ Int(1)
}
public final val z: R|kotlin/Int| = this@R|/TestProperty|.R|kotlin/run|<R|TestProperty|, R|kotlin/Int|>(<L> = run@fun R|TestProperty|.<anonymous>(): R|kotlin/Int| <kind=EXACTLY_ONCE> {
lval obj: R|<anonymous>| = object : R|Foo| {
private[local] constructor(): R|<anonymous>| {
super<R|kotlin/Any|>()
}
public[local] final override fun foo(): R|kotlin/Int| {
^foo this@R|special/anonymous|.R|/TestProperty.x|.R|kotlin/Int.plus|(Int(1))
}
}
^ Int(2)
}
)
public get(): R|kotlin/Int|
}