230 lines
3.6 KiB
Kotlin
Vendored
230 lines
3.6 KiB
Kotlin
Vendored
val a = "a"
|
|
|
|
fun f1() {}
|
|
|
|
fun f2() {
|
|
println(a)
|
|
f1()
|
|
A().b
|
|
}
|
|
|
|
class A {
|
|
val unused = ""
|
|
val a = ""
|
|
internal val b = ""
|
|
protected val c = ""
|
|
private val d = ""
|
|
|
|
fun unused() {}
|
|
fun f1() {}
|
|
internal fun f2() {}
|
|
protected fun f3() {}
|
|
private fun f4() {}
|
|
|
|
fun bar() {
|
|
println(a)
|
|
println(b)
|
|
println(c)
|
|
println(d)
|
|
f1()
|
|
f2()
|
|
f3()
|
|
f4()
|
|
}
|
|
}
|
|
|
|
interface I {
|
|
val x: String
|
|
fun foo()
|
|
}
|
|
|
|
class B : I {
|
|
override val x: String
|
|
get() = ""
|
|
|
|
override fun foo() {
|
|
}
|
|
|
|
fun bar() {
|
|
println(x)
|
|
foo()
|
|
}
|
|
}
|
|
|
|
interface I2 {
|
|
val x: String
|
|
fun foo()
|
|
fun bar() {
|
|
println(x)
|
|
foo()
|
|
}
|
|
}
|
|
|
|
open class C {
|
|
open val x = ""
|
|
protected val y = ""
|
|
|
|
open fun f1() {}
|
|
protected fun f2() {}
|
|
|
|
fun bar() {
|
|
println(x)
|
|
println(y)
|
|
f1()
|
|
f2()
|
|
}
|
|
}
|
|
|
|
class D(val a: String = "",
|
|
var b: String = "",
|
|
internal val c: String = "",
|
|
protected val d: String = "",
|
|
private val e: String = "") {
|
|
fun foo() {
|
|
println(a)
|
|
println(b)
|
|
println(c)
|
|
println(d)
|
|
println(e)
|
|
}
|
|
}
|
|
|
|
open class E(override val x: String = "",
|
|
open val a: String = "") : I {
|
|
override fun foo() {}
|
|
fun foo() {
|
|
println(x)
|
|
println(a)
|
|
}
|
|
|
|
fun bar() {
|
|
var v1 = ""
|
|
val v2 = ""
|
|
println(v1)
|
|
println(v2)
|
|
}
|
|
}
|
|
|
|
val x = object {
|
|
val a: String = "",
|
|
internal val b: String = "",
|
|
protected val c: String = "",
|
|
private val d: String = ""
|
|
|
|
fun f1() {}
|
|
internal fun f2() {}
|
|
protected fun f3() {}
|
|
private fun f4() {}
|
|
|
|
fun foo() {
|
|
println(a)
|
|
println(b)
|
|
println(c)
|
|
println(d)
|
|
f1()
|
|
f2()
|
|
f3()
|
|
f4()
|
|
}
|
|
}
|
|
|
|
class F(val bar: Int) {
|
|
inline fun baz() = bar
|
|
}
|
|
|
|
class G(val bar: Int) {
|
|
private inline fun baz() = bar
|
|
}
|
|
|
|
private class H(val a: String = "",
|
|
var b: String = "",
|
|
internal val c: String = "",
|
|
protected val d: String = "",
|
|
private val e: String = "") {
|
|
|
|
var f: String = ""
|
|
fun g(): String = ""
|
|
|
|
fun foo() {
|
|
println(a)
|
|
println(b)
|
|
println(c)
|
|
println(d)
|
|
println(e)
|
|
println(f)
|
|
println(g())
|
|
}
|
|
}
|
|
|
|
private class I {
|
|
class NestedCls(val a: String) {
|
|
var b: String = ""
|
|
fun c(): String = ""
|
|
fun foo() {
|
|
println(a)
|
|
println(b)
|
|
println(c())
|
|
}
|
|
}
|
|
object NestedObj {
|
|
var b: String = ""
|
|
fun c(): String = ""
|
|
fun foo() {
|
|
println(b)
|
|
println(c())
|
|
}
|
|
}
|
|
}
|
|
|
|
class J {
|
|
class NestedCls(val a: String) {
|
|
var b: String = ""
|
|
fun c(): String = ""
|
|
fun foo() {
|
|
println(a)
|
|
println(b)
|
|
println(c())
|
|
}
|
|
}
|
|
object NestedObj {
|
|
var b: String = ""
|
|
fun c(): String = ""
|
|
fun foo() {
|
|
println(b)
|
|
println(c())
|
|
}
|
|
}
|
|
}
|
|
|
|
fun withLocal(): Int {
|
|
class Local(val x: Int) {
|
|
val y = x
|
|
fun res() = x + y
|
|
}
|
|
|
|
val local = Local(42)
|
|
return local.res()
|
|
}
|
|
|
|
class Math {
|
|
@test.anno.EntryPoint fun fact(n: Int) = if (n < 2) 1 else n * fact(n - 1)
|
|
}
|
|
|
|
expect class Expect {
|
|
fun foo()
|
|
val bar: Int
|
|
}
|
|
|
|
actual class Actual {
|
|
actual fun foo() {}
|
|
actual val bar = 42
|
|
}
|
|
|
|
annotation class Ann
|
|
|
|
@Ann
|
|
val annotated = 3.14
|
|
|
|
@Ann
|
|
fun annotatedFun() {}
|