| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| typedef TakeInts = (core::int?, core::int?, core::int?, core::int?, core::int?) → void; |
| typedef TakeObjectsAndInts = (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void; |
| typedef TakeObjects = (core::Object?, core::Object?, core::Object?, core::Object?, core::Object?) → void; |
| typedef TakeOptionalInts = ([core::int?, core::int?, core::int?, core::int?]) → void; |
| typedef TakeOptionalObjectsAndInts = ([core::Object?, core::int?, core::Object?, core::int?]) → void; |
| typedef TakeNamedInts = ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void; |
| typedef TakeNamedObjectsAndInts = ({a: core::Object?, b: core::int?, c: core::Object?, d: core::int?}) → void; |
| class M1 extends core::Object { |
| synthetic constructor •() → self::M1 |
| : super core::Object::•() |
| ; |
| method method(covariant-by-declaration core::int? a, core::int? b) → dynamic {} |
| } |
| class M2 extends core::Object { |
| synthetic constructor •() → self::M2 |
| : super core::Object::•() |
| ; |
| method method(core::int? a, covariant-by-declaration core::int? b) → dynamic {} |
| } |
| abstract class _C&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/ { |
| const synthetic constructor •() → self::_C&Object&M1 |
| : super core::Object::•() |
| ; |
| mixin-super-stub method method(covariant-by-declaration core::int? a, core::int? b) → dynamic |
| return super.{self::M1::method}(a, b); |
| } |
| abstract class _C&Object&M1&M2 = self::_C&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ { |
| const synthetic constructor •() → self::_C&Object&M1&M2 |
| : super self::_C&Object&M1::•() |
| ; |
| forwarding-stub method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b) → dynamic |
| return super.{self::M2::method}(a, b); |
| } |
| class C extends self::_C&Object&M1&M2 { |
| synthetic constructor •() → self::C |
| : super self::_C&Object&M1&M2::•() |
| ; |
| } |
| class Direct extends core::Object { |
| synthetic constructor •() → self::Direct |
| : super core::Object::•() |
| ; |
| method positional(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {} |
| method optional([covariant-by-declaration core::int? a = #C1, core::int? b = #C1, covariant-by-declaration core::int? c = #C1, core::int? d = #C1]) → void {} |
| method named({covariant-by-declaration core::int? a = #C1, core::int? b = #C1, covariant-by-declaration core::int? c = #C1, core::int? d = #C1}) → void {} |
| } |
| class Inherited extends self::Direct { |
| synthetic constructor •() → self::Inherited |
| : super self::Direct::•() |
| ; |
| } |
| class Override1 extends core::Object { |
| synthetic constructor •() → self::Override1 |
| : super core::Object::•() |
| ; |
| method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void {} |
| } |
| class Override2 extends self::Override1 { |
| synthetic constructor •() → self::Override2 |
| : super self::Override1::•() |
| ; |
| method method(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {} |
| } |
| class Override3 extends self::Override2 { |
| synthetic constructor •() → self::Override3 |
| : super self::Override2::•() |
| ; |
| method method(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {} |
| } |
| abstract class Implement1 extends core::Object { |
| synthetic constructor •() → self::Implement1 |
| : super core::Object::•() |
| ; |
| method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void {} |
| } |
| class Implement2 extends core::Object { |
| synthetic constructor •() → self::Implement2 |
| : super core::Object::•() |
| ; |
| method method(core::int? a, covariant-by-declaration core::int? b, core::int? c, core::int? d, core::int? e) → void {} |
| } |
| class Implement3 extends core::Object { |
| synthetic constructor •() → self::Implement3 |
| : super core::Object::•() |
| ; |
| method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {} |
| } |
| class Implement4 extends core::Object implements self::Implement3 { |
| synthetic constructor •() → self::Implement4 |
| : super core::Object::•() |
| ; |
| method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, core::int? e) → void {} |
| } |
| class Implement5 extends core::Object implements self::Implement1, self::Implement2, self::Implement4 { |
| synthetic constructor •() → self::Implement5 |
| : super core::Object::•() |
| ; |
| method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void {} |
| } |
| class Interface1 extends core::Object { |
| synthetic constructor •() → self::Interface1 |
| : super core::Object::•() |
| ; |
| method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void {} |
| } |
| class Interface2 extends core::Object { |
| synthetic constructor •() → self::Interface2 |
| : super core::Object::•() |
| ; |
| method method(core::int? a, covariant-by-declaration core::int? b, core::int? c, core::int? d, core::int? e) → void {} |
| } |
| class Mixin1 extends core::Object { |
| synthetic constructor •() → self::Mixin1 |
| : super core::Object::•() |
| ; |
| method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {} |
| } |
| class Mixin2 extends core::Object { |
| synthetic constructor •() → self::Mixin2 |
| : super core::Object::•() |
| ; |
| method method(core::int? a, core::int? b, core::int? c, covariant-by-declaration core::int? d, core::int? e) → void {} |
| } |
| class Superclass extends core::Object { |
| synthetic constructor •() → self::Superclass |
| : super core::Object::•() |
| ; |
| method method(core::int? a, core::int? b, core::int? c, core::int? d, covariant-by-declaration core::int? e) → void {} |
| } |
| abstract class _Mixed&Superclass&Mixin1 = self::Superclass with self::Mixin1 /*isAnonymousMixin*/ { |
| synthetic constructor •() → self::_Mixed&Superclass&Mixin1 |
| : super self::Superclass::•() |
| ; |
| forwarding-stub method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, covariant-by-declaration core::int? e) → void |
| return super.{self::Mixin1::method}(a, b, c, d, e); |
| } |
| abstract class _Mixed&Superclass&Mixin1&Mixin2 = self::_Mixed&Superclass&Mixin1 with self::Mixin2 /*isAnonymousMixin*/ { |
| synthetic constructor •() → self::_Mixed&Superclass&Mixin1&Mixin2 |
| : super self::_Mixed&Superclass&Mixin1::•() |
| ; |
| forwarding-stub method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void |
| return super.{self::Mixin2::method}(a, b, c, d, e); |
| } |
| class Mixed extends self::_Mixed&Superclass&Mixin1&Mixin2 implements self::Interface1, self::Interface2 { |
| synthetic constructor •() → self::Mixed |
| : super self::_Mixed&Superclass&Mixin1&Mixin2::•() |
| ; |
| forwarding-stub method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void |
| return super.{self::Mixin2::method}(a, b, c, d, e); |
| } |
| static method main() → void { |
| self::testDirect(); |
| self::testInherited(); |
| self::testOverridden(); |
| self::testImplemented(); |
| self::testMixed(); |
| } |
| static method testDirect() → void { |
| (core::int?, core::int?, core::int?, core::int?, core::int?) → void positional = new self::Direct::•().{self::Direct::positional}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void}; |
| self::isTrue(positional is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void); |
| self::isTrue(positional is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void); |
| ([core::int?, core::int?, core::int?, core::int?]) → void optional = new self::Direct::•().{self::Direct::optional}{([core::int?, core::int?, core::int?, core::int?]) → void}; |
| self::isTrue(optional is{ForNonNullableByDefault} ([core::int?, core::int?, core::int?, core::int?]) → void); |
| self::isTrue(optional is{ForNonNullableByDefault} ([core::Object?, core::int?, core::Object?, core::int?]) → void); |
| ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void named = new self::Direct::•().{self::Direct::named}{({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void}; |
| self::isTrue(named is{ForNonNullableByDefault} ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void); |
| self::isTrue(named is{ForNonNullableByDefault} ({a: core::Object?, b: core::int?, c: core::Object?, d: core::int?}) → void); |
| } |
| static method testInherited() → void { |
| (core::int?, core::int?, core::int?, core::int?, core::int?) → void positional = new self::Inherited::•().{self::Direct::positional}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void}; |
| self::isTrue(positional is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void); |
| self::isTrue(positional is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void); |
| ([core::int?, core::int?, core::int?, core::int?]) → void optional = new self::Inherited::•().{self::Direct::optional}{([core::int?, core::int?, core::int?, core::int?]) → void}; |
| self::isTrue(optional is{ForNonNullableByDefault} ([core::int?, core::int?, core::int?, core::int?]) → void); |
| self::isTrue(optional is{ForNonNullableByDefault} ([core::Object?, core::int?, core::Object?, core::int?]) → void); |
| ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void named = new self::Inherited::•().{self::Direct::named}{({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void}; |
| self::isTrue(named is{ForNonNullableByDefault} ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void); |
| self::isTrue(named is{ForNonNullableByDefault} ({a: core::Object?, b: core::int?, c: core::Object?, d: core::int?}) → void); |
| } |
| static method testOverridden() → void { |
| (core::int?, core::int?, core::int?, core::int?, core::int?) → void method2 = new self::Override2::•().{self::Override2::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void}; |
| self::isTrue(method2 is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void); |
| self::isTrue(method2 is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void); |
| (core::int?, core::int?, core::int?, core::int?, core::int?) → void method3 = new self::Override3::•().{self::Override3::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void}; |
| self::isTrue(method3 is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void); |
| self::isTrue(method3 is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void); |
| } |
| static method testImplemented() → void { |
| (core::int?, core::int?, core::int?, core::int?, core::int?) → void method = new self::Implement5::•().{self::Implement5::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void}; |
| self::isTrue(method is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void); |
| self::isTrue(method is{ForNonNullableByDefault} (core::Object?, core::Object?, core::Object?, core::Object?, core::Object?) → void); |
| } |
| static method testMixed() → void { |
| (core::int?, core::int?, core::int?, core::int?, core::int?) → void method = new self::Mixed::•().{self::Mixed::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void}; |
| self::isTrue(method is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void); |
| self::isTrue(method is{ForNonNullableByDefault} (core::Object?, core::Object?, core::Object?, core::Object?, core::Object?) → void); |
| } |
| static method isTrue(core::bool value) → void { |
| if(!value) |
| throw "Expected true"; |
| } |
| |
| constants { |
| #C1 = null |
| } |