From c739298b6503d7513782476c8e8f1026eb5f8891 Mon Sep 17 00:00:00 2001 From: Anton Kozub Date: Wed, 26 Feb 2025 17:46:40 +0100 Subject: [PATCH] IDEA-360028 Spring Structure: no Logical view is available for the library configuration beans GitOrigin-RevId: 98ecd2b75292cfacb8ebf32b0f54ba5583a06423 --- .../logical/ClassOwnerLogicalStructureElementsProvider.kt | 4 ++-- .../logical/PhysicalAndLogicalStructureViewBuilder.kt | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/java/java-structure-view/src/com/intellij/lang/java/logical/ClassOwnerLogicalStructureElementsProvider.kt b/java/java-structure-view/src/com/intellij/lang/java/logical/ClassOwnerLogicalStructureElementsProvider.kt index fb3de7cad61d..df16bbe3d43f 100644 --- a/java/java-structure-view/src/com/intellij/lang/java/logical/ClassOwnerLogicalStructureElementsProvider.kt +++ b/java/java-structure-view/src/com/intellij/lang/java/logical/ClassOwnerLogicalStructureElementsProvider.kt @@ -14,8 +14,8 @@ class ClassOwnerLogicalStructureElementsProvider: LogicalStructureElementsProvid if (!psiClass.isValid) continue val convertedModels = LogicalStructureElementsProvider.getProviders(psiClass) .filterIsInstance>() - .map { it.convert(psiClass) } - .filterNotNull() + .mapNotNull { it.convert(psiClass) } + .toList() if (convertedModels.count() > 0) { convertedModels.forEach { result.add(it) } convertedAtLeastOne = true diff --git a/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/PhysicalAndLogicalStructureViewBuilder.kt b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/PhysicalAndLogicalStructureViewBuilder.kt index 5581ac0b408d..e46eac182c9e 100644 --- a/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/PhysicalAndLogicalStructureViewBuilder.kt +++ b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/PhysicalAndLogicalStructureViewBuilder.kt @@ -16,12 +16,14 @@ import com.intellij.openapi.util.registry.Registry import com.intellij.psi.PsiFile import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext +import org.jetbrains.annotations.ApiStatus class PhysicalAndLogicalStructureViewBuilder( private val physicalBuilder: TreeBasedStructureViewBuilder, private val psiFile: PsiFile, ): TreeBasedStructureViewBuilder() { + @ApiStatus.Internal companion object { fun wrapPhysicalBuilderIfPossible(physicalBuilder: StructureViewBuilder?, psiFile: PsiFile): StructureViewBuilder? { if (physicalBuilder !is TreeBasedStructureViewBuilder) return physicalBuilder