blob: d45036f024592aa1f84d054999205f2b05f9701f [file] [log] [blame]
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();
}