[FIR] Add SUSPENSION_POINT_INSIDE_CRITICAL_SECTION
This commit is contained in:
committed by
teamcityserver
parent
e97933a9e5
commit
0ffd6ccb34
-59
@@ -1,59 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER, -USELESS_IS_CHECK
|
||||
// SKIP_TXT
|
||||
import kotlin.concurrent.withLock
|
||||
|
||||
val lock = java.util.concurrent.locks.ReentrantLock()
|
||||
|
||||
fun builder(c: suspend () -> Unit) {}
|
||||
|
||||
suspend fun getLock() = lock
|
||||
|
||||
suspend fun suspensionPoint() {}
|
||||
|
||||
fun test() {
|
||||
builder {
|
||||
synchronized(lock) {
|
||||
suspensionPoint()
|
||||
}
|
||||
|
||||
synchronized(lock) label@{
|
||||
suspensionPoint()
|
||||
}
|
||||
|
||||
synchronized(lock, { suspensionPoint() })
|
||||
|
||||
synchronized(getLock()) {
|
||||
println("")
|
||||
}
|
||||
synchronized(suspend { getLock() } ()) {
|
||||
println("")
|
||||
}
|
||||
synchronized(run { getLock() }) {
|
||||
println("")
|
||||
}
|
||||
lock.withLock {
|
||||
suspensionPoint()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun run() {
|
||||
synchronized(lock) {
|
||||
suspensionPoint()
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun ifWhenAndOtherNonsence() {
|
||||
synchronized(lock) {
|
||||
if (lock == Any()) {
|
||||
when (1) {
|
||||
is Int -> {
|
||||
return@synchronized 1 + returnsInt()
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
} else {}
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun returnsInt(): Int = 0
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER, -USELESS_IS_CHECK
|
||||
// SKIP_TXT
|
||||
import kotlin.concurrent.withLock
|
||||
|
||||
Vendored
-61
@@ -1,61 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER, -USELESS_IS_CHECK
|
||||
// !LANGUAGE: +NewInference
|
||||
// SKIP_TXT
|
||||
|
||||
import kotlin.concurrent.withLock
|
||||
|
||||
val lock = java.util.concurrent.locks.ReentrantLock()
|
||||
|
||||
fun builder(c: suspend () -> Unit) {}
|
||||
|
||||
suspend fun getLock() = lock
|
||||
|
||||
suspend fun suspensionPoint() {}
|
||||
|
||||
fun test() {
|
||||
builder {
|
||||
synchronized(lock) {
|
||||
suspensionPoint()
|
||||
}
|
||||
|
||||
synchronized(lock) label@{
|
||||
suspensionPoint()
|
||||
}
|
||||
|
||||
synchronized(lock, { suspensionPoint() })
|
||||
|
||||
synchronized(getLock()) {
|
||||
println("")
|
||||
}
|
||||
synchronized(suspend { getLock() } ()) {
|
||||
println("")
|
||||
}
|
||||
synchronized(run { getLock() }) {
|
||||
println("")
|
||||
}
|
||||
lock.withLock {
|
||||
suspensionPoint()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun run() {
|
||||
synchronized(lock) {
|
||||
suspensionPoint()
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun ifWhenAndOtherNonsence() {
|
||||
synchronized(lock) {
|
||||
if (lock == Any()) {
|
||||
when (1) {
|
||||
is Int -> {
|
||||
return@synchronized 1 + returnsInt()
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
} else {}
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun returnsInt(): Int = 0
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER, -USELESS_IS_CHECK
|
||||
// !LANGUAGE: +NewInference
|
||||
// SKIP_TXT
|
||||
|
||||
Reference in New Issue
Block a user