Fix sources extraction when processing extension is on

The latter is used e.g. for scripts in source roots handling
as implemented in the commit
"Scripting: update scripts in source roots handling"
The former implementation did not covered all the cases.

#KT-54355 fixed
This commit is contained in:
Ilya Chernikov
2022-10-18 16:01:37 +02:00
committed by Space Team
parent 1fcf099104
commit 6627b62c21
3 changed files with 16 additions and 9 deletions
@@ -418,7 +418,11 @@ class KotlinCoreEnvironment private constructor(
return result
}
fun getSourceFiles(): List<KtFile> = sourceFiles
fun getSourceFiles(): List<KtFile> =
ProcessSourcesBeforeCompilingExtension.getInstances(project)
.fold(sourceFiles as Collection<KtFile>) { files, extension ->
extension.processSources(files, configuration)
}.toList()
internal fun report(severity: CompilerMessageSeverity, message: String) = configuration.report(severity, message)
@@ -30,9 +30,7 @@ import org.jetbrains.kotlin.config.*
import org.jetbrains.kotlin.config.CommonConfigurationKeys.LOOKUP_TRACKER
import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory
import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector
import org.jetbrains.kotlin.extensions.ProcessSourcesBeforeCompilingExtension
import org.jetbrains.kotlin.ir.backend.jvm.jvmResolveLibraries
import org.jetbrains.kotlin.load.java.JavaClassesTracker
import org.jetbrains.kotlin.load.kotlin.ModuleVisibilityManager
import org.jetbrains.kotlin.modules.Module
import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStatus
@@ -232,10 +230,7 @@ object KotlinToJVMBytecodeCompiler {
fun analyze(environment: KotlinCoreEnvironment): AnalysisResult? {
val collector = environment.messageCollector
val sourceFiles = ProcessSourcesBeforeCompilingExtension.getInstances(environment.project)
.fold(environment.getSourceFiles() as Collection<KtFile>) { files, extension ->
extension.processSources(files, environment.configuration)
}
val sourceFiles = environment.getSourceFiles()
// Can be null for Scripts/REPL
val performanceManager = environment.configuration.get(CLIConfigurationKeys.PERF_MANAGER)