blob: 6da94c4a24b0ea2206630b95d4f845b41dc9c8dc [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "typedef_identical_lib.dart" as typ;
import "org-dartlang-testcase:///typedef_identical_lib.dart";
typedef H<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic> = typ::A<Y%>;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() typ::A<Y%> H_new = #C1;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(Y%, [core::int?]) typ::A<Y%> H_named = #C2;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(Y%, {b: core::int?, c: core::int}) typ::A<Y%> H_fact = #C3;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() typ::A<Y%> H_redirect = #C4;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() typ::A<Y%> F_new = #C5;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(Y%, [core::int?]) typ::A<Y%> F_named = #C6;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(Y%, {b: core::int?, c: core::int}) typ::A<Y%> F_fact = #C7;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() typ::A<Y%> F_redirect = #C8;
static method main() dynamic {
self::expect(true, core::identical(self::F_new, typ::F_new_lib));
self::expect(false, core::identical(self::F_new, typ::F_named_lib));
self::expect(false, core::identical(self::F_new, typ::F_fact_lib));
self::expect(false, core::identical(self::F_new, typ::F_redirect_lib));
self::expect(false, core::identical(self::F_new, typ::G_new_lib));
self::expect(false, core::identical(self::F_new, typ::G_named_lib));
self::expect(false, core::identical(self::F_new, typ::G_fact_lib));
self::expect(false, core::identical(self::F_new, typ::G_redirect_lib));
self::expect(false, core::identical(self::F_new, self::H_new));
self::expect(false, core::identical(self::F_new, self::H_named));
self::expect(false, core::identical(self::F_new, self::H_fact));
self::expect(false, core::identical(self::F_new, self::H_redirect));
self::expect(false, core::identical(self::F_named, typ::F_new_lib));
self::expect(true, core::identical(self::F_named, typ::F_named_lib));
self::expect(false, core::identical(self::F_named, typ::F_fact_lib));
self::expect(false, core::identical(self::F_named, typ::F_redirect_lib));
self::expect(false, core::identical(self::F_named, typ::G_new_lib));
self::expect(false, core::identical(self::F_named, typ::G_named_lib));
self::expect(false, core::identical(self::F_named, typ::G_fact_lib));
self::expect(false, core::identical(self::F_named, typ::G_redirect_lib));
self::expect(false, core::identical(self::F_named, self::H_new));
self::expect(false, core::identical(self::F_named, self::H_named));
self::expect(false, core::identical(self::F_named, self::H_fact));
self::expect(false, core::identical(self::F_named, self::H_redirect));
self::expect(false, core::identical(self::F_fact, typ::F_new_lib));
self::expect(false, core::identical(self::F_fact, typ::F_named_lib));
self::expect(true, core::identical(self::F_fact, typ::F_fact_lib));
self::expect(false, core::identical(self::F_fact, typ::F_redirect_lib));
self::expect(false, core::identical(self::F_fact, typ::G_new_lib));
self::expect(false, core::identical(self::F_fact, typ::G_named_lib));
self::expect(false, core::identical(self::F_fact, typ::G_fact_lib));
self::expect(false, core::identical(self::F_fact, typ::G_redirect_lib));
self::expect(false, core::identical(self::F_fact, self::H_new));
self::expect(false, core::identical(self::F_fact, self::H_named));
self::expect(false, core::identical(self::F_fact, self::H_fact));
self::expect(false, core::identical(self::F_fact, self::H_redirect));
self::expect(false, core::identical(self::F_redirect, typ::F_new_lib));
self::expect(false, core::identical(self::F_redirect, typ::F_named_lib));
self::expect(false, core::identical(self::F_redirect, typ::F_fact_lib));
self::expect(true, core::identical(self::F_redirect, typ::F_redirect_lib));
self::expect(false, core::identical(self::F_redirect, typ::G_new_lib));
self::expect(false, core::identical(self::F_redirect, typ::G_named_lib));
self::expect(false, core::identical(self::F_redirect, typ::G_fact_lib));
self::expect(false, core::identical(self::F_redirect, typ::G_redirect_lib));
self::expect(false, core::identical(self::F_redirect, self::H_new));
self::expect(false, core::identical(self::F_redirect, self::H_named));
self::expect(false, core::identical(self::F_redirect, self::H_fact));
self::expect(false, core::identical(self::F_redirect, self::H_redirect));
}
static method expect(dynamic expected, dynamic actual) dynamic {
if(!(expected =={core::Object::==}{(core::Object) core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method /* from org-dartlang-testcase:///typedef_identical_lib.dart */ _#H#new#tearOff<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() → typ::A<self::_#H#new#tearOff::Y%>
return new typ::A::•<self::_#H#new#tearOff::Y%>();
static method /* from org-dartlang-testcase:///typedef_identical_lib.dart */ _#H#named#tearOff<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(self::_#H#named#tearOff::Y% a, [core::int? b = #C9]) → typ::A<self::_#H#named#tearOff::Y%>
return new typ::A::named<self::_#H#named#tearOff::Y%>(a, b);
static method /* from org-dartlang-testcase:///typedef_identical_lib.dart */ _#H#fact#tearOff<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(self::_#H#fact#tearOff::Y% a, {core::int? b = #C9, core::int c = #C10}) → typ::A<self::_#H#fact#tearOff::Y%>
return typ::A::fact<self::_#H#fact#tearOff::Y%>(a, b: b, c: c);
static method /* from org-dartlang-testcase:///typedef_identical_lib.dart */ _#H#redirect#tearOff<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() → typ::A<self::_#H#redirect#tearOff::Y%>
return typ::A::_#redirect#tearOff<self::_#H#redirect#tearOff::Y%>();
library /*isNonNullableByDefault*/;
import self as typ;
import "dart:core" as core;
typedef F<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic> = typ::A<Y%>;
typedef G<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic> = typ::A<Y%>;
class A<T extends core::Object? = dynamic> extends core::Object {
static final field dynamic _redirecting# = <dynamic>[#C11]/*isLegacy*/;
constructor •() typ::A<typ::A::T%>
: super core::Object::•()
;
constructor named(typ::A::T% a, [core::int? b = #C9]) → typ::A<typ::A::T%>
: super core::Object::•()
;
static method _#new#tearOff<T extends core::Object? = dynamic>() → typ::A<typ::A::_#new#tearOff::T%>
return new typ::A::•<typ::A::_#new#tearOff::T%>();
static method _#named#tearOff<T extends core::Object? = dynamic>(typ::A::_#named#tearOff::T% a, [core::int? b = #C9]) → typ::A<typ::A::_#named#tearOff::T%>
return new typ::A::named<typ::A::_#named#tearOff::T%>(a, b);
static factory fact<T extends core::Object? = dynamic>(typ::A::fact::T% a, {core::int? b = #C9, core::int c = #C10}) → typ::A<typ::A::fact::T%>
return new typ::A::•<typ::A::fact::T%>();
static method _#fact#tearOff<T extends core::Object? = dynamic>(typ::A::_#fact#tearOff::T% a, {core::int? b = #C9, core::int c = #C10}) → typ::A<typ::A::_#fact#tearOff::T%>
return typ::A::fact<typ::A::_#fact#tearOff::T%>(a, b: b, c: c);
static factory redirect<T extends core::Object? = dynamic>() typ::A<typ::A::redirect::T%>
return new typ::A::•<typ::A::redirect::T%>();
static method _#redirect#tearOff<T extends core::Object? = dynamic>() → typ::A<typ::A::_#redirect#tearOff::T%>
return new typ::A::•<typ::A::_#redirect#tearOff::T%>();
}
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() typ::A<Y%> F_new_lib = #C5;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(Y%, [core::int?]) typ::A<Y%> F_named_lib = #C6;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(Y%, {b: core::int?, c: core::int}) typ::A<Y%> F_fact_lib = #C7;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() typ::A<Y%> F_redirect_lib = #C8;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() typ::A<Y%> G_new_lib = #C12;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(Y%, [core::int?]) typ::A<Y%> G_named_lib = #C13;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(Y%, {b: core::int?, c: core::int}) typ::A<Y%> G_fact_lib = #C14;
static field <unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() typ::A<Y%> G_redirect_lib = #C15;
static method _#F#new#tearOff<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() → typ::A<typ::_#F#new#tearOff::Y%>
return new typ::A::•<typ::_#F#new#tearOff::Y%>();
static method _#F#named#tearOff<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(typ::_#F#named#tearOff::Y% a, [core::int? b = #C9]) → typ::A<typ::_#F#named#tearOff::Y%>
return new typ::A::named<typ::_#F#named#tearOff::Y%>(a, b);
static method _#F#fact#tearOff<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(typ::_#F#fact#tearOff::Y% a, {core::int? b = #C9, core::int c = #C10}) → typ::A<typ::_#F#fact#tearOff::Y%>
return typ::A::fact<typ::_#F#fact#tearOff::Y%>(a, b: b, c: c);
static method _#F#redirect#tearOff<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() → typ::A<typ::_#F#redirect#tearOff::Y%>
return typ::A::_#redirect#tearOff<typ::_#F#redirect#tearOff::Y%>();
static method _#G#new#tearOff<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() → typ::A<typ::_#G#new#tearOff::Y%>
return new typ::A::•<typ::_#G#new#tearOff::Y%>();
static method _#G#named#tearOff<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(typ::_#G#named#tearOff::Y% a, [core::int? b = #C9]) → typ::A<typ::_#G#named#tearOff::Y%>
return new typ::A::named<typ::_#G#named#tearOff::Y%>(a, b);
static method _#G#fact#tearOff<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>(typ::_#G#fact#tearOff::Y% a, {core::int? b = #C9, core::int c = #C10}) → typ::A<typ::_#G#fact#tearOff::Y%>
return typ::A::fact<typ::_#G#fact#tearOff::Y%>(a, b: b, c: c);
static method _#G#redirect#tearOff<unrelated X extends core::Object? = dynamic, Y extends core::Object? = dynamic>() → typ::A<typ::_#G#redirect#tearOff::Y%>
return typ::A::_#redirect#tearOff<typ::_#G#redirect#tearOff::Y%>();
constants {
#C1 = static-tearoff self::_#H#new#tearOff
#C2 = static-tearoff self::_#H#named#tearOff
#C3 = static-tearoff self::_#H#fact#tearOff
#C4 = static-tearoff self::_#H#redirect#tearOff
#C5 = static-tearoff typ::_#F#new#tearOff
#C6 = static-tearoff typ::_#F#named#tearOff
#C7 = static-tearoff typ::_#F#fact#tearOff
#C8 = static-tearoff typ::_#F#redirect#tearOff
#C9 = null
#C10 = 42
#C11 = constructor-tearoff typ::A::redirect
#C12 = static-tearoff typ::_#G#new#tearOff
#C13 = static-tearoff typ::_#G#named#tearOff
#C14 = static-tearoff typ::_#G#fact#tearOff
#C15 = static-tearoff typ::_#G#redirect#tearOff
}