| library /*isNonNullableByDefault*/; |
| import self as self; |
| 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 •() → self::C |
| : super core::Object::•() |
| ; |
| get a() → core::int |
| return _la::_lateReadCheck<core::int>(this.{self::C::_#C#a}{core::int}, "a"); |
| set a(core::int value) → void |
| this.{self::C::_#C#a} = value; |
| get b() → core::int |
| return _la::_lateReadCheck<core::int>(this.{self::C::_#C#b}{core::int}, "b"); |
| set b(core::int value) → void { |
| _la::_lateWriteOnceCheck(this.{self::C::_#C#b}{core::int}, "b"); |
| this.{self::C::_#C#b} = value; |
| } |
| get c() → core::int { |
| core::int value = this.{self::C::_#C#c}{core::int}; |
| if(_in::isSentinel(value)) |
| value = this.{self::C::_#C#c} = 1.{core::int::unary-}(){() → core::int}; |
| return value; |
| } |
| set c(core::int value) → void |
| this.{self::C::_#C#c} = value; |
| get d() → core::int { |
| core::int value = this.{self::C::_#C#d}{core::int}; |
| if(_in::isSentinel(value)) { |
| final core::int result = 1.{core::int::unary-}(){() → core::int}; |
| _la::_lateInitializeOnceCheck(this.{self::C::_#C#d}{core::int}, "d"); |
| value = this.{self::C::_#C#d} = result; |
| } |
| return value; |
| } |
| } |
| static field self::C c = new self::C::•(); |
| static method main() → void { |
| self::testUninitializedNonFinalInstanceField(); |
| self::testUninitializedFinalInstanceField(); |
| self::testInitializedNonFinalInstanceField(); |
| self::testInitializedFinalInstanceField(); |
| } |
| static method testUninitializedNonFinalInstanceField() → void { |
| core::print(self::c.{self::C::a}{core::int}); |
| self::c.{self::C::a} = 42; |
| core::print(self::c.{self::C::a}{core::int}); |
| } |
| static method testUninitializedFinalInstanceField() → void { |
| core::print(self::c.{self::C::b}{core::int}); |
| self::c.{self::C::b} = 42; |
| core::print(self::c.{self::C::b}{core::int}); |
| } |
| static method testInitializedNonFinalInstanceField() → void { |
| core::print(self::c.{self::C::c}{core::int}); |
| self::c.{self::C::c} = 42; |
| core::print(self::c.{self::C::c}{core::int}); |
| } |
| static method testInitializedFinalInstanceField() → void { |
| core::print(self::c.{self::C::d}{core::int}); |
| } |
| |
| |
| Extra constant evaluation status: |
| Evaluated: InstanceInvocation @ org-dartlang-testcase:///late_fields.dart:15:16 -> DoubleConstant(-1.0) |
| Evaluated: InstanceInvocation @ org-dartlang-testcase:///late_fields.dart:16:22 -> DoubleConstant(-1.0) |
| Extra constant evaluation: evaluated: 76, effectively constant: 2 |