From e4668e8818a40d5c77ded9568365d0f8a2f1154d Mon Sep 17 00:00:00 2001 From: Vladimir Dolzhenko Date: Mon, 4 Sep 2023 09:23:14 +0200 Subject: [PATCH] [kotlin] Filter out parent's slices #KTIJ-26856 Fixed GitOrigin-RevId: b93955bd9d0bda53814af6d5f44e86af6226c1be --- .../kotlin/idea/caches/resolve/PerFileAnalysisCache.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/kotlin/base/fe10/analysis/src/org/jetbrains/kotlin/idea/caches/resolve/PerFileAnalysisCache.kt b/plugins/kotlin/base/fe10/analysis/src/org/jetbrains/kotlin/idea/caches/resolve/PerFileAnalysisCache.kt index 811c7e16f6bb..8ccf6c9cc7a6 100644 --- a/plugins/kotlin/base/fe10/analysis/src/org/jetbrains/kotlin/idea/caches/resolve/PerFileAnalysisCache.kt +++ b/plugins/kotlin/base/fe10/analysis/src/org/jetbrains/kotlin/idea/caches/resolve/PerFileAnalysisCache.kt @@ -471,7 +471,11 @@ private class StackedCompositeBindingContextTrace( } override fun getSliceContents(slice: ReadOnlySlice): ImmutableMap { - return ImmutableMap.copyOf(parentContext.getSliceContents(slice) + map.getSliceContents(slice)) + val parentSliceContents = parentContext.getSliceContents(slice).filter { + (it.key as? PsiElement)?.parentsWithSelf?.none { e -> e == element } != false + } + val mapSliceContents = map.getSliceContents(slice) + return ImmutableMap.copyOf(parentSliceContents + mapSliceContents) } override fun addOwnDataTo(trace: BindingTrace, commitDiagnostics: Boolean) = throw UnsupportedOperationException()