a44d5bf52f
* INAPPLICABLE_THREAD_LOCAL * INAPPLICABLE_THREAD_LOCAL_TOP_LEVEL
72 lines
1.5 KiB
Kotlin
Vendored
72 lines
1.5 KiB
Kotlin
Vendored
// FIR_IDENTICAL
|
|
// FILE: annotation.kt
|
|
package kotlin.native.concurrent
|
|
|
|
@Target(AnnotationTarget.PROPERTY, AnnotationTarget.CLASS)
|
|
@Retention(AnnotationRetention.BINARY)
|
|
annotation class ThreadLocal
|
|
|
|
// FILE: test.kt
|
|
import kotlin.native.concurrent.ThreadLocal
|
|
import kotlin.reflect.KProperty
|
|
|
|
data class Point(val x: Double, val y: Double)
|
|
|
|
class Person(val name: String) {
|
|
<!INAPPLICABLE_THREAD_LOCAL_TOP_LEVEL!>@ThreadLocal<!>
|
|
var surname: String? = null
|
|
}
|
|
|
|
abstract class Information {
|
|
abstract var field: String
|
|
}
|
|
|
|
<!INAPPLICABLE_THREAD_LOCAL!>@ThreadLocal<!>
|
|
class Person1(val name: String) {
|
|
var surname: String? = null
|
|
<!INAPPLICABLE_THREAD_LOCAL_TOP_LEVEL!>@ThreadLocal<!>
|
|
val extraInfo: Information = object : Information() {
|
|
override var field: String = "extra info"
|
|
}
|
|
}
|
|
|
|
@ThreadLocal
|
|
val extraInfo: Information = object : Information() {
|
|
override var field: String = "extra info"
|
|
}
|
|
|
|
@ThreadLocal
|
|
val point1 = Point(1.0, 1.0)
|
|
|
|
<!INAPPLICABLE_THREAD_LOCAL!>@ThreadLocal<!>
|
|
val cornerPoint: Point
|
|
get() = point1
|
|
|
|
@ThreadLocal
|
|
val person = Person1("aaaaa")
|
|
|
|
class Delegate {
|
|
val value: Int = 10
|
|
operator fun getValue(thisRef: Any?, property: KProperty<*>): Int {
|
|
return value
|
|
}
|
|
|
|
operator fun setValue(thisRef: Any?, property: KProperty<*>, value: Int) {
|
|
}
|
|
}
|
|
|
|
@ThreadLocal
|
|
var field1: Int by Delegate()
|
|
|
|
@ThreadLocal
|
|
object WithDelegate {
|
|
var field1: Int by Delegate()
|
|
}
|
|
|
|
class Bar {
|
|
@ThreadLocal
|
|
object SomeObject {
|
|
var field1: Int = 10
|
|
var field2: String? = null
|
|
}
|
|
} |