From 70beb612772a557f6d8d573b1cdce0ff4fbe10f2 Mon Sep 17 00:00:00 2001 From: Vladislav Beskrovny Date: Mon, 3 Nov 2025 16:17:26 +0100 Subject: [PATCH] RUST-19136 Fix FileSizeLimit: use system props as a min value (cherry picked from commit 7a3ec0647b50e9b407f0fede889112f22348896b) IJ-CR-182746 GitOrigin-RevId: 6a95d50b7dfad26da2f41817c66ada12bb562b0e --- .../openapi/vfs/limits/FileSizeLimit.kt | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 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 e5685fb58a68..4d2d6a9ac7e1 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 @@ -8,6 +8,7 @@ import com.intellij.openapi.util.io.FileUtilRt import com.intellij.openapi.vfs.PersistentFSConstants import org.jetbrains.annotations.ApiStatus import java.util.concurrent.atomic.AtomicReference +import kotlin.math.max @Suppress("DEPRECATION") @ApiStatus.Internal @@ -50,9 +51,7 @@ interface FileSizeLimit { @JvmStatic fun getContentLoadLimit(extension: String?): Int { - @Suppress("DEPRECATION") - val limit = findApplicable(extension ?: "")?.content ?: getDefaultContentLoadLimit() - return limit + return getValue(extension, ExtensionSizeLimitInfo::content, getDefaultContentLoadLimit()) } @JvmStatic @@ -64,15 +63,17 @@ interface FileSizeLimit { @JvmStatic fun getIntellisenseLimit(extension: String?): Int { @Suppress("DEPRECATION") - val limit = findApplicable(extension ?: "")?.intellijSense ?: PersistentFSConstants.getMaxIntellisenseFileSize() - return limit + return getValue(extension, ExtensionSizeLimitInfo::intellijSense, PersistentFSConstants.getMaxIntellisenseFileSize()) } @JvmStatic fun getPreviewLimit(extension: String?): Int { - @Suppress("DEPRECATION") - val limit = findApplicable(extension ?: "")?.preview ?: FileUtilRt.LARGE_FILE_PREVIEW_SIZE - return limit + return getValue(extension, ExtensionSizeLimitInfo::preview, FileUtilRt.LARGE_FILE_PREVIEW_SIZE) + } + + private fun getValue(extension: String?, getter: (ExtensionSizeLimitInfo) -> Int?, minValue: Int): Int { + val providedValue = findApplicable(extension ?: "")?.let(getter) ?: return minValue + return max(providedValue, minValue) } private fun getLimits(): Map {