Provide publicly visible identity hash code. (#3690)
* Provide publicly visible identity hash code. * Review feedback.
This commit is contained in:
+6
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.resolve.konan.platform
|
package org.jetbrains.kotlin.resolve.konan.platform
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.resolve.ImportPath
|
import org.jetbrains.kotlin.resolve.ImportPath
|
||||||
import org.jetbrains.kotlin.resolve.PlatformConfigurator
|
import org.jetbrains.kotlin.resolve.PlatformConfigurator
|
||||||
import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices
|
import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices
|
||||||
@@ -16,4 +17,9 @@ object NativePlatformAnalyzerServices : PlatformDependentAnalyzerServices() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override val platformConfigurator: PlatformConfigurator = KonanPlatformConfigurator
|
override val platformConfigurator: PlatformConfigurator = KonanPlatformConfigurator
|
||||||
|
|
||||||
|
override val excludedImports: List<FqName> =
|
||||||
|
listOf("identityHashCode").map {
|
||||||
|
FqName("kotlin.native.$it")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package kotlin
|
package kotlin
|
||||||
|
|
||||||
|
import kotlin.native.identityHashCode
|
||||||
import kotlin.native.internal.ExportTypeInfo
|
import kotlin.native.internal.ExportTypeInfo
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -47,7 +48,3 @@ public open class Any {
|
|||||||
return "$className@$hashCodeStr"
|
return "$className@$hashCodeStr"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@PublishedApi
|
|
||||||
@SymbolName("Kotlin_Any_hashCode")
|
|
||||||
external internal fun Any.identityHashCode(): Int
|
|
||||||
|
|||||||
@@ -51,4 +51,11 @@ public fun setUnhandledExceptionHook(hook: ReportUnhandledExceptionHook): Report
|
|||||||
}
|
}
|
||||||
|
|
||||||
@SymbolName("Kotlin_setUnhandledExceptionHook")
|
@SymbolName("Kotlin_setUnhandledExceptionHook")
|
||||||
external private fun setUnhandledExceptionHook0(hook: ReportUnhandledExceptionHook): ReportUnhandledExceptionHook?
|
external private fun setUnhandledExceptionHook0(hook: ReportUnhandledExceptionHook): ReportUnhandledExceptionHook?
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compute stable wrt potential object relocations by the memory manager identity hash code.
|
||||||
|
* @return 0 for `null` object, identity hash code otherwise.
|
||||||
|
*/
|
||||||
|
@SymbolName("Kotlin_Any_hashCode")
|
||||||
|
public external fun Any?.identityHashCode(): Int
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
package kotlin.native.concurrent
|
package kotlin.native.concurrent
|
||||||
|
|
||||||
import kotlin.native.internal.ExportForCppRuntime
|
import kotlin.native.internal.ExportForCppRuntime
|
||||||
|
import kotlin.native.identityHashCode
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
import kotlinx.cinterop.*
|
import kotlinx.cinterop.*
|
||||||
|
|
||||||
|
|||||||
@@ -205,4 +205,4 @@ internal fun <T> listOfInternal(vararg elements: T): List<T> {
|
|||||||
|
|
||||||
@PublishedApi
|
@PublishedApi
|
||||||
@SymbolName("OnUnhandledException")
|
@SymbolName("OnUnhandledException")
|
||||||
external internal fun OnUnhandledException(throwable: Throwable)
|
external internal fun OnUnhandledException(throwable: Throwable)
|
||||||
|
|||||||
Reference in New Issue
Block a user