[IR] Simplify IrFileImpl and IrExternalPackageFragment
#KT-65773 In Progress
This commit is contained in:
committed by
Space Team
parent
16ae7651a2
commit
943be239ee
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -27,7 +27,6 @@ import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
|||||||
import org.jetbrains.kotlin.ir.builders.declarations.IrFunctionBuilder
|
import org.jetbrains.kotlin.ir.builders.declarations.IrFunctionBuilder
|
||||||
import org.jetbrains.kotlin.ir.builders.declarations.addValueParameter
|
import org.jetbrains.kotlin.ir.builders.declarations.addValueParameter
|
||||||
import org.jetbrains.kotlin.ir.declarations.*
|
import org.jetbrains.kotlin.ir.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||||
import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl
|
import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl
|
||||||
import org.jetbrains.kotlin.ir.symbols.*
|
import org.jetbrains.kotlin.ir.symbols.*
|
||||||
@@ -607,7 +606,7 @@ class IrBuiltInsOverFir(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun createPackage(fqName: FqName): IrExternalPackageFragment =
|
private fun createPackage(fqName: FqName): IrExternalPackageFragment =
|
||||||
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(moduleDescriptor, fqName)
|
createEmptyExternalPackageFragment(moduleDescriptor, fqName)
|
||||||
|
|
||||||
private fun IrDeclarationParent.createFunction(
|
private fun IrDeclarationParent.createFunction(
|
||||||
name: String,
|
name: String,
|
||||||
|
|||||||
+3
-3
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -25,7 +25,6 @@ import org.jetbrains.kotlin.ir.declarations.impl.*
|
|||||||
import org.jetbrains.kotlin.ir.descriptors.toIrBasedKotlinType
|
import org.jetbrains.kotlin.ir.descriptors.toIrBasedKotlinType
|
||||||
import org.jetbrains.kotlin.ir.expressions.*
|
import org.jetbrains.kotlin.ir.expressions.*
|
||||||
import org.jetbrains.kotlin.ir.expressions.impl.*
|
import org.jetbrains.kotlin.ir.expressions.impl.*
|
||||||
import org.jetbrains.kotlin.ir.util.toIrConst
|
|
||||||
import org.jetbrains.kotlin.ir.symbols.*
|
import org.jetbrains.kotlin.ir.symbols.*
|
||||||
import org.jetbrains.kotlin.ir.symbols.impl.IrAnonymousInitializerSymbolImpl
|
import org.jetbrains.kotlin.ir.symbols.impl.IrAnonymousInitializerSymbolImpl
|
||||||
import org.jetbrains.kotlin.ir.symbols.impl.IrConstructorSymbolImpl
|
import org.jetbrains.kotlin.ir.symbols.impl.IrConstructorSymbolImpl
|
||||||
@@ -34,6 +33,7 @@ import org.jetbrains.kotlin.ir.symbols.impl.IrValueParameterSymbolImpl
|
|||||||
import org.jetbrains.kotlin.ir.types.*
|
import org.jetbrains.kotlin.ir.types.*
|
||||||
import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl
|
import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl
|
||||||
import org.jetbrains.kotlin.ir.util.*
|
import org.jetbrains.kotlin.ir.util.*
|
||||||
|
import org.jetbrains.kotlin.ir.util.toIrConst
|
||||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
||||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
|
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
|
||||||
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
|
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
|
||||||
@@ -356,7 +356,7 @@ private class ScriptsToClassesLowering(val context: JvmBackendContext, val inner
|
|||||||
}
|
}
|
||||||
|
|
||||||
private val scriptingJvmPackage by lazy(LazyThreadSafetyMode.PUBLICATION) {
|
private val scriptingJvmPackage by lazy(LazyThreadSafetyMode.PUBLICATION) {
|
||||||
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(context.state.module, FqName("kotlin.script.experimental.jvm"))
|
createEmptyExternalPackageFragment(context.state.module, FqName("kotlin.script.experimental.jvm"))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun IrClass.addScriptMainFun() {
|
private fun IrClass.addScriptMainFun() {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* 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.backend.jvm
|
package org.jetbrains.kotlin.backend.jvm
|
||||||
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.ir.builders.declarations.addValueParameter
|
|||||||
import org.jetbrains.kotlin.ir.builders.declarations.buildClass
|
import org.jetbrains.kotlin.ir.builders.declarations.buildClass
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrClass
|
import org.jetbrains.kotlin.ir.declarations.IrClass
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrPackageFragment
|
import org.jetbrains.kotlin.ir.declarations.IrPackageFragment
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
import org.jetbrains.kotlin.ir.declarations.createEmptyExternalPackageFragment
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
|
||||||
import org.jetbrains.kotlin.ir.types.defaultType
|
import org.jetbrains.kotlin.ir.types.defaultType
|
||||||
@@ -29,7 +29,7 @@ class JvmReflectSymbols(val context: JvmBackendContext) {
|
|||||||
private val javaLangReflect: FqName = FqName("java.lang.reflect")
|
private val javaLangReflect: FqName = FqName("java.lang.reflect")
|
||||||
|
|
||||||
private val javaLangReflectPackage: IrPackageFragment =
|
private val javaLangReflectPackage: IrPackageFragment =
|
||||||
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(context.state.module, javaLangReflect)
|
createEmptyExternalPackageFragment(context.state.module, javaLangReflect)
|
||||||
|
|
||||||
val javaLangReflectField: IrClassSymbol =
|
val javaLangReflectField: IrClassSymbol =
|
||||||
createJavaLangReflectClass(FqName("java.lang.reflect.Field")) { klass ->
|
createJavaLangReflectClass(FqName("java.lang.reflect.Field")) { klass ->
|
||||||
|
|||||||
+2
-3
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.ir.IrBuiltIns
|
|||||||
import org.jetbrains.kotlin.ir.IrStatement
|
import org.jetbrains.kotlin.ir.IrStatement
|
||||||
import org.jetbrains.kotlin.ir.builders.declarations.*
|
import org.jetbrains.kotlin.ir.builders.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.declarations.*
|
import org.jetbrains.kotlin.ir.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrVariableImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrVariableImpl
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrConst
|
import org.jetbrains.kotlin.ir.expressions.IrConst
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||||
@@ -31,7 +30,7 @@ class JvmSharedVariablesManager(
|
|||||||
val irBuiltIns: IrBuiltIns,
|
val irBuiltIns: IrBuiltIns,
|
||||||
irFactory: IrFactory,
|
irFactory: IrFactory,
|
||||||
) : SharedVariablesManager {
|
) : SharedVariablesManager {
|
||||||
private val jvmInternalPackage = IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(
|
private val jvmInternalPackage = createEmptyExternalPackageFragment(
|
||||||
module, FqName("kotlin.jvm.internal")
|
module, FqName("kotlin.jvm.internal")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -23,7 +23,6 @@ import org.jetbrains.kotlin.descriptors.annotations.KotlinTarget
|
|||||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||||
import org.jetbrains.kotlin.ir.builders.declarations.*
|
import org.jetbrains.kotlin.ir.builders.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.declarations.*
|
import org.jetbrains.kotlin.ir.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrRawFunctionReference
|
import org.jetbrains.kotlin.ir.expressions.IrRawFunctionReference
|
||||||
import org.jetbrains.kotlin.ir.expressions.impl.IrConstImpl
|
import org.jetbrains.kotlin.ir.expressions.impl.IrConstImpl
|
||||||
import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl
|
import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl
|
||||||
@@ -82,7 +81,7 @@ class JvmSymbols(
|
|||||||
private val generateOptimizedCallableReferenceSuperClasses = context.config.generateOptimizedCallableReferenceSuperClasses
|
private val generateOptimizedCallableReferenceSuperClasses = context.config.generateOptimizedCallableReferenceSuperClasses
|
||||||
|
|
||||||
private fun createPackage(fqName: FqName): IrPackageFragment =
|
private fun createPackage(fqName: FqName): IrPackageFragment =
|
||||||
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(context.state.module, fqName)
|
createEmptyExternalPackageFragment(context.state.module, fqName)
|
||||||
|
|
||||||
private fun createClass(
|
private fun createClass(
|
||||||
fqName: FqName,
|
fqName: FqName,
|
||||||
@@ -1091,7 +1090,7 @@ class JvmSymbols(
|
|||||||
private val javaLangAnnotation: FqName = FqName("java.lang.annotation")
|
private val javaLangAnnotation: FqName = FqName("java.lang.annotation")
|
||||||
|
|
||||||
private val javaLangAnnotationPackage: IrPackageFragment =
|
private val javaLangAnnotationPackage: IrPackageFragment =
|
||||||
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(context.state.module, javaLangAnnotation)
|
createEmptyExternalPackageFragment(context.state.module, javaLangAnnotation)
|
||||||
|
|
||||||
private fun buildClass(
|
private fun buildClass(
|
||||||
fqName: FqName,
|
fqName: FqName,
|
||||||
|
|||||||
+2
-2
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.ir.declarations.IrClass
|
|||||||
import org.jetbrains.kotlin.ir.declarations.IrConstructor
|
import org.jetbrains.kotlin.ir.declarations.IrConstructor
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrExternalPackageFragment
|
import org.jetbrains.kotlin.ir.declarations.IrExternalPackageFragment
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrFactory
|
import org.jetbrains.kotlin.ir.declarations.IrFactory
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
import org.jetbrains.kotlin.ir.declarations.createEmptyExternalPackageFragment
|
||||||
import org.jetbrains.kotlin.ir.descriptors.*
|
import org.jetbrains.kotlin.ir.descriptors.*
|
||||||
import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl
|
import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||||
@@ -77,7 +77,7 @@ class IrBuiltInsOverDescriptors(
|
|||||||
private val builtInsModule = builtIns.builtInsModule
|
private val builtInsModule = builtIns.builtInsModule
|
||||||
|
|
||||||
private val kotlinInternalPackage = StandardClassIds.BASE_INTERNAL_PACKAGE
|
private val kotlinInternalPackage = StandardClassIds.BASE_INTERNAL_PACKAGE
|
||||||
override val kotlinInternalPackageFragment = IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(builtInsModule, kotlinInternalPackage)
|
override val kotlinInternalPackageFragment = createEmptyExternalPackageFragment(builtInsModule, kotlinInternalPackage)
|
||||||
|
|
||||||
private val packageFragmentDescriptor = IrBuiltinsPackageFragmentDescriptorImpl(builtInsModule, KOTLIN_INTERNAL_IR_FQN)
|
private val packageFragmentDescriptor = IrBuiltinsPackageFragmentDescriptorImpl(builtInsModule, KOTLIN_INTERNAL_IR_FQN)
|
||||||
|
|
||||||
|
|||||||
-3
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.ir.symbols.IrExternalPackageFragmentSymbol
|
|||||||
import org.jetbrains.kotlin.ir.util.transformInPlace
|
import org.jetbrains.kotlin.ir.util.transformInPlace
|
||||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
||||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is a root parent element for external declarations (meaning those that come from
|
* This is a root parent element for external declarations (meaning those that come from
|
||||||
@@ -36,8 +35,6 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
abstract class IrExternalPackageFragment : IrPackageFragment() {
|
abstract class IrExternalPackageFragment : IrPackageFragment() {
|
||||||
abstract override val symbol: IrExternalPackageFragmentSymbol
|
abstract override val symbol: IrExternalPackageFragmentSymbol
|
||||||
|
|
||||||
abstract val containerSource: DeserializedContainerSource?
|
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||||
visitor.visitExternalPackageFragment(this, data)
|
visitor.visitExternalPackageFragment(this, data)
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.ir.declarations
|
package org.jetbrains.kotlin.ir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
|
||||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
|
||||||
import org.jetbrains.kotlin.ir.IrElementBase
|
import org.jetbrains.kotlin.ir.IrElementBase
|
||||||
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrPackageFragmentSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrPackageFragmentSymbol
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
|
|
||||||
@@ -21,17 +18,6 @@ import org.jetbrains.kotlin.name.FqName
|
|||||||
abstract class IrPackageFragment : IrElementBase(), IrDeclarationContainer, IrSymbolOwner {
|
abstract class IrPackageFragment : IrElementBase(), IrDeclarationContainer, IrSymbolOwner {
|
||||||
abstract override val symbol: IrPackageFragmentSymbol
|
abstract override val symbol: IrPackageFragmentSymbol
|
||||||
|
|
||||||
@ObsoleteDescriptorBasedAPI
|
|
||||||
abstract val packageFragmentDescriptor: PackageFragmentDescriptor
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This should be a link to [IrModuleFragment] instead.
|
|
||||||
*
|
|
||||||
* Unfortunately, some package fragments (e.g. some synthetic ones and [IrExternalPackageFragment])
|
|
||||||
* are not located in any IR module, but still have a module descriptor.
|
|
||||||
*/
|
|
||||||
abstract val moduleDescriptor: ModuleDescriptor
|
|
||||||
|
|
||||||
abstract var packageFqName: FqName
|
abstract var packageFqName: FqName
|
||||||
|
|
||||||
@Deprecated(
|
@Deprecated(
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2024 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.declarations
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
|
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
||||||
|
import org.jetbrains.kotlin.descriptors.impl.EmptyPackageFragmentDescriptor
|
||||||
|
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
||||||
|
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
||||||
|
import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl
|
||||||
|
import org.jetbrains.kotlin.ir.symbols.impl.IrExternalPackageFragmentSymbolImpl
|
||||||
|
import org.jetbrains.kotlin.name.FqName
|
||||||
|
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||||
|
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberDescriptor
|
||||||
|
|
||||||
|
|
||||||
|
@ObsoleteDescriptorBasedAPI
|
||||||
|
val IrPackageFragment.packageFragmentDescriptor: PackageFragmentDescriptor
|
||||||
|
get() = symbol.descriptor
|
||||||
|
|
||||||
|
@OptIn(ObsoleteDescriptorBasedAPI::class)
|
||||||
|
val IrExternalPackageFragment.containerSource: DeserializedContainerSource?
|
||||||
|
get() = (symbol.descriptor as? DeserializedMemberDescriptor)?.containerSource
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This should be a link to [IrModuleFragment] instead.
|
||||||
|
*
|
||||||
|
* Unfortunately, some package fragments (e.g. some synthetic ones and [IrExternalPackageFragment])
|
||||||
|
* are not located in any IR module, but still have a module descriptor.
|
||||||
|
*/
|
||||||
|
@OptIn(ObsoleteDescriptorBasedAPI::class)
|
||||||
|
val IrPackageFragment.moduleDescriptor
|
||||||
|
get() = if (this is IrFileImpl && isInsideModule) {
|
||||||
|
module.descriptor
|
||||||
|
} else {
|
||||||
|
packageFragmentDescriptor.containingDeclaration
|
||||||
|
}
|
||||||
|
|
||||||
|
fun createEmptyExternalPackageFragment(module: ModuleDescriptor, fqName: FqName): IrExternalPackageFragment =
|
||||||
|
IrExternalPackageFragmentImpl(
|
||||||
|
IrExternalPackageFragmentSymbolImpl(EmptyPackageFragmentDescriptor(module, fqName)), fqName
|
||||||
|
)
|
||||||
+11
-35
@@ -1,38 +1,21 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2017 JetBrains s.r.o.
|
* Copyright 2010-2024 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.
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.jetbrains.kotlin.ir.declarations.impl
|
package org.jetbrains.kotlin.ir.declarations.impl
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
|
||||||
import org.jetbrains.kotlin.descriptors.impl.EmptyPackageFragmentDescriptor
|
|
||||||
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
|
||||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrExternalPackageFragment
|
import org.jetbrains.kotlin.ir.declarations.IrExternalPackageFragment
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrExternalPackageFragmentSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrExternalPackageFragmentSymbol
|
||||||
import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI
|
import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI
|
||||||
import org.jetbrains.kotlin.ir.symbols.impl.IrExternalPackageFragmentSymbolImpl
|
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberDescriptor
|
|
||||||
|
|
||||||
class IrExternalPackageFragmentImpl(
|
class IrExternalPackageFragmentImpl(
|
||||||
override val symbol: IrExternalPackageFragmentSymbol,
|
override val symbol: IrExternalPackageFragmentSymbol,
|
||||||
override var packageFqName: FqName
|
override var packageFqName: FqName,
|
||||||
) : IrExternalPackageFragment() {
|
) : IrExternalPackageFragment() {
|
||||||
override val startOffset: Int
|
override val startOffset: Int
|
||||||
get() = UNDEFINED_OFFSET
|
get() = UNDEFINED_OFFSET
|
||||||
@@ -44,25 +27,18 @@ class IrExternalPackageFragmentImpl(
|
|||||||
symbol.bind(this)
|
symbol.bind(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ObsoleteDescriptorBasedAPI
|
|
||||||
override val packageFragmentDescriptor: PackageFragmentDescriptor
|
|
||||||
get() = symbol.descriptor
|
|
||||||
|
|
||||||
@OptIn(ObsoleteDescriptorBasedAPI::class)
|
|
||||||
override val moduleDescriptor: ModuleDescriptor
|
|
||||||
get() = packageFragmentDescriptor.containingDeclaration
|
|
||||||
|
|
||||||
@UnsafeDuringIrConstructionAPI
|
@UnsafeDuringIrConstructionAPI
|
||||||
override val declarations: MutableList<IrDeclaration> = ArrayList()
|
override val declarations: MutableList<IrDeclaration> = ArrayList()
|
||||||
|
|
||||||
@OptIn(ObsoleteDescriptorBasedAPI::class)
|
|
||||||
override val containerSource: DeserializedContainerSource?
|
|
||||||
get() = (symbol.descriptor as? DeserializedMemberDescriptor)?.containerSource
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun createEmptyExternalPackageFragment(module: ModuleDescriptor, fqName: FqName): IrExternalPackageFragment =
|
@Deprecated(
|
||||||
IrExternalPackageFragmentImpl(
|
message = "Use org.jetbrains.kotlin.ir.declarations.createEmptyExternalPackageFragment instead",
|
||||||
IrExternalPackageFragmentSymbolImpl(EmptyPackageFragmentDescriptor(module, fqName)), fqName
|
replaceWith = ReplaceWith(
|
||||||
|
"createEmptyExternalPackageFragment",
|
||||||
|
"org.jetbrains.kotlin.ir.declarations.createEmptyExternalPackageFragment"
|
||||||
)
|
)
|
||||||
|
)
|
||||||
|
fun createEmptyExternalPackageFragment(module: ModuleDescriptor, fqName: FqName): IrExternalPackageFragment =
|
||||||
|
org.jetbrains.kotlin.ir.declarations.createEmptyExternalPackageFragment(module, fqName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,12 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2016 JetBrains s.r.o.
|
* Copyright 2010-2024 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.
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.jetbrains.kotlin.ir.declarations.impl
|
package org.jetbrains.kotlin.ir.declarations.impl
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
|
||||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
||||||
import org.jetbrains.kotlin.ir.IrFileEntry
|
import org.jetbrains.kotlin.ir.IrFileEntry
|
||||||
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrFile
|
import org.jetbrains.kotlin.ir.declarations.IrFile
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||||
@@ -61,25 +48,15 @@ class IrFileImpl(
|
|||||||
|
|
||||||
override lateinit var module: IrModuleFragment
|
override lateinit var module: IrModuleFragment
|
||||||
|
|
||||||
|
internal val isInsideModule: Boolean
|
||||||
|
get() = ::module.isInitialized
|
||||||
|
|
||||||
override val startOffset: Int
|
override val startOffset: Int
|
||||||
get() = 0
|
get() = 0
|
||||||
|
|
||||||
override val endOffset: Int
|
override val endOffset: Int
|
||||||
get() = fileEntry.maxOffset
|
get() = fileEntry.maxOffset
|
||||||
|
|
||||||
@ObsoleteDescriptorBasedAPI
|
|
||||||
override val packageFragmentDescriptor: PackageFragmentDescriptor
|
|
||||||
get() = symbol.descriptor
|
|
||||||
|
|
||||||
@OptIn(ObsoleteDescriptorBasedAPI::class)
|
|
||||||
override val moduleDescriptor: ModuleDescriptor
|
|
||||||
get() {
|
|
||||||
return if (this::module.isInitialized)
|
|
||||||
module.descriptor
|
|
||||||
else
|
|
||||||
packageFragmentDescriptor.containingDeclaration
|
|
||||||
}
|
|
||||||
|
|
||||||
@UnsafeDuringIrConstructionAPI
|
@UnsafeDuringIrConstructionAPI
|
||||||
override val declarations: MutableList<IrDeclaration> = ArrayList()
|
override val declarations: MutableList<IrDeclaration> = ArrayList()
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* 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.types.impl
|
package org.jetbrains.kotlin.ir.types.impl
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
|
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||||
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
|
import org.jetbrains.kotlin.descriptors.SourceElement
|
||||||
import org.jetbrains.kotlin.ir.IrFileEntry
|
import org.jetbrains.kotlin.ir.IrFileEntry
|
||||||
import org.jetbrains.kotlin.ir.IrImplementationDetail
|
|
||||||
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
|
||||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||||
import org.jetbrains.kotlin.ir.declarations.*
|
import org.jetbrains.kotlin.ir.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrClassImpl
|
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrFileSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrFileSymbol
|
||||||
@@ -59,11 +59,6 @@ private object ErrorFile : IrFile() {
|
|||||||
get() = shouldNotBeCalled()
|
get() = shouldNotBeCalled()
|
||||||
set(_) {}
|
set(_) {}
|
||||||
|
|
||||||
@ObsoleteDescriptorBasedAPI
|
|
||||||
override val packageFragmentDescriptor: PackageFragmentDescriptor
|
|
||||||
get() = shouldNotBeCalled()
|
|
||||||
override val moduleDescriptor: ModuleDescriptor
|
|
||||||
get() = shouldNotBeCalled()
|
|
||||||
override var packageFqName: FqName
|
override var packageFqName: FqName
|
||||||
get() = FqName.ROOT
|
get() = FqName.ROOT
|
||||||
set(_) = shouldNotBeCalled()
|
set(_) = shouldNotBeCalled()
|
||||||
|
|||||||
@@ -612,17 +612,6 @@ object IrTree : AbstractTreeBuilder() {
|
|||||||
parent(symbolOwner)
|
parent(symbolOwner)
|
||||||
|
|
||||||
+symbol(packageFragmentSymbolType)
|
+symbol(packageFragmentSymbolType)
|
||||||
+field("packageFragmentDescriptor", type(Packages.descriptors, "PackageFragmentDescriptor"), mutable = false) {
|
|
||||||
optInAnnotation = obsoleteDescriptorBasedApiAnnotation
|
|
||||||
}
|
|
||||||
+field("moduleDescriptor", type(Packages.descriptors, "ModuleDescriptor"), mutable = false) {
|
|
||||||
kDoc = """
|
|
||||||
This should be a link to [IrModuleFragment] instead.
|
|
||||||
|
|
||||||
Unfortunately, some package fragments (e.g. some synthetic ones and [IrExternalPackageFragment])
|
|
||||||
are not located in any IR module, but still have a module descriptor.
|
|
||||||
""".trimIndent()
|
|
||||||
}
|
|
||||||
+field("packageFqName", type<FqName>())
|
+field("packageFqName", type<FqName>())
|
||||||
+field("fqName", type<FqName>()) {
|
+field("fqName", type<FqName>()) {
|
||||||
defaultValueInBase = "packageFqName"
|
defaultValueInBase = "packageFqName"
|
||||||
@@ -660,7 +649,6 @@ object IrTree : AbstractTreeBuilder() {
|
|||||||
parent(packageFragment)
|
parent(packageFragment)
|
||||||
|
|
||||||
+symbol(externalPackageFragmentSymbolType)
|
+symbol(externalPackageFragmentSymbolType)
|
||||||
+field("containerSource", type<DeserializedContainerSource>(), nullable = true, mutable = false)
|
|
||||||
}
|
}
|
||||||
val file: Element by element(Declaration) {
|
val file: Element by element(Declaration) {
|
||||||
needTransformMethod()
|
needTransformMethod()
|
||||||
|
|||||||
+2
-3
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.descriptors.Modality
|
|||||||
import org.jetbrains.kotlin.ir.IrBuiltIns
|
import org.jetbrains.kotlin.ir.IrBuiltIns
|
||||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||||
import org.jetbrains.kotlin.ir.declarations.*
|
import org.jetbrains.kotlin.ir.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
|
||||||
import org.jetbrains.kotlin.ir.linkage.IrProvider
|
import org.jetbrains.kotlin.ir.linkage.IrProvider
|
||||||
import org.jetbrains.kotlin.ir.linkage.partial.PartiallyLinkedDeclarationOrigin
|
import org.jetbrains.kotlin.ir.linkage.partial.PartiallyLinkedDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.ir.symbols.*
|
import org.jetbrains.kotlin.ir.symbols.*
|
||||||
@@ -33,7 +32,7 @@ import org.jetbrains.kotlin.types.error.ErrorUtils
|
|||||||
*/
|
*/
|
||||||
internal class MissingDeclarationStubGenerator(private val builtIns: IrBuiltIns) : IrProvider {
|
internal class MissingDeclarationStubGenerator(private val builtIns: IrBuiltIns) : IrProvider {
|
||||||
private val commonParent by lazy {
|
private val commonParent by lazy {
|
||||||
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(ErrorUtils.errorModule, FqName.ROOT)
|
createEmptyExternalPackageFragment(ErrorUtils.errorModule, FqName.ROOT)
|
||||||
}
|
}
|
||||||
|
|
||||||
private var declarationsToPatch = arrayListOf<IrDeclaration>()
|
private var declarationsToPatch = arrayListOf<IrDeclaration>()
|
||||||
|
|||||||
+2
-1
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.builtins.FunctionInterfacePackageFragment
|
|||||||
import org.jetbrains.kotlin.ir.IrDiagnosticReporter
|
import org.jetbrains.kotlin.ir.IrDiagnosticReporter
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrFile
|
import org.jetbrains.kotlin.ir.declarations.IrFile
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||||
|
import org.jetbrains.kotlin.ir.declarations.packageFragmentDescriptor
|
||||||
import org.jetbrains.kotlin.library.SerializedIrFile
|
import org.jetbrains.kotlin.library.SerializedIrFile
|
||||||
import org.jetbrains.kotlin.library.SerializedIrModule
|
import org.jetbrains.kotlin.library.SerializedIrModule
|
||||||
|
|
||||||
|
|||||||
+2
-5
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -15,10 +15,7 @@ import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
|||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.ir.IrBuiltIns
|
import org.jetbrains.kotlin.ir.IrBuiltIns
|
||||||
import org.jetbrains.kotlin.ir.builders.TranslationPluginContext
|
import org.jetbrains.kotlin.ir.builders.TranslationPluginContext
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
import org.jetbrains.kotlin.ir.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrFile
|
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrFunction
|
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
|
||||||
import org.jetbrains.kotlin.ir.linkage.IrDeserializer
|
import org.jetbrains.kotlin.ir.linkage.IrDeserializer
|
||||||
import org.jetbrains.kotlin.ir.symbols.*
|
import org.jetbrains.kotlin.ir.symbols.*
|
||||||
import org.jetbrains.kotlin.ir.util.*
|
import org.jetbrains.kotlin.ir.util.*
|
||||||
|
|||||||
+4
-4
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
* that can be found in the LICENSE file.
|
* 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.backend.konan.llvm
|
package org.jetbrains.kotlin.backend.konan.llvm
|
||||||
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.backend.konan.Context
|
|||||||
import org.jetbrains.kotlin.backend.konan.descriptors.isExpectMember
|
import org.jetbrains.kotlin.backend.konan.descriptors.isExpectMember
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrPackageFragment
|
import org.jetbrains.kotlin.ir.declarations.IrPackageFragment
|
||||||
|
import org.jetbrains.kotlin.ir.declarations.moduleDescriptor
|
||||||
import org.jetbrains.kotlin.library.metadata.CompiledKlibModuleOrigin
|
import org.jetbrains.kotlin.library.metadata.CompiledKlibModuleOrigin
|
||||||
import org.jetbrains.kotlin.library.metadata.SyntheticModulesOrigin
|
import org.jetbrains.kotlin.library.metadata.SyntheticModulesOrigin
|
||||||
import org.jetbrains.kotlin.library.metadata.klibModuleOrigin
|
import org.jetbrains.kotlin.library.metadata.klibModuleOrigin
|
||||||
@@ -17,8 +18,7 @@ private val ModuleDescriptor.llvmSymbolOrigin: CompiledKlibModuleOrigin
|
|||||||
get() {
|
get() {
|
||||||
assert(!this.isExpectMember) { this }
|
assert(!this.isExpectMember) { this }
|
||||||
|
|
||||||
val moduleOrigin = klibModuleOrigin
|
when (val moduleOrigin = klibModuleOrigin) {
|
||||||
when (moduleOrigin) {
|
|
||||||
is CompiledKlibModuleOrigin -> return moduleOrigin
|
is CompiledKlibModuleOrigin -> return moduleOrigin
|
||||||
SyntheticModulesOrigin -> error("Declaration is synthetic and can't be an origin of LLVM symbol:\n${this}")
|
SyntheticModulesOrigin -> error("Declaration is synthetic and can't be an origin of LLVM symbol:\n${this}")
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
// This file was autogenerated based on android.jar, do not edit it directly.
|
// This file was autogenerated based on android.jar, do not edit it directly.
|
||||||
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.ir.builders.declarations.*
|
|||||||
import org.jetbrains.kotlin.ir.declarations.IrFactory
|
import org.jetbrains.kotlin.ir.declarations.IrFactory
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrPackageFragment
|
import org.jetbrains.kotlin.ir.declarations.IrPackageFragment
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
import org.jetbrains.kotlin.ir.declarations.createEmptyExternalPackageFragment
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||||
import org.jetbrains.kotlin.ir.symbols.*
|
import org.jetbrains.kotlin.ir.symbols.*
|
||||||
import org.jetbrains.kotlin.ir.types.defaultType
|
import org.jetbrains.kotlin.ir.types.defaultType
|
||||||
@@ -445,7 +445,7 @@ class AndroidSymbols(
|
|||||||
}.symbol
|
}.symbol
|
||||||
|
|
||||||
private fun createPackage(packageName: String): IrPackageFragment =
|
private fun createPackage(packageName: String): IrPackageFragment =
|
||||||
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(
|
createEmptyExternalPackageFragment(
|
||||||
moduleFragment.descriptor,
|
moduleFragment.descriptor,
|
||||||
FqName(packageName)
|
FqName(packageName)
|
||||||
)
|
)
|
||||||
|
|||||||
+2
-3
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
|||||||
import org.jetbrains.kotlin.ir.builders.*
|
import org.jetbrains.kotlin.ir.builders.*
|
||||||
import org.jetbrains.kotlin.ir.builders.declarations.*
|
import org.jetbrains.kotlin.ir.builders.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.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.declarations.impl.IrFactoryImpl
|
||||||
import org.jetbrains.kotlin.ir.expressions.*
|
import org.jetbrains.kotlin.ir.expressions.*
|
||||||
import org.jetbrains.kotlin.ir.expressions.impl.IrBlockImpl
|
import org.jetbrains.kotlin.ir.expressions.impl.IrBlockImpl
|
||||||
@@ -87,7 +86,7 @@ private class AndroidIrTransformer(val extension: AndroidIrExtension, val plugin
|
|||||||
|
|
||||||
private fun createPackage(fqName: FqName) =
|
private fun createPackage(fqName: FqName) =
|
||||||
cachedPackages.getOrPut(fqName) {
|
cachedPackages.getOrPut(fqName) {
|
||||||
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(pluginContext.moduleDescriptor, fqName)
|
createEmptyExternalPackageFragment(pluginContext.moduleDescriptor, fqName)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createClass(fqName: FqName, isInterface: Boolean = false) =
|
private fun createClass(fqName: FqName, isInterface: Boolean = false) =
|
||||||
|
|||||||
+2
-5
@@ -1,20 +1,17 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* 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.kotlinx.atomicfu.compiler.backend.common
|
package org.jetbrains.kotlinx.atomicfu.compiler.backend.common
|
||||||
|
|
||||||
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
|
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns.isPrimitiveType
|
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
import org.jetbrains.kotlin.ir.IrBuiltIns
|
import org.jetbrains.kotlin.ir.IrBuiltIns
|
||||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||||
import org.jetbrains.kotlin.ir.builders.declarations.addConstructor
|
|
||||||
import org.jetbrains.kotlin.ir.builders.declarations.buildClass
|
import org.jetbrains.kotlin.ir.builders.declarations.buildClass
|
||||||
import org.jetbrains.kotlin.ir.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.declarations.impl.IrFactoryImpl
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||||
import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl
|
import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl
|
||||||
@@ -124,7 +121,7 @@ abstract class AbstractAtomicSymbols(
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected fun createPackage(packageName: String): IrPackageFragment =
|
protected fun createPackage(packageName: String): IrPackageFragment =
|
||||||
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(
|
createEmptyExternalPackageFragment(
|
||||||
moduleFragment.descriptor,
|
moduleFragment.descriptor,
|
||||||
FqName(packageName)
|
FqName(packageName)
|
||||||
)
|
)
|
||||||
|
|||||||
+2
-3
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.descriptors.*
|
|||||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||||
import org.jetbrains.kotlin.ir.builders.declarations.*
|
import org.jetbrains.kotlin.ir.builders.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.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.declarations.impl.IrFactoryImpl
|
||||||
import org.jetbrains.kotlin.ir.expressions.impl.*
|
import org.jetbrains.kotlin.ir.expressions.impl.*
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||||
@@ -95,7 +94,7 @@ class SerialInfoImplJvmIrGenerator(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun createPackage(packageName: String): IrPackageFragment =
|
private fun createPackage(packageName: String): IrPackageFragment =
|
||||||
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(
|
createEmptyExternalPackageFragment(
|
||||||
moduleFragment.descriptor,
|
moduleFragment.descriptor,
|
||||||
FqName(packageName)
|
FqName(packageName)
|
||||||
)
|
)
|
||||||
|
|||||||
+3
-2
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
* Copyright 2010-2024 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.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
|
|||||||
import org.jetbrains.kotlin.ir.declarations.IrFactory
|
import org.jetbrains.kotlin.ir.declarations.IrFactory
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrPackageFragment
|
import org.jetbrains.kotlin.ir.declarations.IrPackageFragment
|
||||||
|
import org.jetbrains.kotlin.ir.declarations.createEmptyExternalPackageFragment
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||||
import org.jetbrains.kotlin.ir.symbols.*
|
import org.jetbrains.kotlin.ir.symbols.*
|
||||||
@@ -552,7 +553,7 @@ class AndroidSymbols(
|
|||||||
}.symbol
|
}.symbol
|
||||||
|
|
||||||
private fun createPackage(packageName: String): IrPackageFragment =
|
private fun createPackage(packageName: String): IrPackageFragment =
|
||||||
IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(
|
createEmptyExternalPackageFragment(
|
||||||
moduleFragment.descriptor,
|
moduleFragment.descriptor,
|
||||||
FqName(packageName)
|
FqName(packageName)
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user