IR: use IrFactory in IR builders

This commit is contained in:
Alexander Udalov
2020-07-14 18:08:14 +02:00
parent 898dd20a9e
commit d1dc938a5d
58 changed files with 291 additions and 265 deletions
@@ -18,8 +18,8 @@ import org.jetbrains.kotlin.ir.backend.js.JsSharedVariablesManager
import org.jetbrains.kotlin.ir.backend.js.ir.JsIrDeclarationBuilder
import org.jetbrains.kotlin.ir.backend.js.lower.JsInnerClassesSupport
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
import org.jetbrains.kotlin.ir.symbols.IrExternalPackageFragmentSymbol
@@ -44,7 +44,7 @@ class WasmBackendContext(
override val lateinitNullableFields = mutableMapOf<IrField, IrField>()
override val extractedLocalClasses: MutableSet<IrClass> = hashSetOf()
override val irFactory: IrFactory = IrFactoryImpl
override val jsIrDeclarationBuilder: JsIrDeclarationBuilder = JsIrDeclarationBuilder()
override val jsIrDeclarationBuilder: JsIrDeclarationBuilder = JsIrDeclarationBuilder(irFactory)
// Place to store declarations excluded from code generation
val excludedDeclarations: IrPackageFragment by lazy {
@@ -56,7 +56,7 @@ class WasmBackendContext(
override val mapping = JsMapping()
val innerClassesSupport = JsInnerClassesSupport(mapping)
val innerClassesSupport = JsInnerClassesSupport(mapping, irFactory)
val objectToGetInstanceFunction = mutableMapOf<IrClassSymbol, IrSimpleFunction>()
override val internalPackageFqn = FqName("kotlin.wasm")
@@ -14,12 +14,10 @@ import org.jetbrains.kotlin.ir.builders.declarations.addFunction
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
import org.jetbrains.kotlin.ir.symbols.IrClassifierSymbol
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.util.SymbolTable
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.types.SimpleType
class WasmSymbols(
context: WasmBackendContext,
@@ -49,7 +47,7 @@ class WasmSymbols(
override val getContinuation
get() = TODO()
override val coroutineContextGetter by lazy {
context.excludedDeclarations.addFunction {
context.irFactory.addFunction(context.excludedDeclarations) {
name = Name.identifier("coroutineContextGetter\$Stub")
}.symbol
}