From 31b379fb88cc19e074748e8cf7ec6dbb6b7c3311 Mon Sep 17 00:00:00 2001 From: "Nikita.Ashihmin" Date: Fri, 4 Oct 2024 14:30:33 +0400 Subject: [PATCH] PY-71854 Jupyter(feat): Change FileLimiter to use several extensions GitOrigin-RevId: 4746e60c597273ef5ed6dfab374ea1da1e412751 --- .../openapi/vfs/limits/FileSizeLimit.kt | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/platform/core-api/src/com/intellij/openapi/vfs/limits/FileSizeLimit.kt b/platform/core-api/src/com/intellij/openapi/vfs/limits/FileSizeLimit.kt index f75c5709f708..ca9601e847df 100644 --- a/platform/core-api/src/com/intellij/openapi/vfs/limits/FileSizeLimit.kt +++ b/platform/core-api/src/com/intellij/openapi/vfs/limits/FileSizeLimit.kt @@ -12,7 +12,7 @@ import java.util.concurrent.atomic.AtomicReference @Suppress("DEPRECATION") @ApiStatus.Internal interface FileSizeLimit { - val acceptableExtensions: String + val acceptableExtensions: List fun getLimits(): ExtensionSizeLimitInfo @@ -77,15 +77,14 @@ interface FileSizeLimit { private fun getLimits(): Map { val extensions = EP.extensionsIfPointIsRegistered - val grouped = extensions.groupBy { it.acceptableExtensions } - grouped.forEach { (type, checkers) -> - if (checkers.size > 1) { - thisLogger().warn("For file type $type several limits from extensions: ${checkers.joinToString { it::class.java.name }}. " + - "IDE can work incorrectly") - } - } - val newLimits = grouped.map { it.key to it.value.first().getLimits() }.toMap() + val duplicates: Map = extensions.flatMap { it.acceptableExtensions }.groupingBy { it }.eachCount().filter { it.value > 1 } + duplicates.forEach {(element, count) -> + thisLogger().warn("For file type $element $count limits are registered. Extensions: ${extensions.joinToString { + "${it.javaClass.name}: ${it.acceptableExtensions.joinToString()}" }}") + } + + val newLimits = extensions.flatMap { extension -> extension.acceptableExtensions.map { it to extension.getLimits() } }.toMap() return newLimits }