blob: 39d75e16579010dd129fdf9da000c2348c9e4599 [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:_late_helper" as _la;
import "late_statics_lib.dart" as lat;
additionalExports = (lat::c,
lat::c,
lat::d,
lat::a,
lat::b)
import "org-dartlang-testcase:///late_statics_lib.dart" as lib;
export "org-dartlang-testcase:///late_statics_lib.dart";
class Statics extends core::Object {
static final field _la::_Cell a = new _la::_Cell::named("a");
static final field _la::_Cell b = new _la::_Cell::named("b");
late static field core::int c = 1.{core::int::unary-}(){() core::int};
late static final field core::int d = 1.{core::int::unary-}(){() core::int};
synthetic constructor •() self::Statics
: super core::Object::•()
;
}
static method main() void {
self::testUninitializedNonFinalStaticField();
self::testUninitializedFinalStaticField();
self::testInitializedNonFinalStaticField();
self::testInitializedFinalStaticField();
self::testUninitializedNonFinalTopLevelField();
self::testUninitializedFinalTopLevelField();
self::testInitializedNonFinalTopLevelField();
self::testInitializedFinalTopLevelField();
}
static method testUninitializedNonFinalStaticField() void {
core::print(self::Statics::a.{_la::_Cell::readField}<core::int>(){() core::int});
self::Statics::a.{_la::_Cell::value} = 42;
core::print(self::Statics::a.{_la::_Cell::readField}<core::int>(){() core::int});
}
static method testUninitializedFinalStaticField() void {
core::print(self::Statics::b.{_la::_Cell::readField}<core::int>(){() core::int});
self::Statics::b.{_la::_Cell::finalFieldValue} = 42;
core::print(self::Statics::b.{_la::_Cell::readField}<core::int>(){() core::int});
}
static method testInitializedNonFinalStaticField() void {
core::print(self::Statics::c);
self::Statics::c = 42;
core::print(self::Statics::c);
}
static method testInitializedFinalStaticField() void {
core::print(self::Statics::d);
}
static method testUninitializedNonFinalTopLevelField() void {
core::print(lat::a.{_la::_Cell::readField}<core::int>(){() core::int});
lat::a.{_la::_Cell::value} = 42;
core::print(lat::a.{_la::_Cell::readField}<core::int>(){() core::int});
}
static method testUninitializedFinalTopLevelField() void {
core::print(lat::b.{_la::_Cell::readField}<core::int>(){() core::int});
lat::b.{_la::_Cell::finalFieldValue} = 42;
core::print(lat::b.{_la::_Cell::readField}<core::int>(){() core::int});
}
static method testInitializedNonFinalTopLevelField() void {
core::print(lat::c);
lat::c = 42;
core::print(lat::c);
}
static method testInitializedFinalTopLevelField() void {
core::print(lat::d);
}
library /*isNonNullableByDefault*/;
import self as lat;
import "dart:_late_helper" as _la;
import "dart:core" as core;
static final field _la::_Cell a = new _la::_Cell::named("a");
static final field _la::_Cell b = new _la::_Cell::named("b");
late static field core::int c = 1.{core::int::unary-}(){() core::int};
late static final field core::int d = 1.{core::int::unary-}(){() core::int};
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///late_statics.dart:22:23 -> DoubleConstant(-1.0)
Evaluated: InstanceInvocation @ org-dartlang-testcase:///late_statics.dart:23:29 -> DoubleConstant(-1.0)
Evaluated: InstanceInvocation @ org-dartlang-testcase:///late_statics_lib.dart:7:14 -> DoubleConstant(-1.0)
Evaluated: InstanceInvocation @ org-dartlang-testcase:///late_statics_lib.dart:8:20 -> DoubleConstant(-1.0)
Extra constant evaluation: evaluated: 62, effectively constant: 4