154 lines
2.5 KiB
Kotlin
Vendored
154 lines
2.5 KiB
Kotlin
Vendored
class NonUsed(val x: Int) // NO
|
|
// NO
|
|
data class UsedInData(val x: Int)
|
|
// YES
|
|
class UsedInProperty(val x: Int) {
|
|
val y = x
|
|
}
|
|
// YES
|
|
class UsedInInitializer(val x: Int) {
|
|
val y: Int
|
|
init {
|
|
y = x
|
|
}
|
|
}
|
|
// NO!
|
|
class UsedInConstructor(val x: Int) {
|
|
fun foo(arg: Int) = arg
|
|
|
|
constructor(): this(42) {
|
|
foo(x)
|
|
}
|
|
}
|
|
// NO
|
|
class UsedInFunction(val x: Int) {
|
|
fun get() = x
|
|
}
|
|
// NO
|
|
class UsedInGetter(val x: Int) {
|
|
val y: Int
|
|
get() = x
|
|
}
|
|
// NO
|
|
class UsedInSetter(val x: Int) {
|
|
var y: Int = 0
|
|
get() = field
|
|
set(arg) { field = x + arg }
|
|
}
|
|
// NO
|
|
class UsedInInnerClass(val x: Int) {
|
|
inner class Inner {
|
|
fun foo() = x
|
|
}
|
|
}
|
|
// NO
|
|
class UsedOutside(val x: Int)
|
|
|
|
fun use(): Int {
|
|
val used = UsedOutside(30)
|
|
return used.x
|
|
}
|
|
// YES
|
|
class PrivateUsedInProperty(private val x: Int) {
|
|
val y = x
|
|
}
|
|
// NO
|
|
open class Base(protected open val x: Int)
|
|
// NO
|
|
class UsedOverridden(override val x: Int) : Base(x) {
|
|
val y = x
|
|
}
|
|
// YES
|
|
class UsedInPropertyVar(var x: Int) {
|
|
var y = x
|
|
}
|
|
// NO
|
|
class UsedInPropertyAnnotated(@JvmField val x: Int) {
|
|
val y = x
|
|
}
|
|
// YES
|
|
class UsedWithoutThisInInitProperty(val x: Int) {
|
|
init {
|
|
val y = x
|
|
}
|
|
}
|
|
// NO
|
|
class UsedWithThisInInitProperty(val x: Int) {
|
|
init {
|
|
val y = this.x
|
|
}
|
|
}
|
|
// NO
|
|
class UsedWithLabeledThisInInitProperty(val x: Int) {
|
|
init {
|
|
run {
|
|
val y = this@UsedWithLabeledThisInInitProperty.x
|
|
}
|
|
}
|
|
}
|
|
// NO
|
|
class UsedInFunctionProperty(val x: Int) {
|
|
fun get(): Int {
|
|
val y = x
|
|
return y
|
|
}
|
|
}
|
|
// NO
|
|
class ModifiedInInit(var x: Int) {
|
|
init {
|
|
x += 2
|
|
}
|
|
}
|
|
// NO
|
|
open class UsedInOverride(open val x: Int)
|
|
|
|
class UserInOverride(override val x: Int) : UsedInOverride(x)
|
|
// NO
|
|
class UsedInLambda(val x: Int) {
|
|
init {
|
|
run {
|
|
val y = x
|
|
}
|
|
}
|
|
}
|
|
// NO
|
|
class UsedInDelegate(val x: Int) {
|
|
val y: Int by lazy {
|
|
x * x
|
|
}
|
|
}
|
|
// NO
|
|
class UsedInParent(val x: UsedInParent?) {
|
|
val y = x?.x
|
|
}
|
|
// NO
|
|
class UsedInObjectLiteral(val x: Int) {
|
|
val y = object: Any() {
|
|
fun bar() = x
|
|
}
|
|
}
|
|
// NO
|
|
class UsedInLocalFunction(val x: Int) {
|
|
init {
|
|
fun local() {
|
|
val y = x
|
|
}
|
|
local()
|
|
}
|
|
}
|
|
// YES
|
|
open class Base1(s: String)
|
|
class UsedInSuper(val bar123: String) : Base1(bar123)
|
|
// NO
|
|
class UsedInLocalSuper(val bar456: String) {
|
|
fun foo() {
|
|
class Local : Base1(bar456)
|
|
}
|
|
}
|
|
// NO
|
|
class UsedInObjectSuper(val bar456: String) {
|
|
fun foo() {
|
|
object : Base1(bar456) {}
|
|
}
|
|
}
|