| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "main_lib1.dart" as mai; |
| import "dart:core" as core; |
| import "main_lib2.dart" as mai2; |
| |
| import "org-dartlang-testcase:///main_lib1.dart"; |
| import "org-dartlang-testcase:///main_lib2.dart" as lib; |
| |
| static field mai::C c = new mai::C::•(); |
| static method main() → void { |
| self::testUninitializedNonFinalInstanceField(); |
| self::testUninitializedFinalInstanceField(); |
| self::testInitializedNonFinalInstanceField(); |
| self::testInitializedFinalInstanceField(); |
| mai::testNullableUninitializedNonFinalLocal(); |
| mai::testNonNullableUninitializedNonFinalLocal(); |
| mai::testNullableUninitializedFinalLocal(); |
| mai::testNonNullableUninitializedFinalLocal(); |
| mai::testNullableInitializedNonFinalLocal(); |
| mai::testNonNullableInitializedNonFinalLocal(); |
| mai::testNullableInitializedFinalLocal(); |
| mai::testNonNullableInitializedFinalLocal(); |
| self::testUninitializedNonFinalStaticField(); |
| self::testUninitializedFinalStaticField(); |
| self::testInitializedNonFinalStaticField(); |
| self::testInitializedFinalStaticField(); |
| self::testUninitializedNonFinalTopLevelField(); |
| self::testUninitializedFinalTopLevelField(); |
| self::testInitializedNonFinalTopLevelField(); |
| self::testInitializedFinalTopLevelField(); |
| } |
| static method testUninitializedNonFinalInstanceField() → void { |
| core::print(self::c.{mai::C::a}{core::int}); |
| self::c.{mai::C::a} = 42; |
| core::print(self::c.{mai::C::a}{core::int}); |
| } |
| static method testUninitializedFinalInstanceField() → void { |
| core::print(self::c.{mai::C::b}{core::int}); |
| self::c.{mai::C::b} = 42; |
| core::print(self::c.{mai::C::b}{core::int}); |
| } |
| static method testInitializedNonFinalInstanceField() → void { |
| core::print(self::c.{mai::C::c}{core::int}); |
| self::c.{mai::C::c} = 42; |
| core::print(self::c.{mai::C::c}{core::int}); |
| } |
| static method testInitializedFinalInstanceField() → void { |
| core::print(self::c.{mai::C::d}{core::int}); |
| } |
| static method testUninitializedNonFinalStaticField() → void { |
| core::print(mai::Statics::a); |
| mai::Statics::a = 42; |
| core::print(mai::Statics::a); |
| } |
| static method testUninitializedFinalStaticField() → void { |
| core::print(mai::Statics::b); |
| mai::Statics::b = 42; |
| core::print(mai::Statics::b); |
| } |
| static method testInitializedNonFinalStaticField() → void { |
| core::print(mai::Statics::c); |
| mai::Statics::c = 42; |
| core::print(mai::Statics::c); |
| } |
| static method testInitializedFinalStaticField() → void { |
| core::print(mai::Statics::d); |
| } |
| static method testUninitializedNonFinalTopLevelField() → void { |
| core::print(mai2::a); |
| mai2::a = 42; |
| core::print(mai2::a); |
| } |
| static method testUninitializedFinalTopLevelField() → void { |
| core::print(mai2::b); |
| mai2::b = 42; |
| core::print(mai2::b); |
| } |
| static method testInitializedNonFinalTopLevelField() → void { |
| core::print(mai2::c); |
| mai2::c = 42; |
| core::print(mai2::c); |
| } |
| static method testInitializedFinalTopLevelField() → void { |
| core::print(mai2::d); |
| } |
| |
| library /*isNonNullableByDefault*/; |
| import self as mai; |
| import "dart:core" as core; |
| import "dart:_late_helper" as _la; |
| import "dart:_internal" as _in; |
| |
| class C extends core::Object { |
| field core::int _#C#a = _in::createSentinel<core::int>(); |
| field core::int _#C#b = _in::createSentinel<core::int>(); |
| field core::int _#C#c = _in::createSentinel<core::int>(); |
| field core::int _#C#d = _in::createSentinel<core::int>(); |
| synthetic constructor •() → mai::C |
| : super core::Object::•() |
| ; |
| static method _#new#tearOff() → mai::C |
| return new mai::C::•(); |
| get a() → core::int |
| return _la::_lateReadCheck<core::int>(this.{mai::C::_#C#a}{core::int}, "a"); |
| set a(core::int value) → void |
| this.{mai::C::_#C#a} = value; |
| get b() → core::int |
| return _la::_lateReadCheck<core::int>(this.{mai::C::_#C#b}{core::int}, "b"); |
| set b(core::int value) → void { |
| _la::_lateWriteOnceCheck(this.{mai::C::_#C#b}{core::int}, "b"); |
| this.{mai::C::_#C#b} = value; |
| } |
| get c() → core::int { |
| core::int value = this.{mai::C::_#C#c}{core::int}; |
| if(_in::isSentinel(value)) |
| value = this.{mai::C::_#C#c} = 1.{core::int::unary-}(){() → core::int}; |
| return value; |
| } |
| set c(core::int value) → void |
| this.{mai::C::_#C#c} = value; |
| get d() → core::int { |
| core::int value = this.{mai::C::_#C#d}{core::int}; |
| if(_in::isSentinel(value)) { |
| final core::int result = 1.{core::int::unary-}(){() → core::int}; |
| _la::_lateInitializeOnceCheck(this.{mai::C::_#C#d}{core::int}, "d"); |
| value = this.{mai::C::_#C#d} = result; |
| } |
| return value; |
| } |
| } |
| 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 •() → mai::Statics |
| : super core::Object::•() |
| ; |
| static method _#new#tearOff() → mai::Statics |
| return new mai::Statics::•(); |
| static get a() → core::int |
| return mai::Statics::_#a.{_la::_Cell::readField}<core::int>(){() → core::int}; |
| static set a(core::int value) → void |
| return mai::Statics::_#a.{_la::_Cell::value} = value; |
| static get b() → core::int |
| return mai::Statics::_#b.{_la::_Cell::readField}<core::int>(){() → core::int}; |
| static set b(core::int value) → void |
| return mai::Statics::_#b.{_la::_Cell::finalFieldValue} = value; |
| } |
| 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}); |
| } |
| |
| library /*isNonNullableByDefault*/; |
| import self as mai2; |
| import "dart:core" as core; |
| import "dart:_late_helper" as _la; |
| |
| 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}; |
| static get a() → core::int |
| return mai2::_#a.{_la::_Cell::readField}<core::int>(){() → core::int}; |
| static set a(core::int value) → void |
| return mai2::_#a.{_la::_Cell::value} = value; |
| static get b() → core::int |
| return mai2::_#b.{_la::_Cell::readField}<core::int>(){() → core::int}; |
| static set b(core::int value) → void |
| return mai2::_#b.{_la::_Cell::finalFieldValue} = value; |
| |
| |
| Extra constant evaluation status: |
| Evaluated: InstanceInvocation @ org-dartlang-testcase:///main_lib1.dart:8:16 -> DoubleConstant(-1.0) |
| Evaluated: InstanceInvocation @ org-dartlang-testcase:///main_lib1.dart:9:22 -> DoubleConstant(-1.0) |
| Evaluated: InstanceInvocation @ org-dartlang-testcase:///main_lib1.dart:15:23 -> DoubleConstant(-1.0) |
| Evaluated: InstanceInvocation @ org-dartlang-testcase:///main_lib1.dart:16:29 -> DoubleConstant(-1.0) |
| Evaluated: InstanceInvocation @ org-dartlang-testcase:///main_lib1.dart:44:17 -> DoubleConstant(-1.0) |
| Evaluated: InstanceInvocation @ org-dartlang-testcase:///main_lib1.dart:56:16 -> DoubleConstant(-1.0) |
| Evaluated: InstanceInvocation @ org-dartlang-testcase:///main_lib1.dart:63:23 -> DoubleConstant(-1.0) |
| Evaluated: InstanceInvocation @ org-dartlang-testcase:///main_lib1.dart:71:22 -> DoubleConstant(-1.0) |
| Evaluated: InstanceInvocation @ org-dartlang-testcase:///main_lib2.dart:7:14 -> DoubleConstant(-1.0) |
| Evaluated: InstanceInvocation @ org-dartlang-testcase:///main_lib2.dart:8:20 -> DoubleConstant(-1.0) |
| Extra constant evaluation: evaluated: 229, effectively constant: 10 |