Skip to content

Commit 99ced62

Browse files
committed
Fixed CCE in lockedCached and test dependencies
1 parent 90a58d3 commit 99ced62

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ dependencies {
113113
bundledPlugin("org.jetbrains.plugins.yaml")
114114

115115
testFramework(TestFrameworkType.JUnit5)
116+
testFramework(TestFrameworkType.Platform)
116117
testFramework(TestFrameworkType.Plugin.Java)
117118

118119
pluginVerifier()

src/main/kotlin/util/psi-utils.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ import com.intellij.psi.filters.ElementFilter
6666
import com.intellij.psi.util.CachedValue
6767
import com.intellij.psi.util.CachedValueProvider
6868
import com.intellij.psi.util.CachedValuesManager
69+
import com.intellij.psi.util.ParameterizedCachedValue
6970
import com.intellij.psi.util.PsiTreeUtil
7071
import com.intellij.psi.util.PsiTypesUtil
7172
import com.intellij.psi.util.TypeConversionUtil
@@ -262,9 +263,10 @@ inline fun <T> PsiElement.lockedCached(
262263
val cacheLock = cacheLocks.computeIfAbsent(key) { ReentrantReadWriteLock() }
263264

264265
cacheLock.read {
265-
val value = getUserData(key)?.upToDateOrNull
266-
if (value != null) {
267-
return value.get()
266+
// The cast seems necessary since 2025.1, ParameterizedCachedValue doesn't extend CachedValue anymore...
267+
@Suppress("UNCHECKED_CAST") val value = getUserData(key as Key<ParameterizedCachedValue<T, Any>>)
268+
if (value?.hasUpToDateValue() == true) {
269+
return value.getValue(dependencies)
268270
}
269271
}
270272

0 commit comments

Comments
 (0)