blob: 2d1ccc3a9f1d8ca68afe786a1670b679cc07acc4 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
extension type V1(core::int id) {
abstract extension-type-member representation-field get id() core::int;
constructor n0 = self::V1|constructor#n0;
constructor tearoff n0 = self::V1|constructor#_#n0#tearOff;
constructor = self::V1|constructor#;
constructor tearoff = self::V1|constructor#_#new#tearOff;
constructor n1 = self::V1|constructor#n1;
constructor tearoff n1 = self::V1|constructor#_#n1#tearOff;
constructor n2 = self::V1|constructor#n2;
constructor tearoff n2 = self::V1|constructor#_#n2#tearOff;
}
static extension-type-member method V1|constructor#n0(core::int id) → self::V1% /* erasure=core::int, declared=! */ {
lowered final self::V1% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method V1|constructor#_#n0#tearOff(core::int id) → self::V1% /* erasure=core::int, declared=! */
return self::V1|constructor#n0(id);
static extension-type-member method V1|constructor#(core::int id) → self::V1% /* erasure=core::int, declared=! */ {
lowered final self::V1% /* erasure=core::int, declared=! */ #this = id;
{
self::expect(#this, #this as{Unchecked} core::int);
}
return #this;
}
static extension-type-member method V1|constructor#_#new#tearOff(core::int id) → self::V1% /* erasure=core::int, declared=! */
return self::V1|constructor#(id);
static extension-type-member method V1|constructor#n1([core::int x = #C1]) → self::V1% /* erasure=core::int, declared=! */ {
lowered final self::V1% /* erasure=core::int, declared=! */ #this = x;
{
self::expect(#this, #this as{Unchecked} core::int);
}
return #this;
}
static extension-type-member method V1|constructor#_#n1#tearOff([core::int x = #C1]) → self::V1% /* erasure=core::int, declared=! */
return self::V1|constructor#n1(x);
static extension-type-member method V1|constructor#n2(core::int id) → self::V1% /* erasure=core::int, declared=! */ {
lowered final self::V1% /* erasure=core::int, declared=! */ #this;
#this = self::V1|constructor#n1(id);
return #this;
}
static extension-type-member method V1|constructor#_#n2#tearOff(core::int id) → self::V1% /* erasure=core::int, declared=! */
return self::V1|constructor#n2(id);
static method main() dynamic {
self::V1|constructor#(0);
self::V1|constructor#n1(1);
self::V1|constructor#n2(2);
}
static method expect(dynamic expected, dynamic actual) dynamic {
if(!core::identical(expected, actual))
throw "Expected ${expected}, actual ${actual}";
}
constants {
#C1 = 0
}