| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| import "dart:_internal" as _in; |
| |
| class Class<T extends core::Object? = dynamic> extends core::Object { |
| static field core::int? _#lateStaticField1 = null; |
| static field core::bool _#lateStaticField1#isSet = false; |
| static field core::int? _#lateStaticField2 = null; |
| static field core::bool _#lateStaticField2#isSet = false; |
| field core::int? _#Class#lateInstanceField = null; |
| field core::bool _#Class#lateInstanceField#isSet = false; |
| generic-covariant-impl field self::Class::T? _#Class#lateGenericInstanceField = null; |
| field core::bool _#Class#lateGenericInstanceField#isSet = false; |
| synthetic constructor •() → self::Class<self::Class::T%> |
| : super core::Object::•() |
| ; |
| static get lateStaticField1() → core::int? |
| return self::Class::_#lateStaticField1#isSet ?{core::int?} self::Class::_#lateStaticField1 : throw new _in::LateError::fieldNI("lateStaticField1"); |
| static set lateStaticField1(core::int? #t1) → void { |
| self::Class::_#lateStaticField1#isSet = true; |
| self::Class::_#lateStaticField1 = #t1; |
| } |
| static get lateStaticField2() → core::int? |
| return self::Class::_#lateStaticField2#isSet ?{core::int?} self::Class::_#lateStaticField2 : throw new _in::LateError::fieldNI("lateStaticField2"); |
| static set lateStaticField2(core::int? #t2) → void { |
| self::Class::_#lateStaticField2#isSet = true; |
| self::Class::_#lateStaticField2 = #t2; |
| } |
| static method staticMethod() → dynamic { |
| self::throws(() → core::int? => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2"); |
| self::Class::lateStaticField2 = 42; |
| self::expect(42, self::Class::lateStaticField2); |
| } |
| get lateInstanceField() → core::int? |
| return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#lateInstanceField}{core::int?} : throw new _in::LateError::fieldNI("lateInstanceField"); |
| set lateInstanceField(core::int? #t3) → void { |
| this.{self::Class::_#Class#lateInstanceField#isSet} = true; |
| this.{self::Class::_#Class#lateInstanceField} = #t3; |
| } |
| get lateGenericInstanceField() → self::Class::T? |
| return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T?} this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} : throw new _in::LateError::fieldNI("lateGenericInstanceField"); |
| set lateGenericInstanceField(generic-covariant-impl self::Class::T? #t4) → void { |
| this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true; |
| this.{self::Class::_#Class#lateGenericInstanceField} = #t4; |
| } |
| method instanceMethod(generic-covariant-impl self::Class::T? value) → dynamic { |
| self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField"); |
| this.{self::Class::lateInstanceField} = 16; |
| self::expect(16, this.{self::Class::lateInstanceField}{core::int?}); |
| self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}{self::Class::T?}, "Read value from uninitialized Class.lateGenericInstanceField"); |
| this.{self::Class::lateGenericInstanceField} = value; |
| self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T?}); |
| } |
| } |
| extension Extension<T extends core::Object? = dynamic> on self::Class<T%> { |
| static field lateExtensionField1 = self::_#Extension|lateExtensionField1; |
| static field lateExtensionField1 = self::_#Extension|lateExtensionField1#isSet; |
| static get lateExtensionField1 = get self::Extension|lateExtensionField1; |
| static set lateExtensionField1 = set self::Extension|lateExtensionField1; |
| static field lateExtensionField2 = self::_#Extension|lateExtensionField2; |
| static field lateExtensionField2 = self::_#Extension|lateExtensionField2#isSet; |
| static get lateExtensionField2 = get self::Extension|lateExtensionField2; |
| static set lateExtensionField2 = set self::Extension|lateExtensionField2; |
| static method staticMethod = self::Extension|staticMethod; |
| } |
| static field core::int? _#lateTopLevelField = null; |
| static field core::bool _#lateTopLevelField#isSet = false; |
| static field core::int? _#Extension|lateExtensionField1 = null; |
| static field core::bool _#Extension|lateExtensionField1#isSet = false; |
| static field core::int? _#Extension|lateExtensionField2 = null; |
| static field core::bool _#Extension|lateExtensionField2#isSet = false; |
| static get lateTopLevelField() → core::int? |
| return self::_#lateTopLevelField#isSet ?{core::int?} self::_#lateTopLevelField : throw new _in::LateError::fieldNI("lateTopLevelField"); |
| static set lateTopLevelField(core::int? #t5) → void { |
| self::_#lateTopLevelField#isSet = true; |
| self::_#lateTopLevelField = #t5; |
| } |
| static get Extension|lateExtensionField1() → core::int? |
| return self::_#Extension|lateExtensionField1#isSet ?{core::int?} self::_#Extension|lateExtensionField1 : throw new _in::LateError::fieldNI("lateExtensionField1"); |
| static set Extension|lateExtensionField1(core::int? #t6) → void { |
| self::_#Extension|lateExtensionField1#isSet = true; |
| self::_#Extension|lateExtensionField1 = #t6; |
| } |
| static get Extension|lateExtensionField2() → core::int? |
| return self::_#Extension|lateExtensionField2#isSet ?{core::int?} self::_#Extension|lateExtensionField2 : throw new _in::LateError::fieldNI("lateExtensionField2"); |
| static set Extension|lateExtensionField2(core::int? #t7) → void { |
| self::_#Extension|lateExtensionField2#isSet = true; |
| self::_#Extension|lateExtensionField2 = #t7; |
| } |
| static method Extension|staticMethod() → dynamic { |
| self::throws(() → core::int? => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2"); |
| self::Extension|lateExtensionField2 = 42; |
| self::expect(42, self::Extension|lateExtensionField2); |
| } |
| static method main() → dynamic { |
| self::throws(() → core::int? => self::lateTopLevelField, "Read value from uninitialized lateTopLevelField"); |
| self::lateTopLevelField = 123; |
| self::expect(123, self::lateTopLevelField); |
| self::throws(() → core::int? => self::Class::lateStaticField1, "Read value from uninitialized Class.lateStaticField1"); |
| self::Class::lateStaticField1 = 87; |
| self::expect(87, self::Class::lateStaticField1); |
| self::Class::staticMethod(); |
| self::throws(() → core::int? => self::Extension|lateExtensionField1, "Read value from uninitialized Extension.lateExtensionField1"); |
| self::Extension|lateExtensionField1 = 87; |
| self::expect(87, self::Extension|lateExtensionField1); |
| self::Extension|staticMethod(); |
| new self::Class::•<core::int?>().{self::Class::instanceMethod}(null){(core::int?) → dynamic}; |
| new self::Class::•<core::int?>().{self::Class::instanceMethod}(0){(core::int?) → dynamic}; |
| new self::Class::•<core::int>().{self::Class::instanceMethod}(null){(core::int?) → dynamic}; |
| new self::Class::•<core::int>().{self::Class::instanceMethod}(0){(core::int?) → dynamic}; |
| } |
| 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}"; |
| } |