diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt index b4c894f6b64..7b3acaf9ea1 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt @@ -24,6 +24,7 @@ import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl import org.jetbrains.kotlin.ir.declarations.persistent.PersistentIrFactory import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns import org.jetbrains.kotlin.ir.symbols.* +import org.jetbrains.kotlin.ir.symbols.impl.DescriptorlessExternalPackageFragmentSymbol import org.jetbrains.kotlin.ir.types.* import org.jetbrains.kotlin.ir.types.impl.IrDynamicTypeImpl import org.jetbrains.kotlin.ir.util.* @@ -62,34 +63,10 @@ class JsIrBackendContext( val externalPackageFragment = mutableMapOf() val externalDeclarations = hashSetOf() - @OptIn(ObsoleteDescriptorBasedAPI::class) - val bodilessBuiltInsPackageFragment: IrPackageFragment = run { - - class DescriptorlessExternalPackageFragmentSymbol : IrExternalPackageFragmentSymbol { - override val descriptor: PackageFragmentDescriptor - get() = error("Operation is unsupported") - - private var _owner: IrExternalPackageFragment? = null - override val owner get() = _owner!! - - override val isPublicApi: Boolean - get() = TODO("Not yet implemented") - - override val signature: IdSignature - get() = TODO("Not yet implemented") - - override val isBound get() = _owner != null - - override fun bind(owner: IrExternalPackageFragment) { - _owner = owner - } - } - - IrExternalPackageFragmentImpl( - DescriptorlessExternalPackageFragmentSymbol(), - FqName("kotlin") - ) - } + val bodilessBuiltInsPackageFragment: IrPackageFragment = IrExternalPackageFragmentImpl( + DescriptorlessExternalPackageFragmentSymbol(), + FqName("kotlin") + ) val packageLevelJsModules = mutableSetOf() val declarationLevelJsModules = mutableListOf() diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmBackendContext.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmBackendContext.kt index 065bf942167..ef7f4678a1f 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmBackendContext.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmBackendContext.kt @@ -24,6 +24,7 @@ import org.jetbrains.kotlin.ir.symbols.IrClassSymbol import org.jetbrains.kotlin.ir.symbols.IrExternalPackageFragmentSymbol import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol +import org.jetbrains.kotlin.ir.symbols.impl.DescriptorlessExternalPackageFragmentSymbol import org.jetbrains.kotlin.ir.util.IdSignature import org.jetbrains.kotlin.ir.util.SymbolTable import org.jetbrains.kotlin.name.FqName @@ -80,25 +81,4 @@ class WasmBackendContext( /*TODO*/ print(message) } -} - -class DescriptorlessExternalPackageFragmentSymbol : IrExternalPackageFragmentSymbol { - @ObsoleteDescriptorBasedAPI - override val descriptor: PackageFragmentDescriptor - get() = error("Operation is unsupported") - - private var _owner: IrExternalPackageFragment? = null - override val owner get() = _owner!! - - override val isBound get() = _owner != null - - override fun bind(owner: IrExternalPackageFragment) { - _owner = owner - } - - override val isPublicApi: Boolean - get() = error("Operation is unsupported") - - override val signature: IdSignature - get() = error("Operation is unsupported") -} +} \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/impl/DescriptorlessExternalPackageFragmentSymbol.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/impl/DescriptorlessExternalPackageFragmentSymbol.kt new file mode 100644 index 00000000000..f436a6e7202 --- /dev/null +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/impl/DescriptorlessExternalPackageFragmentSymbol.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.ir.symbols.impl + +import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI +import org.jetbrains.kotlin.ir.declarations.IrExternalPackageFragment +import org.jetbrains.kotlin.ir.symbols.IrExternalPackageFragmentSymbol +import org.jetbrains.kotlin.ir.util.IdSignature + +@OptIn(ObsoleteDescriptorBasedAPI::class) +class DescriptorlessExternalPackageFragmentSymbol : IrExternalPackageFragmentSymbol { + override val descriptor: PackageFragmentDescriptor + get() = error("Operation is unsupported") + + private var _owner: IrExternalPackageFragment? = null + override val owner get() = _owner!! + + override val isPublicApi: Boolean + get() = TODO("Not yet implemented") + + override val signature: IdSignature + get() = TODO("Not yet implemented") + + override val isBound get() = _owner != null + + override fun bind(owner: IrExternalPackageFragment) { + _owner = owner + } +}