From c97124ea6004b0aae34619c1bf1e59b29a9f9078 Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Fri, 13 Apr 2018 15:26:44 +0300 Subject: [PATCH] Make weak reference work only on non-nullable types. (#1496) --- runtime/src/main/kotlin/konan/ref/Weak.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/runtime/src/main/kotlin/konan/ref/Weak.kt b/runtime/src/main/kotlin/konan/ref/Weak.kt index 198dbe0b435..f31e6173273 100644 --- a/runtime/src/main/kotlin/konan/ref/Weak.kt +++ b/runtime/src/main/kotlin/konan/ref/Weak.kt @@ -21,13 +21,12 @@ package konan.ref * retrieve a strong reference to an object, or return null, if object was already destoyed by * the memory manager. */ -class WeakReference { +class WeakReference { /** * Creates a weak reference object pointing to an object. Weak reference doesn't prevent * removing object, and is nullified once object is collected. */ constructor(referred: T) { - if (referred == null) throw Error("Weak reference to null?") pointer = getWeakReferenceCounter(referred) } @@ -49,4 +48,4 @@ class WeakReference { * Returns either reference to an object or null, if it was collected. */ @Suppress("NON_PUBLIC_CALL_FROM_PUBLIC_INLINE") -public inline fun WeakReference.get() = pointer?.get() as T? +public inline fun WeakReference.get() = pointer?.get() as T?