| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| import "dart:_internal" as _in; |
| |
| class Class extends core::Object { |
| static const field core::int staticConstField = #C1; |
| static field core::int? staticFieldWithoutInitializer = null; |
| field core::int nonNullableInstanceFieldWithInitializer = self::init<core::int>(55); |
| field core::int? nullableInstanceFieldWithInitializer = self::init<core::int?>(17); |
| static field core::int? _#nonNullableStaticFieldWithInitializer1 = null; |
| static field core::int? _#nullableStaticFieldWithInitializer1 = null; |
| static field core::bool _#nullableStaticFieldWithInitializer1#isSet = false; |
| static field core::int? _#nonNullableStaticFieldWithInitializer2 = null; |
| static field core::int? _#nullableStaticFieldWithInitializer2 = null; |
| static field core::bool _#nullableStaticFieldWithInitializer2#isSet = false; |
| static field core::int? _#nonNullableStaticFinalFieldWithInitializer1 = null; |
| static field core::int? _#nullableStaticFinalFieldWithInitializer1 = null; |
| static field core::bool _#nullableStaticFinalFieldWithInitializer1#isSet = false; |
| static field core::int? _#nonNullableStaticFinalFieldWithInitializer2Init = null; |
| static field core::int? _#nonNullableStaticFinalFieldWithInitializer2 = null; |
| static field core::int? _#nullableStaticFinalFieldWithInitializer2Init = null; |
| static field core::int? _#nullableStaticFinalFieldWithInitializer2 = null; |
| static field core::bool _#nullableStaticFinalFieldWithInitializer2#isSet = false; |
| synthetic constructor •() → self::Class |
| : super core::Object::•() |
| ; |
| static get nonNullableStaticFieldWithInitializer1() → core::int |
| return let final core::int? #t1 = self::Class::_#nonNullableStaticFieldWithInitializer1 in #t1 == null ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer1 = self::init<core::int>(55) : #t1{core::int}; |
| static set nonNullableStaticFieldWithInitializer1(core::int nonNullableStaticFieldWithInitializer1#param) → void |
| self::Class::_#nonNullableStaticFieldWithInitializer1 = nonNullableStaticFieldWithInitializer1#param; |
| static get nullableStaticFieldWithInitializer1() → core::int? { |
| if(!self::Class::_#nullableStaticFieldWithInitializer1#isSet) { |
| self::Class::_#nullableStaticFieldWithInitializer1 = self::init<core::int?>(17); |
| self::Class::_#nullableStaticFieldWithInitializer1#isSet = true; |
| } |
| return self::Class::_#nullableStaticFieldWithInitializer1; |
| } |
| static set nullableStaticFieldWithInitializer1(core::int? nullableStaticFieldWithInitializer1#param) → void { |
| self::Class::_#nullableStaticFieldWithInitializer1#isSet = true; |
| self::Class::_#nullableStaticFieldWithInitializer1 = nullableStaticFieldWithInitializer1#param; |
| } |
| static get nonNullableStaticFieldWithInitializer2() → core::int |
| return let final core::int? #t2 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t2 == null ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55) : #t2{core::int}; |
| static set nonNullableStaticFieldWithInitializer2(core::int nonNullableStaticFieldWithInitializer2#param) → void |
| self::Class::_#nonNullableStaticFieldWithInitializer2 = nonNullableStaticFieldWithInitializer2#param; |
| static get nullableStaticFieldWithInitializer2() → core::int? { |
| if(!self::Class::_#nullableStaticFieldWithInitializer2#isSet) { |
| self::Class::_#nullableStaticFieldWithInitializer2 = self::init<core::int?>(17); |
| self::Class::_#nullableStaticFieldWithInitializer2#isSet = true; |
| } |
| return self::Class::_#nullableStaticFieldWithInitializer2; |
| } |
| static set nullableStaticFieldWithInitializer2(core::int? nullableStaticFieldWithInitializer2#param) → void { |
| self::Class::_#nullableStaticFieldWithInitializer2#isSet = true; |
| self::Class::_#nullableStaticFieldWithInitializer2 = nullableStaticFieldWithInitializer2#param; |
| } |
| static get nonNullableStaticFinalFieldWithInitializer1() → core::int |
| return let final core::int? #t3 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t3 == null ?{core::int} let final core::int #t4 = self::init<core::int>(73) in self::Class::_#nonNullableStaticFinalFieldWithInitializer1 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t4 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1") : #t3{core::int}; |
| static get nullableStaticFinalFieldWithInitializer1() → core::int? { |
| if(!self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet) { |
| final core::int? #t5 = self::init<core::int?>(19); |
| if(self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet) |
| throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer1"); |
| self::Class::_#nullableStaticFinalFieldWithInitializer1 = #t5; |
| self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet = true; |
| } |
| return self::Class::_#nullableStaticFinalFieldWithInitializer1; |
| } |
| static get nonNullableStaticFinalFieldWithInitializer2Init() → core::int |
| return let final core::int? #t6 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t6 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0 : #t6{core::int}; |
| static set nonNullableStaticFinalFieldWithInitializer2Init(core::int nonNullableStaticFinalFieldWithInitializer2Init#param) → void |
| self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = nonNullableStaticFinalFieldWithInitializer2Init#param; |
| static get nonNullableStaticFinalFieldWithInitializer2() → core::int |
| return let final core::int? #t7 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t7 == null ?{core::int} let final core::int #t8 = (let final core::int #t9 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t10 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t9.{core::num::+}(1){(core::num) → core::int} in #t9) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::Class::_#nonNullableStaticFinalFieldWithInitializer2 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t8 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2") : #t7{core::int}; |
| static get nullableStaticFinalFieldWithInitializer2Init() → core::int |
| return let final core::int? #t11 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t11 == null ?{core::int} self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0 : #t11{core::int}; |
| static set nullableStaticFinalFieldWithInitializer2Init(core::int nullableStaticFinalFieldWithInitializer2Init#param) → void |
| self::Class::_#nullableStaticFinalFieldWithInitializer2Init = nullableStaticFinalFieldWithInitializer2Init#param; |
| static get nullableStaticFinalFieldWithInitializer2() → core::int? { |
| if(!self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet) { |
| final core::int? #t12 = (let final core::int #t13 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t14 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32; |
| if(self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet) |
| throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer2"); |
| self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t12; |
| self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet = true; |
| } |
| return self::Class::_#nullableStaticFinalFieldWithInitializer2; |
| } |
| } |
| static field dynamic lastInit; |
| static const field core::int constTopLevelField = #C2; |
| static field core::int? topLevelFieldWithoutInitializer; |
| static field core::int? _#nonNullableTopLevelFieldWithInitializer1 = null; |
| static field core::int? _#nullableTopLevelFieldWithInitializer = null; |
| static field core::bool _#nullableTopLevelFieldWithInitializer#isSet = false; |
| static field core::int? _#nonNullableTopLevelFieldWithInitializer2 = null; |
| static field core::int? _#nullableTopLevelFieldWithInitializer2 = null; |
| static field core::bool _#nullableTopLevelFieldWithInitializer2#isSet = false; |
| static field core::int? _#nonNullableFinalTopLevelFieldWithInitializer1 = null; |
| static field core::int? _#nullableFinalTopLevelFieldWithInitializer1 = null; |
| static field core::bool _#nullableFinalTopLevelFieldWithInitializer1#isSet = false; |
| static field core::int? _#nonNullableFinalTopLevelFieldWithInitializer2Init = null; |
| static field core::int? _#nonNullableFinalTopLevelFieldWithInitializer2 = null; |
| static field core::int? _#nullableFinalTopLevelFieldWithInitializer2Init = null; |
| static field core::int? _#nullableFinalTopLevelFieldWithInitializer2 = null; |
| static field core::bool _#nullableFinalTopLevelFieldWithInitializer2#isSet = false; |
| static method init<T extends core::Object? = dynamic>(self::init::T% value) → self::init::T% { |
| self::lastInit = value; |
| return value; |
| } |
| static get nonNullableTopLevelFieldWithInitializer1() → core::int |
| return let final core::int? #t15 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t15 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42) : #t15{core::int}; |
| static set nonNullableTopLevelFieldWithInitializer1(core::int nonNullableTopLevelFieldWithInitializer1#param) → void |
| self::_#nonNullableTopLevelFieldWithInitializer1 = nonNullableTopLevelFieldWithInitializer1#param; |
| static get nullableTopLevelFieldWithInitializer() → core::int? { |
| if(!self::_#nullableTopLevelFieldWithInitializer#isSet) { |
| self::_#nullableTopLevelFieldWithInitializer = self::init<core::int?>(123); |
| self::_#nullableTopLevelFieldWithInitializer#isSet = true; |
| } |
| return self::_#nullableTopLevelFieldWithInitializer; |
| } |
| static set nullableTopLevelFieldWithInitializer(core::int? nullableTopLevelFieldWithInitializer#param) → void { |
| self::_#nullableTopLevelFieldWithInitializer#isSet = true; |
| self::_#nullableTopLevelFieldWithInitializer = nullableTopLevelFieldWithInitializer#param; |
| } |
| static get nonNullableTopLevelFieldWithInitializer2() → core::int |
| return let final core::int? #t16 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t16 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42) : #t16{core::int}; |
| static set nonNullableTopLevelFieldWithInitializer2(core::int nonNullableTopLevelFieldWithInitializer2#param) → void |
| self::_#nonNullableTopLevelFieldWithInitializer2 = nonNullableTopLevelFieldWithInitializer2#param; |
| static get nullableTopLevelFieldWithInitializer2() → core::int? { |
| if(!self::_#nullableTopLevelFieldWithInitializer2#isSet) { |
| self::_#nullableTopLevelFieldWithInitializer2 = self::init<core::int?>(123); |
| self::_#nullableTopLevelFieldWithInitializer2#isSet = true; |
| } |
| return self::_#nullableTopLevelFieldWithInitializer2; |
| } |
| static set nullableTopLevelFieldWithInitializer2(core::int? nullableTopLevelFieldWithInitializer2#param) → void { |
| self::_#nullableTopLevelFieldWithInitializer2#isSet = true; |
| self::_#nullableTopLevelFieldWithInitializer2 = nullableTopLevelFieldWithInitializer2#param; |
| } |
| static get nonNullableFinalTopLevelFieldWithInitializer1() → core::int |
| return let final core::int? #t17 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t17 == null ?{core::int} let final core::int #t18 = self::init<core::int>(87) in self::_#nonNullableFinalTopLevelFieldWithInitializer1 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t18 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1") : #t17{core::int}; |
| static get nullableFinalTopLevelFieldWithInitializer1() → core::int? { |
| if(!self::_#nullableFinalTopLevelFieldWithInitializer1#isSet) { |
| final core::int? #t19 = self::init<core::int?>(32); |
| if(self::_#nullableFinalTopLevelFieldWithInitializer1#isSet) |
| throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer1"); |
| self::_#nullableFinalTopLevelFieldWithInitializer1 = #t19; |
| self::_#nullableFinalTopLevelFieldWithInitializer1#isSet = true; |
| } |
| return self::_#nullableFinalTopLevelFieldWithInitializer1; |
| } |
| static get nonNullableFinalTopLevelFieldWithInitializer2Init() → core::int |
| return let final core::int? #t20 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t20 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0 : #t20{core::int}; |
| static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int nonNullableFinalTopLevelFieldWithInitializer2Init#param) → void |
| self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = nonNullableFinalTopLevelFieldWithInitializer2Init#param; |
| static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int |
| return let final core::int? #t21 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t21 == null ?{core::int} let final core::int #t22 = (let final core::int #t23 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t24 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t23.{core::num::+}(1){(core::num) → core::int} in #t23) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::_#nonNullableFinalTopLevelFieldWithInitializer2 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t22 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2") : #t21{core::int}; |
| static get nullableFinalTopLevelFieldWithInitializer2Init() → core::int |
| return let final core::int? #t25 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t25 == null ?{core::int} self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0 : #t25{core::int}; |
| static set nullableFinalTopLevelFieldWithInitializer2Init(core::int nullableFinalTopLevelFieldWithInitializer2Init#param) → void |
| self::_#nullableFinalTopLevelFieldWithInitializer2Init = nullableFinalTopLevelFieldWithInitializer2Init#param; |
| static get nullableFinalTopLevelFieldWithInitializer2() → core::int? { |
| if(!self::_#nullableFinalTopLevelFieldWithInitializer2#isSet) { |
| final core::int? #t26 = (let final core::int #t27 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t28 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t27.{core::num::+}(1){(core::num) → core::int} in #t27) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32; |
| if(self::_#nullableFinalTopLevelFieldWithInitializer2#isSet) |
| throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer2"); |
| self::_#nullableFinalTopLevelFieldWithInitializer2 = #t26; |
| self::_#nullableFinalTopLevelFieldWithInitializer2#isSet = true; |
| } |
| return self::_#nullableFinalTopLevelFieldWithInitializer2; |
| } |
| static method main() → dynamic { |
| self::expect(null, self::lastInit); |
| self::expect(null, self::topLevelFieldWithoutInitializer); |
| self::expect(324, #C2); |
| self::expect(null, self::Class::staticFieldWithoutInitializer); |
| self::expect(123, #C1); |
| self::expect(42, self::nonNullableTopLevelFieldWithInitializer1); |
| self::expect(42, self::lastInit); |
| self::expect(123, self::nullableTopLevelFieldWithInitializer); |
| self::expect(123, self::lastInit); |
| self::nonNullableTopLevelFieldWithInitializer2 = 56; |
| self::expect(123, self::lastInit); |
| self::expect(56, self::nonNullableTopLevelFieldWithInitializer2); |
| self::expect(123, self::lastInit); |
| self::nullableTopLevelFieldWithInitializer2 = 7; |
| self::expect(123, self::lastInit); |
| self::expect(7, self::nullableTopLevelFieldWithInitializer2); |
| self::expect(123, self::lastInit); |
| self::expect(87, self::nonNullableFinalTopLevelFieldWithInitializer1); |
| self::expect(87, self::lastInit); |
| self::expect(32, self::nullableFinalTopLevelFieldWithInitializer1); |
| self::expect(32, self::lastInit); |
| self::throws(() → core::int => self::nonNullableFinalTopLevelFieldWithInitializer2, "Read nonNullableFinalTopLevelFieldWithInitializer2"); |
| self::throws(() → core::int? => self::nullableFinalTopLevelFieldWithInitializer2, "Read nullableFinalTopLevelFieldWithInitializer2"); |
| self::expect(55, self::Class::nonNullableStaticFieldWithInitializer1); |
| self::expect(55, self::lastInit); |
| self::expect(17, self::Class::nullableStaticFieldWithInitializer1); |
| self::expect(17, self::lastInit); |
| self::Class::nonNullableStaticFieldWithInitializer2 = 63; |
| self::expect(17, self::lastInit); |
| self::expect(63, self::Class::nonNullableStaticFieldWithInitializer2); |
| self::expect(17, self::lastInit); |
| self::Class::nullableStaticFieldWithInitializer2 = 89; |
| self::expect(17, self::lastInit); |
| self::expect(89, self::Class::nullableStaticFieldWithInitializer2); |
| self::expect(17, self::lastInit); |
| self::expect(73, self::Class::nonNullableStaticFinalFieldWithInitializer1); |
| self::expect(73, self::lastInit); |
| self::expect(19, self::Class::nullableStaticFinalFieldWithInitializer1); |
| self::expect(19, self::lastInit); |
| self::throws(() → core::int => self::Class::nonNullableStaticFinalFieldWithInitializer2, "Read nonNullableStaticFinalFieldWithInitializer2"); |
| self::throws(() → core::int? => self::Class::nullableStaticFinalFieldWithInitializer2, "Read nullableStaticFinalFieldWithInitializer2"); |
| self::Class c = new self::Class::•(); |
| self::expect(17, self::lastInit); |
| self::expect(55, c.{self::Class::nonNullableInstanceFieldWithInitializer}{core::int}); |
| self::expect(17, c.{self::Class::nullableInstanceFieldWithInitializer}{core::int?}); |
| } |
| static method expect(dynamic expected, dynamic actual) → dynamic { |
| if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) |
| throw "Expected ${expected}, actual ${actual}"; |
| } |
| static method throws(() → dynamic f, core::String message) → dynamic { |
| dynamic value; |
| try { |
| value = f(){() → dynamic}; |
| } |
| on core::Error catch(final core::Error e) { |
| core::print(e); |
| return; |
| } |
| throw "${message}: ${value}"; |
| } |
| |
| constants { |
| #C1 = 123 |
| #C2 = 324 |
| } |