[Native] Move addFile from IrUtils2

This function is actually used only in `BackendPhases` and it is
too specific to be included into utils.
This commit is contained in:
Ivan Kylchik
2023-08-16 11:15:43 +02:00
committed by Space Team
parent 4fb29a5e12
commit 2657adc6dc
2 changed files with 13 additions and 11 deletions
@@ -19,12 +19,15 @@ import org.jetbrains.kotlin.backend.konan.makeEntryPoint
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.declarations.IrFile
import org.jetbrains.kotlin.backend.konan.objcexport.createTestBundle
import org.jetbrains.kotlin.descriptors.impl.PackageFragmentDescriptorImpl
import org.jetbrains.kotlin.ir.IrFileEntry
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl
import org.jetbrains.kotlin.ir.util.NaiveSourceBasedFileEntryImpl
import org.jetbrains.kotlin.ir.util.addChild
import org.jetbrains.kotlin.ir.util.addFile
import org.jetbrains.kotlin.ir.util.file
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.resolve.scopes.MemberScope
internal data class SpecialBackendChecksInput(
val irModule: IrModuleFragment,
@@ -98,4 +101,12 @@ internal val CreateTestBundlePhase = createSimpleNamedCompilerPhase<PhaseContext
val config = context.config
val output = OutputFiles(config.outputPath, config.target, config.produce).mainFile
createTestBundle(config, input.moduleDescriptor, output)
}
}
private fun IrModuleFragment.addFile(fileEntry: IrFileEntry, packageFqName: FqName): IrFile {
val packageFragmentDescriptor = object : PackageFragmentDescriptorImpl(this.descriptor, packageFqName) {
override fun getMemberScope(): MemberScope = MemberScope.Empty
}
return IrFileImpl(fileEntry, packageFragmentDescriptor).also { this.files += it }
}
@@ -59,15 +59,6 @@ internal fun IrFile.addTopLevelInitializer(expression: IrExpression, context: Ko
addChild(irField)
}
fun IrModuleFragment.addFile(fileEntry: IrFileEntry, packageFqName: FqName): IrFile {
val packageFragmentDescriptor = object : PackageFragmentDescriptorImpl(this.descriptor, packageFqName) {
override fun getMemberScope(): MemberScope = MemberScope.Empty
}
return IrFileImpl(fileEntry, packageFragmentDescriptor)
.also { this.files += it }
}
fun IrBuilderWithScope.irCatch() =
IrCatchImpl(
startOffset, endOffset,