diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesCache.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesCache.kt index a562fc60068..6c2c5a75b08 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesCache.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesCache.kt @@ -163,11 +163,9 @@ private class ClearableLazyValue( private val compute: () -> T ) : ReadOnlyProperty { override fun getValue(thisRef: R, property: KProperty<*>): T { - lock.read { + lock.write { if (value == null) { - lock.write { - value = compute() - } + value = compute() } return value!! }