diff --git a/platform/inspect/src/com/intellij/codeInspection/inspectionProfile/YamlInspectionProfileImpl.kt b/platform/inspect/src/com/intellij/codeInspection/inspectionProfile/YamlInspectionProfileImpl.kt index aea526e56c1a..e08a98880537 100644 --- a/platform/inspect/src/com/intellij/codeInspection/inspectionProfile/YamlInspectionProfileImpl.kt +++ b/platform/inspect/src/com/intellij/codeInspection/inspectionProfile/YamlInspectionProfileImpl.kt @@ -129,8 +129,9 @@ class YamlInspectionProfileImpl private constructor(override val profileName: St } - - return loadFrom(configFile.reader(), includeProvider, toolsSupplier, profileManager) + return configFile.reader().use { reader -> + loadFrom(reader, includeProvider, toolsSupplier, profileManager) + } } private fun findBaseProfile(profileManager: InspectionProfileManager, profileName: String?): InspectionProfileImpl { diff --git a/platform/inspect/src/com/intellij/codeInspection/inspectionProfile/YamlInspectionProfileRaw.kt b/platform/inspect/src/com/intellij/codeInspection/inspectionProfile/YamlInspectionProfileRaw.kt index 59220efbaa84..4633c142a765 100644 --- a/platform/inspect/src/com/intellij/codeInspection/inspectionProfile/YamlInspectionProfileRaw.kt +++ b/platform/inspect/src/com/intellij/codeInspection/inspectionProfile/YamlInspectionProfileRaw.kt @@ -70,7 +70,9 @@ private fun readRaw(reader: Reader, includeReaders: (Path) -> Reader): Map)?.filterIsInstance(String::class.java).orEmpty().map { Paths.get(it) } return includedConfigs.fold(rawConfig) { accumulator, path -> - val includedYaml = readRaw(includeReaders.invoke(path)) { includeReaders.invoke(path.resolveSibling(it)) } + val includedYaml = includeReaders.invoke(path).use { includeReader -> + readRaw(includeReader) { includeReaders.invoke(path.resolveSibling(it)) } + } merge(accumulator, includedYaml.filterKeys { field -> field in FIELDS_TO_MERGE }) } } \ No newline at end of file