User: rednesto Date: 15 Jan 25 23:06 Revision: 99ced62350c3ebd1c82d03b6be852947a2add550 Summary: Fixed CCE in lockedCached and test dependencies TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=9811&personal=false Index: build.gradle.kts =================================================================== --- build.gradle.kts (revision 90a58d3e1a544e4e76b42140ec6de713860b1cea) +++ build.gradle.kts (revision 99ced62350c3ebd1c82d03b6be852947a2add550) @@ -113,6 +113,7 @@ bundledPlugin("org.jetbrains.plugins.yaml") testFramework(TestFrameworkType.JUnit5) + testFramework(TestFrameworkType.Platform) testFramework(TestFrameworkType.Plugin.Java) pluginVerifier() Index: src/main/kotlin/util/psi-utils.kt =================================================================== --- src/main/kotlin/util/psi-utils.kt (revision 90a58d3e1a544e4e76b42140ec6de713860b1cea) +++ src/main/kotlin/util/psi-utils.kt (revision 99ced62350c3ebd1c82d03b6be852947a2add550) @@ -66,6 +66,7 @@ import com.intellij.psi.util.CachedValue import com.intellij.psi.util.CachedValueProvider import com.intellij.psi.util.CachedValuesManager +import com.intellij.psi.util.ParameterizedCachedValue import com.intellij.psi.util.PsiTreeUtil import com.intellij.psi.util.PsiTypesUtil import com.intellij.psi.util.TypeConversionUtil @@ -262,9 +263,10 @@ val cacheLock = cacheLocks.computeIfAbsent(key) { ReentrantReadWriteLock() } cacheLock.read { - val value = getUserData(key)?.upToDateOrNull - if (value != null) { - return value.get() + // The cast seems necessary since 2025.1, ParameterizedCachedValue doesn't extend CachedValue anymore... + @Suppress("UNCHECKED_CAST") val value = getUserData(key as Key>) + if (value?.hasUpToDateValue() == true) { + return value.getValue(dependencies) } }