| // Copyright (c) 2019, 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. |
| |
| // @dart = 2.9 |
| |
| import 'dart:_runtime' as dart; |
| |
| import 'package:expect/expect.dart'; |
| import 'package:js/js.dart'; |
| |
| final e = Expando<int>(); |
| |
| @JS() |
| external void eval(String s); |
| |
| @JS() |
| external Object get singleton; |
| |
| void main() { |
| eval(''' |
| if (!self.singleton) { |
| self.singleton = {}; |
| } |
| '''); |
| var o = singleton; |
| Expect.equals(null, e[o]); |
| e[o] = 1; |
| |
| dart.hotRestart(); |
| Expect.equals(null, e[o]); |
| } |