| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/extension_types/issue53720_2.dart:22:6: Error: The setter 'm1' isn't defined for the class 'E2'. |
| // Try correcting the name to the name of an existing setter, or defining a setter or field named 'm1'. |
| // e2.m1 = 10; // Compile-time error. |
| // ^^ |
| // |
| // pkg/front_end/testcases/extension_types/issue53720_2.dart:24:6: Error: The method 'm2' isn't defined for the class 'E2'. |
| // Try correcting the name to the name of an existing method, or defining a method named 'm2'. |
| // e2.m2(); // Compile-time error. |
| // ^^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| extension type E1(core::int i) { |
| abstract extension-type-member representation-field get i() → core::int; |
| method m2 = self::E1|m2; |
| method tearoff m2 = self::E1|get#m2; |
| get m3 = self::E1|get#m3; |
| set m1 = self::E1|set#m1; |
| set m4 = self::E1|set#m4; |
| constructor • = self::E1|constructor#; |
| constructor tearoff • = self::E1|constructor#_#new#tearOff; |
| } |
| extension type E2(core::int i) implements self::E1% /* erasure=core::int, declared=! */ { |
| abstract extension-type-member representation-field get i() → core::int; |
| method m1 = self::E2|m1; |
| method tearoff m1 = self::E2|get#m1; |
| get m4 = self::E2|get#m4; |
| set m2 = self::E2|set#m2; |
| set m3 = self::E2|set#m3; |
| constructor • = self::E2|constructor#; |
| constructor tearoff • = self::E2|constructor#_#new#tearOff; |
| } |
| static extension-type-member method E1|constructor#(core::int i) → self::E1% /* erasure=core::int, declared=! */ { |
| lowered final self::E1% /* erasure=core::int, declared=! */ #this = i; |
| return #this; |
| } |
| static extension-type-member method E1|constructor#_#new#tearOff(core::int i) → self::E1% /* erasure=core::int, declared=! */ |
| return self::E1|constructor#(i); |
| static extension-type-member method E1|set#m1(lowered final self::E1% /* erasure=core::int, declared=! */ #this, dynamic _) → void {} |
| static extension-type-member method E1|m2(lowered final self::E1% /* erasure=core::int, declared=! */ #this) → void {} |
| static extension-type-member method E1|get#m2(lowered final self::E1% /* erasure=core::int, declared=! */ #this) → () → void |
| return () → void => self::E1|m2(#this); |
| static extension-type-member method E1|get#m3(lowered final self::E1% /* erasure=core::int, declared=! */ #this) → dynamic |
| return 1; |
| static extension-type-member method E1|set#m4(lowered final self::E1% /* erasure=core::int, declared=! */ #this, dynamic _) → void {} |
| static extension-type-member method E2|constructor#(core::int i) → self::E2% /* erasure=core::int, declared=! */ { |
| lowered final self::E2% /* erasure=core::int, declared=! */ #this = i; |
| return #this; |
| } |
| static extension-type-member method E2|constructor#_#new#tearOff(core::int i) → self::E2% /* erasure=core::int, declared=! */ |
| return self::E2|constructor#(i); |
| static extension-type-member method E2|m1(lowered final self::E2% /* erasure=core::int, declared=! */ #this) → void {} |
| static extension-type-member method E2|get#m1(lowered final self::E2% /* erasure=core::int, declared=! */ #this) → () → void |
| return () → void => self::E2|m1(#this); |
| static extension-type-member method E2|set#m2(lowered final self::E2% /* erasure=core::int, declared=! */ #this, dynamic _) → void {} |
| static extension-type-member method E2|set#m3(lowered final self::E2% /* erasure=core::int, declared=! */ #this, dynamic _) → void {} |
| static extension-type-member method E2|get#m4(lowered final self::E2% /* erasure=core::int, declared=! */ #this) → dynamic |
| return 1; |
| static method test() → void { |
| self::E2% /* erasure=core::int, declared=! */ e2 = self::E2|constructor#(1); |
| self::E2|m1(e2); |
| invalid-expression "pkg/front_end/testcases/extension_types/issue53720_2.dart:22:6: Error: The setter 'm1' isn't defined for the class 'E2'. |
| Try correcting the name to the name of an existing setter, or defining a setter or field named 'm1'. |
| e2.m1 = 10; // Compile-time error. |
| ^^" in e2.{<unresolved>}m1 = 10; |
| self::E2|set#m2(e2, 10); |
| invalid-expression "pkg/front_end/testcases/extension_types/issue53720_2.dart:24:6: Error: The method 'm2' isn't defined for the class 'E2'. |
| Try correcting the name to the name of an existing method, or defining a method named 'm2'. |
| e2.m2(); // Compile-time error. |
| ^^" in e2{<unresolved>}.m2(); |
| } |