blob: dbc78b2ea8626a092505806899663acbc74cd9f9 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
typedef Foo<unrelated T extends self::V<core::num, core::Object>% /* erasure=core::num, declared=! */> = (self::V<core::int, core::int>% /* erasure=core::int, declared=! */) self::V<core::int, core::int>% /* erasure=core::int, declared=! */;
typedef IntNumV = self::V<core::int, core::num>% /* erasure=core::int, declared=! */;
class C<T extends self::V<core::num, core::Object>% /* erasure=core::num, declared=! */> extends core::Object {
field (self::V<core::int, core::int>% /* erasure=core::int, declared=! */) self::V<core::int, core::int>% /* erasure=core::int, declared=! */ f;
synthetic constructor •() self::C<self::C::T%>
;
}
extension type V<X1 extends core::num, X2 extends core::Object>(X1 id) {
abstract extension-type-member representation-field get id() X1;
constructor = self::V|constructor#;
constructor tearoff = self::V|constructor#_#new#tearOff;
}
static extension-type-member method V|constructor#<X1 extends core::num, X2 extends core::Object>(self::V|constructor#::X1 id) → self::V<self::V|constructor#::X1, self::V|constructor#::X2>% /* erasure=self::V|constructor#::X1, declared=! */
;
static extension-type-member method V|constructor#_#new#tearOff<X1 extends core::num, X2 extends core::Object>(self::V|constructor#_#new#tearOff::X1 id) → self::V<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>% /* erasure=self::V|constructor#_#new#tearOff::X1, declared=! */
return self::V|constructor#<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>(id);
static method foo<T extends self::V<core::num, core::Object>% /* erasure=core::num, declared=! */>(self::foo::T% t) self::V<core::int, core::int>% /* erasure=core::int, declared=! */
;
static method main() dynamic
;
static method expect(dynamic expected, dynamic actual) dynamic
;