diff --git a/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/BuiltInsVirtualFileProvider.kt b/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/BuiltInsVirtualFileProvider.kt index d98241b98fb..3d62eb4e42e 100644 --- a/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/BuiltInsVirtualFileProvider.kt +++ b/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/BuiltInsVirtualFileProvider.kt @@ -24,25 +24,25 @@ abstract class BuiltInsVirtualFileProvider { } abstract class BuiltInsVirtualFileProviderBaseImpl : BuiltInsVirtualFileProvider() { - private val builtinFiles: Set by lazy { + private val builtInUrls: Set by lazy { val classLoader = this::class.java.classLoader StandardClassIds.builtInsPackages.mapTo(mutableSetOf()) { builtInPackageFqName -> val resourcePath = BuiltInSerializerProtocol.getBuiltInsFilePath(builtInPackageFqName) - val resourceUrl = classLoader.getResource(resourcePath) + classLoader.getResource(resourcePath) ?: errorWithAttachment("Resource for builtin $builtInPackageFqName not found") { withEntry("resourcePath", resourcePath) } - findVirtualFile(resourceUrl) - ?: errorWithAttachment("Virtual file for builtin $builtInPackageFqName not found") { - withEntry("resourcePath", resourcePath) - withEntry("resourceUrl", resourceUrl) { it.toString() } - } } } protected abstract fun findVirtualFile(url: URL): VirtualFile? - override fun getBuiltInVirtualFiles(): Set = builtinFiles + override fun getBuiltInVirtualFiles(): Set = builtInUrls.mapTo(mutableSetOf()) { url -> + findVirtualFile(url) + ?: errorWithAttachment("Virtual file for builtin is not found") { + withEntry("resourceUrl", url) { it.toString() } + } + } } class BuiltInsVirtualFileProviderCliImpl(