mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 05:07:52 +00:00
[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:
parent
bab2d07b84
commit
82a7299316
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue