|  | library; | 
|  | import self as self; | 
|  | import "dart:core" as core; | 
|  |  | 
|  | class A extends core::Object { | 
|  | synthetic constructor •() → self::A | 
|  | : super core::Object::•() | 
|  | ; | 
|  | method method1({required core::int a}) → void {} | 
|  | method method2({core::int? a = #C1, required core::int b}) → void {} | 
|  | } | 
|  | class B extends core::Object { | 
|  | synthetic constructor •() → self::B | 
|  | : super core::Object::•() | 
|  | ; | 
|  | method method1({required covariant-by-declaration core::int a}) → void {} | 
|  | method method2({covariant-by-declaration core::int? a = #C1, required core::int b}) → void {} | 
|  | } | 
|  | class C extends self::A implements self::B { | 
|  | synthetic constructor •() → self::C | 
|  | : super self::A::•() | 
|  | ; | 
|  | forwarding-stub synthetic method method1({required covariant-by-declaration core::int a}) → void | 
|  | return super.{self::A::method1}(a: a); | 
|  | forwarding-stub synthetic method method2({covariant-by-declaration core::int? a = #C1, required core::int b}) → void | 
|  | return super.{self::A::method2}(a: a, b: b); | 
|  | } | 
|  | class D extends self::C { | 
|  | synthetic constructor •() → self::D | 
|  | : super self::C::•() | 
|  | ; | 
|  | method method1({required covariant-by-declaration core::int a}) → void {} | 
|  | method method2({covariant-by-declaration core::int? a = #C1, required core::int b}) → void {} | 
|  | } | 
|  | static method main() → dynamic {} | 
|  |  | 
|  | constants  { | 
|  | #C1 = null | 
|  | } |