d869ae7826
Run different phases through common transformers sequentially It should make code more reusable and may help with avoid common bugs
76 lines
2.7 KiB
Plaintext
Vendored
76 lines
2.7 KiB
Plaintext
Vendored
FILE: implicitInLocalClasses.kt
|
|
public final fun useBoolean(b: R|kotlin/Boolean|): R|kotlin/Unit| {
|
|
}
|
|
public final fun main(): R|kotlin/Unit| {
|
|
local final class A : R|kotlin/Any| {
|
|
public[local] constructor(): R|A| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public[local] final fun foo(x: R|kotlin/Int|): R|kotlin/Boolean| {
|
|
^foo this@R|/A|.R|/A.bar|(R|<local>/x|)
|
|
}
|
|
|
|
public[local] final fun bar(y: R|kotlin/Int|): R|kotlin/Boolean| {
|
|
^bar CMP(>, this@R|/A|.R|kotlin/Any.hashCode|().R|kotlin/Int.plus|(R|<local>/y|).R|kotlin/Int.compareTo|(Int(0)))
|
|
}
|
|
|
|
public[local] final val w: R|kotlin/Boolean|
|
|
public get(): R|kotlin/Boolean| {
|
|
^ this@R|/A|.R|/A.z|
|
|
}
|
|
|
|
public[local] final val z: R|kotlin/Boolean|
|
|
public get(): R|kotlin/Boolean| {
|
|
^ ==(this@R|/A|.R|kotlin/Any.hashCode|(), Int(0))
|
|
}
|
|
|
|
}
|
|
|
|
lval a: R|A| = R|/A.A|()
|
|
R|/useBoolean|(R|<local>/a|.R|/A.foo|(Int(1)))
|
|
R|/useBoolean|(R|<local>/a|.R|/A.bar|(Int(1)))
|
|
R|/useBoolean|(R|<local>/a|.R|/A.w|)
|
|
R|/useBoolean|(R|<local>/a|.R|/A.z|)
|
|
local final class B : R|kotlin/Any| {
|
|
public[local] constructor(): R|B| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public[local] final fun foo(x: R|kotlin/Int|): R|kotlin/Boolean| {
|
|
^foo this@R|/B|.R|/B.inner|.R|/B.Inner.w|
|
|
}
|
|
|
|
public[local] final fun bar(y: R|kotlin/Int|): R|kotlin/Boolean| {
|
|
^bar CMP(>, this@R|/B|.R|kotlin/Any.hashCode|().R|kotlin/Int.plus|(R|<local>/y|).R|kotlin/Int.compareTo|(Int(0)))
|
|
}
|
|
|
|
public[local] final val inner: R|B.Inner| = this@R|/B|.R|/B.Inner.Inner|()
|
|
public get(): R|B.Inner|
|
|
|
|
local final inner class Inner : R|kotlin/Any| {
|
|
public[local] constructor(): R|B.Inner| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public[local] final val w: R|kotlin/Boolean|
|
|
public get(): R|kotlin/Boolean| {
|
|
^ this@R|/B.Inner|.R|/B.Inner.z|
|
|
}
|
|
|
|
public[local] final val z: R|kotlin/Boolean|
|
|
public get(): R|kotlin/Boolean| {
|
|
^ this@R|/B|.R|/B.bar|(Int(1))
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
lval b: R|B| = R|/B.B|()
|
|
R|/useBoolean|(R|<local>/b|.R|/B.foo|(Int(1)))
|
|
R|/useBoolean|(R|<local>/b|.R|/B.bar|(Int(1)))
|
|
R|/useBoolean|(R|<local>/b|.R|/B.inner|.R|/B.Inner.w|)
|
|
R|/useBoolean|(R|<local>/b|.R|/B.inner|.R|/B.Inner.z|)
|
|
}
|