| library; | 
 | import self as self; | 
 | import "dart:core" as core; | 
 | import "dart:async" as asy; | 
 |  | 
 | abstract class TestMixin<R extends core::Object* = dynamic, T extends core::Object* = dynamic> extends core::Object /*isMixinDeclaration*/  { | 
 |   method test(generic-covariant-impl asy::Future<self::TestMixin::R*>* fetch) → asy::Future<self::TestMixin::T*>* async { | 
 |     final self::TestMixin::R* response = await fetch; | 
 |     self::TestMixin::T* result; | 
 |     if(response is self::Response<dynamic>*) { | 
 |       result = response{self::TestMixin::R* & self::Response<dynamic>* /* '*' & '*' = '*' */}.{self::Response::data} as{TypeError,ForDynamic} self::TestMixin::T*; | 
 |     } | 
 |     else | 
 |       if(response is self::PagingResponse<dynamic>*) { | 
 |         result = response{self::TestMixin::R* & self::PagingResponse<dynamic>* /* '*' & '*' = '*' */}.{self::PagingResponse::data}.{self::PagingResponseData::data} as self::TestMixin::T*; | 
 |       } | 
 |       else | 
 |         if(response is self::TestMixin::T*) { | 
 |           result = response{self::TestMixin::R* & self::TestMixin::T* /* '*' & '*' = '*' */}; | 
 |         } | 
 |         else { | 
 |           throw core::Exception::•("Invalid response type"); | 
 |         } | 
 |     return result; | 
 |   } | 
 |   abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode | 
 |   abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf | 
 |   abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf | 
 |   abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue | 
 |   abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse | 
 |   abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== | 
 |   abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode | 
 |   abstract member-signature method toString() → core::String*; -> core::Object::toString | 
 |   abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod | 
 |   abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType | 
 | } | 
 | class PagingResponse<T extends core::Object* = dynamic> extends core::Object { | 
 |   final field self::PagingResponseData<self::PagingResponse::T*>* data; | 
 |   constructor •(self::PagingResponseData<self::PagingResponse::T*>* data) → self::PagingResponse<self::PagingResponse::T*>* | 
 |     : self::PagingResponse::data = data, super core::Object::•() | 
 |     ; | 
 |   abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode | 
 |   abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf | 
 |   abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf | 
 |   abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue | 
 |   abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse | 
 |   abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== | 
 |   abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode | 
 |   abstract member-signature method toString() → core::String*; -> core::Object::toString | 
 |   abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod | 
 |   abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType | 
 | } | 
 | class PagingResponseData<T extends core::Object* = dynamic> extends core::Object { | 
 |   final field core::List<self::PagingResponseData::T*>* data; | 
 |   constructor •(core::List<self::PagingResponseData::T*>* data) → self::PagingResponseData<self::PagingResponseData::T*>* | 
 |     : self::PagingResponseData::data = data, super core::Object::•() | 
 |     ; | 
 |   abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode | 
 |   abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf | 
 |   abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf | 
 |   abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue | 
 |   abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse | 
 |   abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== | 
 |   abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode | 
 |   abstract member-signature method toString() → core::String*; -> core::Object::toString | 
 |   abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod | 
 |   abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType | 
 | } | 
 | class Response<T extends core::Object* = dynamic> extends core::Object { | 
 |   final field self::Response::T* data; | 
 |   constructor •(self::Response::T* data) → self::Response<self::Response::T*>* | 
 |     : self::Response::data = data, super core::Object::•() | 
 |     ; | 
 |   abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode | 
 |   abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf | 
 |   abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf | 
 |   abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue | 
 |   abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse | 
 |   abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== | 
 |   abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode | 
 |   abstract member-signature method toString() → core::String*; -> core::Object::toString | 
 |   abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod | 
 |   abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType | 
 | } | 
 | abstract class _Class1&Object&TestMixin = core::Object with self::TestMixin<self::Response<core::String*>*, core::String*> /*isAnonymousMixin,hasConstConstructor*/  { | 
 |   const synthetic constructor •() → self::_Class1&Object&TestMixin* | 
 |     : super core::Object::•() | 
 |     ; | 
 |   mixin-super-stub method test(generic-covariant-impl asy::Future<self::Response<core::String*>*>* fetch) → asy::Future<core::String*>* | 
 |     return super.{self::TestMixin::test}(fetch); | 
 |   abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode | 
 |   abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf | 
 |   abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf | 
 |   abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue | 
 |   abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse | 
 |   abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== | 
 |   abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode | 
 |   abstract member-signature method toString() → core::String*; -> core::Object::toString | 
 |   abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod | 
 |   abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType | 
 | } | 
 | class Class1 extends self::_Class1&Object&TestMixin { | 
 |   synthetic constructor •() → self::Class1* | 
 |     : super self::_Class1&Object&TestMixin::•() | 
 |     ; | 
 |   method _test() → dynamic { | 
 |     final self::Response<core::String*>* response = new self::Response::•<core::String*>("test"); | 
 |     this.{self::_Class1&Object&TestMixin::test}(asy::Future::value<self::Response<core::String*>*>(response)); | 
 |   } | 
 | } | 
 | abstract class _Class2&Object&TestMixin = core::Object with self::TestMixin<self::PagingResponse<core::String*>*, core::String*> /*isAnonymousMixin,hasConstConstructor*/  { | 
 |   const synthetic constructor •() → self::_Class2&Object&TestMixin* | 
 |     : super core::Object::•() | 
 |     ; | 
 |   mixin-super-stub method test(generic-covariant-impl asy::Future<self::PagingResponse<core::String*>*>* fetch) → asy::Future<core::String*>* | 
 |     return super.{self::TestMixin::test}(fetch); | 
 |   abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode | 
 |   abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf | 
 |   abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf | 
 |   abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue | 
 |   abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse | 
 |   abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== | 
 |   abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode | 
 |   abstract member-signature method toString() → core::String*; -> core::Object::toString | 
 |   abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod | 
 |   abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType | 
 | } | 
 | class Class2 extends self::_Class2&Object&TestMixin { | 
 |   synthetic constructor •() → self::Class2* | 
 |     : super self::_Class2&Object&TestMixin::•() | 
 |     ; | 
 |   method _test() → dynamic { | 
 |     final self::PagingResponse<core::String*>* response = new self::PagingResponse::•<core::String*>(new self::PagingResponseData::•<core::String*>(<core::String*>["test"])); | 
 |     this.{self::_Class2&Object&TestMixin::test}(asy::Future::value<self::PagingResponse<core::String*>*>(response)); | 
 |   } | 
 | } | 
 | static method main() → dynamic {} |