blob: 20a1e9435dc8471a4bd9520ba4251b34aa374433 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/issue53720.dart:14:9: Error: The setter 'm' 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 'm'.
// E2(1).m = 10; /* 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;
set m = self::E1|set#m;
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 m = self::E2|m;
method tearoff m = self::E2|get#m;
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#m(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|m(lowered final self::E2% /* erasure=core::int, declared=! */ #this) → void {}
static extension-type-member method E2|get#m(lowered final self::E2% /* erasure=core::int, declared=! */ #this) → () → void
return () void => self::E2|m(#this);
static method test() void {
invalid-expression "pkg/front_end/testcases/extension_types/issue53720.dart:14:9: Error: The setter 'm' 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 'm'.
E2(1).m = 10; /* Error */
^" in self::E2|constructor#(1).{<unresolved>}m = 10;
}