| class Class1 { | 
 |   int field; | 
 |   Class1(this.field); | 
 |   String toString() => 'Class1($field)'; | 
 | } | 
 |  | 
 | class Class2 { | 
 |   int field; | 
 |   Class2(this.field); | 
 |   String toString() => 'Class2($field)'; | 
 | } | 
 |  | 
 | extension Extension1 on Class1 { | 
 |   int method() {} | 
 |   num genericMethod<T extends num>(T t) {} | 
 |   int get property {} | 
 |   set property(int value) {} | 
 | } | 
 |  | 
 | extension Extension2 on Class2 { | 
 |   int method() {} | 
 |   num genericMethod<T extends num>(T t) {} | 
 |   int get property {} | 
 |   set property(int value) {} | 
 | } | 
 |  | 
 | main() {} | 
 |  | 
 | testExtension1(Class1 c0, Class1 c1, Class1? c0n, Class1? c1n) {} | 
 |  | 
 | testExtension2(Class2 c0, Class2 c1, Class2? c0n) {} | 
 |  | 
 | expect(expected, actual) {} |