[FIR] Pass all FirFiles to FirGlobalResolveProcessor.process
This commit is contained in:
+1
-1
@@ -16,7 +16,7 @@ annotation class AdapterForResolveProcessor
|
|||||||
sealed class FirResolveProcessor(val session: FirSession, val scopeSession: ScopeSession)
|
sealed class FirResolveProcessor(val session: FirSession, val scopeSession: ScopeSession)
|
||||||
|
|
||||||
abstract class FirGlobalResolveProcessor(session: FirSession, scopeSession: ScopeSession) : FirResolveProcessor(session, scopeSession) {
|
abstract class FirGlobalResolveProcessor(session: FirSession, scopeSession: ScopeSession) : FirResolveProcessor(session, scopeSession) {
|
||||||
abstract fun process()
|
abstract fun process(files: Collection<FirFile>)
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract class FirTransformerBasedResolveProcessor(
|
abstract class FirTransformerBasedResolveProcessor(
|
||||||
|
|||||||
+1
-1
@@ -24,7 +24,7 @@ class FirTotalResolveProcessor(session: FirSession) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
is FirGlobalResolveProcessor -> {
|
is FirGlobalResolveProcessor -> {
|
||||||
processor.process()
|
processor.process(files)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -20,7 +20,7 @@ class FirGlobalClassGenerationProcessor(
|
|||||||
session: FirSession,
|
session: FirSession,
|
||||||
scopeSession: ScopeSession
|
scopeSession: ScopeSession
|
||||||
) : FirGlobalResolveProcessor(session, scopeSession) {
|
) : FirGlobalResolveProcessor(session, scopeSession) {
|
||||||
override fun process() {
|
override fun process(files: Collection<FirFile>) {
|
||||||
val extensions = session.extensionService.declarationGenerators
|
val extensions = session.extensionService.declarationGenerators
|
||||||
if (extensions.isEmpty()) return
|
if (extensions.isEmpty()) return
|
||||||
val provider = session.predicateBasedProvider
|
val provider = session.predicateBasedProvider
|
||||||
|
|||||||
+1
-1
@@ -24,7 +24,7 @@ class FirGlobalExtensionStatusProcessor(
|
|||||||
session: FirSession,
|
session: FirSession,
|
||||||
scopeSession: ScopeSession
|
scopeSession: ScopeSession
|
||||||
) : FirGlobalResolveProcessor(session, scopeSession) {
|
) : FirGlobalResolveProcessor(session, scopeSession) {
|
||||||
override fun process() {
|
override fun process(files: Collection<FirFile>) {
|
||||||
val extensions = session.extensionService.statusTransformerExtensions
|
val extensions = session.extensionService.statusTransformerExtensions
|
||||||
if (extensions.isEmpty()) return
|
if (extensions.isEmpty()) return
|
||||||
val provider = session.predicateBasedProvider
|
val provider = session.predicateBasedProvider
|
||||||
|
|||||||
+1
-1
@@ -26,7 +26,7 @@ class FirGlobalNewMemberGenerationProcessor(
|
|||||||
private val index = session.generatedClassIndex
|
private val index = session.generatedClassIndex
|
||||||
private val provider = session.predicateBasedProvider
|
private val provider = session.predicateBasedProvider
|
||||||
|
|
||||||
override fun process() {
|
override fun process(files: Collection<FirFile>) {
|
||||||
val extensions = session.extensionService.declarationGenerators
|
val extensions = session.extensionService.declarationGenerators
|
||||||
if (extensions.isEmpty()) return
|
if (extensions.isEmpty()) return
|
||||||
for (extension in extensions) {
|
for (extension in extensions) {
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ class FirResolveBench(val withProgress: Boolean) {
|
|||||||
private fun runStage(processor: FirResolveProcessor, firFileSequence: Sequence<FirFile>) {
|
private fun runStage(processor: FirResolveProcessor, firFileSequence: Sequence<FirFile>) {
|
||||||
when (processor) {
|
when (processor) {
|
||||||
is FirTransformerBasedResolveProcessor -> runStage(processor, firFileSequence)
|
is FirTransformerBasedResolveProcessor -> runStage(processor, firFileSequence)
|
||||||
is FirGlobalResolveProcessor -> runStage(processor)
|
is FirGlobalResolveProcessor -> runStage(processor, firFileSequence.toList())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,10 +182,10 @@ class FirResolveBench(val withProgress: Boolean) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun runStage(processor: FirGlobalResolveProcessor) {
|
private fun runStage(processor: FirGlobalResolveProcessor, firFiles: List<FirFile>) {
|
||||||
processWithTimeMeasure(
|
processWithTimeMeasure(
|
||||||
processor::class,
|
processor::class,
|
||||||
{ processor.process() }
|
{ processor.process(firFiles) }
|
||||||
) { e ->
|
) { e ->
|
||||||
val message = "Fail on stage ${processor::class}"
|
val message = "Fail on stage ${processor::class}"
|
||||||
println(message)
|
println(message)
|
||||||
|
|||||||
Reference in New Issue
Block a user