Files
kotlin-fork/compiler/testData/psi/contracts/PropertyAccessorsContracts.kt
T

24 lines
617 B
Kotlin
Vendored

class MyClass {
var myInt: Int = 0
get() contract [returnsNotNull()] = 1
set(value) {
field = value * 10
}
}
class AnotherClass(multiplier: Int) {
var anotherInt: Int = 0
get() contract [returnsNotNull()] = 1
set(value) contract [returns()] {
field = value * multiplier
}
}
class SomeClass(multiplier: Int?) {
var someInt: Int = 0
get() contract [returnsNotNull()] = 1
set(value) contract [returns() implies (value != null)] {
value ?: throw NullArgumentException()
field = value
}
}