blob: f7c1b794bf8333582b285fd5704644cd71b68532 [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:_late_helper" as _la;
import "dart:core" as core;
static method main() void {
self::testNullableUninitializedNonFinalLocal();
self::testNonNullableUninitializedNonFinalLocal();
self::testNullableUninitializedFinalLocal();
self::testNonNullableUninitializedFinalLocal();
self::testNullableInitializedNonFinalLocal();
self::testNonNullableInitializedNonFinalLocal();
self::testNullableInitializedFinalLocal();
self::testNonNullableInitializedFinalLocal();
}
static method testNullableUninitializedNonFinalLocal() void {
final _la::_Cell x = new _la::_Cell::named("x");
x.{_la::_Cell::value} = 42;
core::print(x.{_la::_Cell::readLocal}<core::int>(){() core::int});
}
static method testNonNullableUninitializedNonFinalLocal() void {
final _la::_Cell x = new _la::_Cell::named("x");
x.{_la::_Cell::value} = 42;
core::print(x.{_la::_Cell::readLocal}<core::int>(){() core::int});
}
static method testNullableUninitializedFinalLocal() void {
final _la::_Cell x = new _la::_Cell::named("x");
x.{_la::_Cell::finalLocalValue} = 42;
core::print(x.{_la::_Cell::readLocal}<core::int>(){() core::int});
}
static method testNonNullableUninitializedFinalLocal() void {
final _la::_Cell x = new _la::_Cell::named("x");
x.{_la::_Cell::finalLocalValue} = 42;
core::print(x.{_la::_Cell::readLocal}<core::int>(){() core::int});
}
static method testNullableInitializedNonFinalLocal() void {
final _la::_InitializedCell x = new _la::_InitializedCell::named("x", () core::int? => 1.{core::int::unary-}(){() core::int});
core::print(x.{_la::_InitializedCell::read}<core::int>(){() core::int});
x.{_la::_InitializedCell::value} = 42;
core::print(x.{_la::_InitializedCell::read}<core::int>(){() core::int});
final _la::_InitializedCell y = new _la::_InitializedCell::named("y", () core::int? => null);
core::print(y.{_la::_InitializedCell::read}<core::int?>(){() core::int?});
y.{_la::_InitializedCell::value} = 42;
core::print(y.{_la::_InitializedCell::read}<core::int>(){() core::int});
}
static method testNonNullableInitializedNonFinalLocal() void {
final _la::_InitializedCell x = new _la::_InitializedCell::named("x", () core::int => 1.{core::int::unary-}(){() core::int});
core::print(x.{_la::_InitializedCell::read}<core::int>(){() core::int});
x.{_la::_InitializedCell::value} = 42;
core::print(x.{_la::_InitializedCell::read}<core::int>(){() core::int});
}
static method testNullableInitializedFinalLocal() void {
final _la::_InitializedCell x = new _la::_InitializedCell::named("x", () core::int? => 1.{core::int::unary-}(){() core::int});
core::print(x.{_la::_InitializedCell::readFinal}<core::int?>(){() core::int?});
final _la::_InitializedCell y = new _la::_InitializedCell::named("y", () core::int? => null);
core::print(y.{_la::_InitializedCell::readFinal}<core::int?>(){() core::int?});
}
static method testNonNullableInitializedFinalLocal() void {
final _la::_InitializedCell x = new _la::_InitializedCell::named("x", () core::int => 1.{core::int::unary-}(){() core::int});
core::print(x.{_la::_InitializedCell::readFinal}<core::int>(){() core::int});
}
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///late_locals.dart:41:17 -> DoubleConstant(-1.0)
Evaluated: InstanceInvocation @ org-dartlang-testcase:///late_locals.dart:53:16 -> DoubleConstant(-1.0)
Evaluated: InstanceInvocation @ org-dartlang-testcase:///late_locals.dart:60:23 -> DoubleConstant(-1.0)
Evaluated: InstanceInvocation @ org-dartlang-testcase:///late_locals.dart:68:22 -> DoubleConstant(-1.0)
Extra constant evaluation: evaluated: 81, effectively constant: 4