blob: 30de9b013183f8dda55d4c9d62f10463f7d7179c [file] [log] [blame] [edit]
// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:expect/expect.dart';
import 'package:reload_test/reload_test_utils.dart';
// Adapted from:
// https://github.com/dart-lang/sdk/blob/13f5fc6b168d8b6e5843d17fb9ba77f1343a7dfe/runtime/vm/isolate_reload_test.cc#L4140
class A {
var x;
var y;
var z;
var w;
get yourself => this;
}
var retained1;
var retained2;
Future<void> main() async {
retained1 = new A();
retained2 = new A();
retained1.x = retained2;
retained2.x = retained1;
Expect.identical(retained1.x.yourself, retained2);
Expect.identical(retained2.x.yourself, retained1);
await hotReload();
Expect.identical(retained1.x.yourself, retained2);
Expect.identical(retained2.x.yourself, retained1);
}
/** DIFF **/
/*
class A {
var x;
+ var y;
+ var z;
+ var w;
get yourself => this;
}
@@ -25,4 +28,7 @@ Future<void> main() async {
Expect.identical(retained2.x.yourself, retained1);
await hotReload();
+
+ Expect.identical(retained1.x.yourself, retained2);
+ Expect.identical(retained2.x.yourself, retained1);
}
*/