blob: 6d1d0ccf6d8e346fb324fb163670faa3c9b6da2e [file] [log] [blame]
// Copyright (c) 2020, 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
// Tests that lazily-loaded fields are properly reset after hot restarts.
import 'package:expect/expect.dart';
import 'dart:_runtime' as dart;
double lazy = 3.14;
class Lazies {
static String s = "default";
}
main() {
Expect.equals(Lazies.s, "default");
Lazies.s = "set";
Expect.equals(Lazies.s, "set");
Expect.equals(lazy, 3.14);
lazy = 2.72;
Expect.equals(lazy, 2.72);
dart.hotRestart();
Expect.equals(Lazies.s, "default");
Lazies.s = "set";
Expect.equals(Lazies.s, "set");
Expect.equals(lazy, 3.14);
lazy = 2.72;
Expect.equals(lazy, 2.72);
dart.hotRestart();
dart.hotRestart();
Expect.equals(Lazies.s, "default");
Expect.equals(lazy, 3.14);
}