[vm] WeakReference remove unnecessary as check

TEST=runtime/tests/vm/dart/finalizer/weak_reference_run_gc_test.dart

Change-Id: I3f39db23a7d0965271d8e5e89be7ed7204685dc4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/229146
Reviewed-by: Martin Kustermann <kustermann@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
This commit is contained in:
Daco Harkes 2022-01-20 15:41:07 +00:00 committed by Commit Bot
parent bab2d07b84
commit 82a7299316

View file

@ -170,10 +170,7 @@ class Expando<T> {
@patch
class WeakReference<T extends Object> {
@patch
factory WeakReference(T object) {
final weakProperty = _WeakProperty()..key = object;
return _WeakReferenceImpl<T>(weakProperty);
}
factory WeakReference(T object) = _WeakReferenceImpl<T>;
}
class _WeakReferenceImpl<T extends Object> implements WeakReference<T> {
@ -181,9 +178,9 @@ class _WeakReferenceImpl<T extends Object> implements WeakReference<T> {
// instead of reusing WeakProperty.
final _WeakProperty _weakProperty;
_WeakReferenceImpl(this._weakProperty);
_WeakReferenceImpl(T object) : _weakProperty = _WeakProperty()..key = object;
T? get target => _weakProperty.key as T?;
T? get target => unsafeCast<T?>(_weakProperty.key);
}
@patch