[IR] Remove files parameter from IrModuleFragmentImpl
This commit removes the default parameter in constructor, as well as custom logic in this class, which would make it harder for its subsequent auto-generation. ^KT-65773 In Progress
This commit is contained in:
committed by
Space Team
parent
83bc12949b
commit
2a5b4ae652
+7
-7
@@ -128,7 +128,7 @@ open class JvmIrCodegenFactory(
|
||||
val extensions: JvmGeneratorExtensions,
|
||||
val backendExtension: JvmBackendExtension,
|
||||
val pluginContext: IrPluginContext?,
|
||||
val notifyCodegenStart: () -> Unit
|
||||
val notifyCodegenStart: () -> Unit,
|
||||
) : CodegenFactory.BackendInput
|
||||
|
||||
private data class JvmIrCodegenInput(
|
||||
@@ -317,11 +317,11 @@ open class JvmIrCodegenFactory(
|
||||
|
||||
val moduleChunk = sourceFiles.toSet()
|
||||
val wholeModule = wholeBackendInput.irModuleFragment
|
||||
return wholeBackendInput.copy(
|
||||
IrModuleFragmentImpl(wholeModule.descriptor, wholeModule.irBuiltins, wholeModule.files.filter { file ->
|
||||
file.getKtFile() in moduleChunk
|
||||
})
|
||||
)
|
||||
val moduleCopy = IrModuleFragmentImpl(wholeModule.descriptor, wholeModule.irBuiltins)
|
||||
wholeModule.files.filterTo(moduleCopy.files) { file ->
|
||||
file.getKtFile() in moduleChunk
|
||||
}
|
||||
return wholeBackendInput.copy(moduleCopy)
|
||||
}
|
||||
|
||||
override fun invokeLowerings(state: GenerationState, input: CodegenFactory.BackendInput): CodegenFactory.CodegenInput {
|
||||
@@ -428,7 +428,7 @@ open class JvmIrCodegenFactory(
|
||||
extensions: JvmGeneratorExtensions,
|
||||
backendExtension: JvmBackendExtension,
|
||||
irPluginContext: IrPluginContext,
|
||||
notifyCodegenStart: () -> Unit = {}
|
||||
notifyCodegenStart: () -> Unit = {},
|
||||
) {
|
||||
generateModule(
|
||||
state,
|
||||
|
||||
+1
-2
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.name.Name
|
||||
class IrModuleFragmentImpl(
|
||||
override val descriptor: ModuleDescriptor,
|
||||
override val irBuiltins: IrBuiltIns,
|
||||
files: List<IrFile> = emptyList(),
|
||||
) : IrModuleFragment() {
|
||||
override val startOffset: Int
|
||||
get() = UNDEFINED_OFFSET
|
||||
@@ -36,5 +35,5 @@ class IrModuleFragmentImpl(
|
||||
|
||||
override val name: Name get() = descriptor.name
|
||||
|
||||
override val files: MutableList<IrFile> = files.toMutableList()
|
||||
override val files: MutableList<IrFile> = ArrayList()
|
||||
}
|
||||
|
||||
+1
-1
@@ -96,7 +96,7 @@ abstract class BasicIrModuleDeserializer(
|
||||
error("No file for ${idSig.topLevelSignature()} (@ $idSig) in module $moduleDescriptor")
|
||||
}
|
||||
|
||||
override val moduleFragment: IrModuleFragment = IrModuleFragmentImpl(moduleDescriptor, linker.builtIns, emptyList())
|
||||
override val moduleFragment: IrModuleFragment = IrModuleFragmentImpl(moduleDescriptor, linker.builtIns)
|
||||
|
||||
private fun deserializeIrFile(
|
||||
fileProto: ProtoFile, file: IrFile, fileReader: IrLibraryFileFromBytes,
|
||||
|
||||
+1
-1
@@ -78,7 +78,7 @@ class JsLazyIrModuleDeserializer(
|
||||
}
|
||||
|
||||
|
||||
override val moduleFragment: IrModuleFragment = IrModuleFragmentImpl(moduleDescriptor, builtIns, emptyList())
|
||||
override val moduleFragment: IrModuleFragment = IrModuleFragmentImpl(moduleDescriptor, builtIns)
|
||||
override val moduleDependencies: Collection<IrModuleDeserializer> = dependencies
|
||||
|
||||
override val kind get() = IrModuleDeserializerKind.SYNTHETIC
|
||||
|
||||
+1
-1
@@ -171,7 +171,7 @@ class JvmIrLinker(
|
||||
}
|
||||
}
|
||||
|
||||
override val moduleFragment: IrModuleFragment = IrModuleFragmentImpl(moduleDescriptor, builtIns, emptyList())
|
||||
override val moduleFragment: IrModuleFragment = IrModuleFragmentImpl(moduleDescriptor, builtIns)
|
||||
override val moduleDependencies: Collection<IrModuleDeserializer> = dependencies
|
||||
|
||||
override val kind get() = IrModuleDeserializerKind.SYNTHETIC
|
||||
|
||||
+2
-1
@@ -198,7 +198,8 @@ private fun PhaseEngine<out Context>.splitIntoFragments(
|
||||
containsStdlib = containsStdlib
|
||||
)
|
||||
val dependenciesTracker = DependenciesTrackerImpl(llvmModuleSpecification, context.config, context)
|
||||
val fragment = IrModuleFragmentImpl(input.descriptor, input.irBuiltins, listOf(file))
|
||||
val fragment = IrModuleFragmentImpl(input.descriptor, input.irBuiltins)
|
||||
fragment.files += file
|
||||
if (containsStdlib && cacheDeserializationStrategy.containsKFunctionImpl)
|
||||
fragment.files += files.filter { it.isFunctionInterfaceFile }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user