[descriptors] Move DeclarationDescriptor#findPackage helper to core
There is nothing serialization-specific about this function
This commit is contained in:
committed by
teamcity
parent
dff2d2ed60
commit
5cb252fe49
+2
-4
@@ -24,10 +24,8 @@ internal val DeclarationDescriptor.isExpectMember: Boolean
|
|||||||
internal val DeclarationDescriptor.isSerializableExpectClass: Boolean
|
internal val DeclarationDescriptor.isSerializableExpectClass: Boolean
|
||||||
get() = this is ClassDescriptor && OptionalAnnotationUtil.shouldGenerateExpectClass(this)
|
get() = this is ClassDescriptor && OptionalAnnotationUtil.shouldGenerateExpectClass(this)
|
||||||
|
|
||||||
tailrec fun DeclarationDescriptor.findPackage(): PackageFragmentDescriptor {
|
@Deprecated("Moved to the ':core:descriptors' module", level = DeprecationLevel.HIDDEN)
|
||||||
return if (this is PackageFragmentDescriptor) this
|
fun DeclarationDescriptor.findPackage(): PackageFragmentDescriptor = findPackage()
|
||||||
else this.containingDeclaration!!.findPackage()
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun sourceByIndex(descriptor: CallableMemberDescriptor, index: Int): SourceFile {
|
private fun sourceByIndex(descriptor: CallableMemberDescriptor, index: Int): SourceFile {
|
||||||
val fragment = descriptor.findPackage() as KlibMetadataDeserializedPackageFragment
|
val fragment = descriptor.findPackage() as KlibMetadataDeserializedPackageFragment
|
||||||
|
|||||||
@@ -106,3 +106,8 @@ fun FunctionDescriptor.isTypedEqualsInValueClass(): Boolean {
|
|||||||
fun FunctionDescriptor.overridesEqualsFromAny(): Boolean = name == OperatorNameConventions.EQUALS
|
fun FunctionDescriptor.overridesEqualsFromAny(): Boolean = name == OperatorNameConventions.EQUALS
|
||||||
&& valueParameters.size == 1 && valueParameters[0].type.isNullableAny()
|
&& valueParameters.size == 1 && valueParameters[0].type.isNullableAny()
|
||||||
&& contextReceiverParameters.isEmpty() && extensionReceiverParameter == null
|
&& contextReceiverParameters.isEmpty() && extensionReceiverParameter == null
|
||||||
|
|
||||||
|
tailrec fun DeclarationDescriptor.findPackage(): PackageFragmentDescriptor {
|
||||||
|
return if (this is PackageFragmentDescriptor) this
|
||||||
|
else this.containingDeclaration!!.findPackage()
|
||||||
|
}
|
||||||
-1
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.backend.konan
|
package org.jetbrains.kotlin.backend.konan
|
||||||
|
|
||||||
import org.jetbrains.kotlin.backend.konan.descriptors.findPackage
|
|
||||||
import org.jetbrains.kotlin.builtins.FunctionInterfacePackageFragment
|
import org.jetbrains.kotlin.builtins.FunctionInterfacePackageFragment
|
||||||
import org.jetbrains.kotlin.builtins.functions.FunctionClassDescriptor
|
import org.jetbrains.kotlin.builtins.functions.FunctionClassDescriptor
|
||||||
import org.jetbrains.kotlin.builtins.functions.FunctionTypeKind
|
import org.jetbrains.kotlin.builtins.functions.FunctionTypeKind
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.backend.konan
|
package org.jetbrains.kotlin.backend.konan
|
||||||
|
|
||||||
import org.jetbrains.kotlin.utils.atMostOne
|
import org.jetbrains.kotlin.utils.atMostOne
|
||||||
import org.jetbrains.kotlin.backend.konan.descriptors.findPackage
|
import org.jetbrains.kotlin.descriptors.findPackage
|
||||||
import org.jetbrains.kotlin.backend.konan.ir.getSuperClassNotAny
|
import org.jetbrains.kotlin.backend.konan.ir.getSuperClassNotAny
|
||||||
import org.jetbrains.kotlin.builtins.PrimitiveType
|
import org.jetbrains.kotlin.builtins.PrimitiveType
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
|
|||||||
-1
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.backend.konan
|
package org.jetbrains.kotlin.backend.konan
|
||||||
|
|
||||||
import org.jetbrains.kotlin.backend.konan.descriptors.findPackage
|
|
||||||
import org.jetbrains.kotlin.backend.konan.descriptors.getAnnotationStringValue
|
import org.jetbrains.kotlin.backend.konan.descriptors.getAnnotationStringValue
|
||||||
import org.jetbrains.kotlin.backend.konan.descriptors.getAnnotationValueOrNull
|
import org.jetbrains.kotlin.backend.konan.descriptors.getAnnotationValueOrNull
|
||||||
import org.jetbrains.kotlin.backend.konan.descriptors.getStringValue
|
import org.jetbrains.kotlin.backend.konan.descriptors.getStringValue
|
||||||
|
|||||||
-5
@@ -81,11 +81,6 @@ fun ClassDescriptor.isAbstract() = this.modality == Modality.SEALED || this.moda
|
|||||||
internal val FunctionDescriptor.target: FunctionDescriptor
|
internal val FunctionDescriptor.target: FunctionDescriptor
|
||||||
get() = (if (modality == Modality.ABSTRACT) this else resolveFakeOverride()).original
|
get() = (if (modality == Modality.ABSTRACT) this else resolveFakeOverride()).original
|
||||||
|
|
||||||
tailrec internal fun DeclarationDescriptor.findPackage(): PackageFragmentDescriptor {
|
|
||||||
return if (this is PackageFragmentDescriptor) this
|
|
||||||
else this.containingDeclaration!!.findPackage()
|
|
||||||
}
|
|
||||||
|
|
||||||
internal fun DeclarationDescriptor.findPackageView(): PackageViewDescriptor {
|
internal fun DeclarationDescriptor.findPackageView(): PackageViewDescriptor {
|
||||||
val packageFragment = this.findPackage()
|
val packageFragment = this.findPackage()
|
||||||
return packageFragment.module.getPackage(packageFragment.fqName)
|
return packageFragment.module.getPackage(packageFragment.fqName)
|
||||||
|
|||||||
+1
-1
@@ -9,12 +9,12 @@ import org.jetbrains.kotlin.backend.common.serialization.DescriptorByIdSignature
|
|||||||
import org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer
|
import org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializerKind
|
import org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializerKind
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.encodings.BinarySymbolData
|
import org.jetbrains.kotlin.backend.common.serialization.encodings.BinarySymbolData
|
||||||
import org.jetbrains.kotlin.backend.konan.descriptors.findPackage
|
|
||||||
import org.jetbrains.kotlin.backend.konan.descriptors.isInteropLibrary
|
import org.jetbrains.kotlin.backend.konan.descriptors.isInteropLibrary
|
||||||
import org.jetbrains.kotlin.backend.konan.ir.interop.IrProviderForCEnumAndCStructStubs
|
import org.jetbrains.kotlin.backend.konan.ir.interop.IrProviderForCEnumAndCStructStubs
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
||||||
|
import org.jetbrains.kotlin.descriptors.findPackage
|
||||||
import org.jetbrains.kotlin.ir.IrBuiltIns
|
import org.jetbrains.kotlin.ir.IrBuiltIns
|
||||||
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
|
||||||
|
|||||||
Reference in New Issue
Block a user