IR: use IrFactory in IR builders
This commit is contained in:
+7
-7
@@ -5,20 +5,18 @@
|
||||
// This file was autogenerated based on android.jar, do not edit it directly.
|
||||
package org.jetbrains.kotlin.android.parcel.ir
|
||||
|
||||
import org.jetbrains.kotlin.backend.common.CommonBackendContext
|
||||
import org.jetbrains.kotlin.backend.common.ir.Symbols
|
||||
import org.jetbrains.kotlin.backend.common.ir.createImplicitParameterDeclarationWithWrappedDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.descriptors.impl.EmptyPackageFragmentDescriptor
|
||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||
import org.jetbrains.kotlin.ir.builders.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.IrFactory
|
||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||
import org.jetbrains.kotlin.ir.declarations.IrPackageFragment
|
||||
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.*
|
||||
import org.jetbrains.kotlin.ir.symbols.impl.IrExternalPackageFragmentSymbolImpl
|
||||
import org.jetbrains.kotlin.ir.types.defaultType
|
||||
import org.jetbrains.kotlin.ir.types.makeNullable
|
||||
import org.jetbrains.kotlin.ir.types.starProjectedType
|
||||
@@ -35,6 +33,8 @@ class AndroidSymbols(
|
||||
private val charSequence: IrClassSymbol,
|
||||
private val moduleFragment: IrModuleFragment
|
||||
) {
|
||||
private val irFactory: IrFactory = IrFactoryImpl
|
||||
|
||||
private val androidOs: IrPackageFragment = createPackage("android.os")
|
||||
|
||||
private val androidText: IrPackageFragment = createPackage("android.text")
|
||||
@@ -109,7 +109,7 @@ class AndroidSymbols(
|
||||
private val javaUtilTreeSet: IrClassSymbol =
|
||||
createClass(javaUtil, "TreeSet", ClassKind.CLASS, Modality.OPEN)
|
||||
|
||||
val androidOsParcelableCreator: IrClassSymbol = buildClass {
|
||||
val androidOsParcelableCreator: IrClassSymbol = irFactory.buildClass {
|
||||
name = Name.identifier("Creator")
|
||||
kind = ClassKind.INTERFACE
|
||||
modality = Modality.ABSTRACT
|
||||
@@ -130,7 +130,7 @@ class AndroidSymbols(
|
||||
}
|
||||
}.symbol
|
||||
|
||||
val kotlinKClassJava: IrPropertySymbol = buildProperty {
|
||||
val kotlinKClassJava: IrPropertySymbol = irFactory.buildProperty {
|
||||
name = Name.identifier("java")
|
||||
}.apply {
|
||||
parent = kotlinJvm
|
||||
@@ -454,7 +454,7 @@ class AndroidSymbols(
|
||||
shortName: String,
|
||||
classKind: ClassKind,
|
||||
classModality: Modality
|
||||
): IrClassSymbol = buildClass {
|
||||
): IrClassSymbol = irFactory.buildClass {
|
||||
name = Name.identifier(shortName)
|
||||
kind = classKind
|
||||
modality = classModality
|
||||
|
||||
+4
-1
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
||||
import org.jetbrains.kotlin.ir.builders.*
|
||||
import org.jetbrains.kotlin.ir.builders.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.IrCall
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.IrFunctionReference
|
||||
@@ -52,6 +53,8 @@ class ParcelableIrTransformer(private val context: IrPluginContext, private val
|
||||
|
||||
private val symbolMap = mutableMapOf<IrFunctionSymbol, IrFunctionSymbol>()
|
||||
|
||||
private val irFactory: IrFactory = IrFactoryImpl
|
||||
|
||||
fun transform(moduleFragment: IrModuleFragment) {
|
||||
moduleFragment.accept(this, null)
|
||||
deferredOperations.forEach { it() }
|
||||
@@ -199,7 +202,7 @@ class ParcelableIrTransformer(private val context: IrPluginContext, private val
|
||||
isFinal = true
|
||||
}.apply {
|
||||
val irField = this
|
||||
val creatorClass = buildClass {
|
||||
val creatorClass = irFactory.buildClass {
|
||||
name = Name.identifier("Creator")
|
||||
visibility = Visibilities.LOCAL
|
||||
}.apply {
|
||||
|
||||
+4
-1
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.ir.builders.*
|
||||
import org.jetbrains.kotlin.ir.builders.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.IrCall
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.IrTypeOperator
|
||||
@@ -57,6 +58,8 @@ private class AndroidIrTransformer(val extension: AndroidIrExtension, val plugin
|
||||
private val cachedMethods = mutableMapOf<FqName, IrSimpleFunction>()
|
||||
private val cachedFields = mutableMapOf<FqName, IrField>()
|
||||
|
||||
private val irFactory: IrFactory = IrFactoryImpl
|
||||
|
||||
private fun createPackage(fqName: FqName) =
|
||||
cachedPackages.getOrPut(fqName) {
|
||||
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(pluginContext.moduleDescriptor, fqName)
|
||||
@@ -64,7 +67,7 @@ private class AndroidIrTransformer(val extension: AndroidIrExtension, val plugin
|
||||
|
||||
private fun createClass(fqName: FqName, isInterface: Boolean = false) =
|
||||
cachedClasses.getOrPut(fqName) {
|
||||
buildClass {
|
||||
irFactory.buildClass {
|
||||
name = fqName.shortName()
|
||||
kind = if (isInterface) ClassKind.INTERFACE else ClassKind.CLASS
|
||||
origin = IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB
|
||||
|
||||
Reference in New Issue
Block a user