[cfe] Show nullability formula for extension types in textual output

This is a follow-up to
https://dart-review.googlesource.com/c/sdk/+/350323 and
https://dart-review.googlesource.com/c/sdk/+/351141. It clarifies the
nullability markers shown in the .expect files.

TEST=existing

Change-Id: I248531dd892ea676935d5479c86e43ce8a87628a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350823
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
This commit is contained in:
Chloe Stefantsova 2024-03-05 09:49:31 +00:00 committed by Commit Queue
parent 9c69bc4c6d
commit 88403d9c3e
930 changed files with 19550 additions and 19527 deletions

View file

@ -124,19 +124,19 @@ extension type NonNullableExtensionType(self::Object it) implements self::Object
}
extension type PotentiallyNullableGenericExtensionType<T extends self::Object? = dynamic>(T% it) {
}
extension type PotentiallyNullableGenericExtensionSubType<T extends self::Object? = dynamic>(T% it) implements self::PotentiallyNullableGenericExtensionType<T%> /* = T% */ {
extension type PotentiallyNullableGenericExtensionSubType<T extends self::Object? = dynamic>(T% it) implements self::PotentiallyNullableGenericExtensionType<T%>% /* erasure=T%, declared=! */ {
}
extension type NonNullableGenericExtensionType<T extends self::Object>(T it) implements self::Object {
}
extension type NonNullableGenericExtensionSubType<T extends self::Object>(T it) implements self::NonNullableGenericExtensionType<T> /* = T */ {
extension type NonNullableGenericExtensionSubType<T extends self::Object>(T it) implements self::NonNullableGenericExtensionType<T> /* erasure=T */ {
}
extension type GenericExtensionTypeImplements<T extends self::Object? = dynamic>(self::GenericClass<T%> it) implements self::GenericClass<T%> {
}
extension type GenericSubExtensionTypeImplements<T extends self::Object? = dynamic>(self::SubGenericClass<T%> it) implements self::GenericExtensionTypeImplements<T%> /* = self::GenericClass<T%> */, self::SubGenericClass<T%> {
extension type GenericSubExtensionTypeImplements<T extends self::Object? = dynamic>(self::SubGenericClass<T%> it) implements self::GenericExtensionTypeImplements<T%> /* erasure=self::GenericClass<T%> */, self::SubGenericClass<T%> {
}
extension type PotentiallyNullableNestedGenericExtensionType<T extends self::Object? = dynamic>(self::PotentiallyNullableGenericExtensionType<T%> /* = T% */ it) {
extension type PotentiallyNullableNestedGenericExtensionType<T extends self::Object? = dynamic>(self::PotentiallyNullableGenericExtensionType<T%>% /* erasure=T%, declared=! */ it) {
}
extension type NonNullableNestedGenericExtensionType<T extends self::Object>(self::NonNullableGenericExtensionType<T> /* = T */ it) implements self::Object {
extension type NonNullableNestedGenericExtensionType<T extends self::Object>(self::NonNullableGenericExtensionType<T> /* erasure=T */ it) implements self::Object {
}
""";

View file

@ -1968,11 +1968,11 @@ static field core::int variable = 0;
@#C39
@#C40
static method function() → void {}
static extension-type-member method ExtensionType|constructor#(core::int it) → self::ExtensionType /* = core::int */ {
lowered final self::ExtensionType /* = core::int */ #this = it;
static extension-type-member method ExtensionType|constructor#(core::int it) → self::ExtensionType% /* erasure=core::int, declared=! */ {
lowered final self::ExtensionType% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method ExtensionType|constructor#_#new#tearOff(core::int it) → self::ExtensionType /* = core::int */
static extension-type-member method ExtensionType|constructor#_#new#tearOff(core::int it) → self::ExtensionType% /* erasure=core::int, declared=! */
return self::ExtensionType|constructor#(it);
constants {

View file

@ -166,6 +166,7 @@ appearing
appears
append
appended
appending
appends
application
application's
@ -2427,6 +2428,7 @@ pseudo
pub
public
publications
publicly
published
pull
punctuation

View file

@ -44,52 +44,52 @@ extension type B(self::A a) {
constructor named = self::B|constructor#named;
constructor tearoff named = self::B|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#_(self::A a) → self::B /* = self::A */ {
lowered final self::B /* = self::A */ #this = a;
static extension-type-member method B|constructor#_(self::A a) → self::B% /* erasure=self::A, declared=! */ {
lowered final self::B% /* erasure=self::A, declared=! */ #this = a;
return #this;
}
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#_(a);
external static extension-type-member method B|constructor#(self::A a) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B /* = self::A */
external static extension-type-member method B|constructor#(self::A a) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#(a);
external static extension-type-member method B|constructor#named(core::int i) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = self::A */
external static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#named(i);
external static extension-type-member method B|get#field(lowered self::A #this) → self::A;
external static extension-type-member method B|set#field(lowered self::A #this, synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
external static extension-type-member method B|method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#property(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|genericMethod<T extends self::B% /* erasure=self::A, declared=! */>(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B% /* erasure=self::A, declared=! */ #this) → <T extends self::B% /* erasure=self::A, declared=! */>(T%) → T%
return <T extends self::B% /* erasure=self::A, declared=! */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#setter(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#property(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
external static extension-type-member set B|staticProperty(self::B /* = self::A */ b) → void;
external static extension-type-member method B|staticGenericMethod<T extends self::B% /* erasure=self::A, declared=! */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticSetter(self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticProperty() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticProperty(self::B% /* erasure=self::A, declared=! */ b) → void;
static method method(self::A a) → void {
self::B /* = self::A */ b1 = self::B|constructor#(a);
self::B /* = self::A */ b2 = self::B|constructor#named(0);
self::B% /* erasure=self::A, declared=! */ b1 = self::B|constructor#(a);
self::B% /* erasure=self::A, declared=! */ b2 = self::B|constructor#named(0);
a = self::B|get#field(b1);
self::B|set#field(b1, a);
a = self::B|method(b1);
b2 = self::B|genericMethod<self::B /* = self::A */>(b2, b2);
b2 = self::B|genericMethod<self::B% /* erasure=self::A, declared=! */>(b2, b2);
b1 = self::B|get#getter(b2);
self::B|set#setter(b1, b2);
self::B|set#property(b1, self::B|get#property(b2));
a = self::B|staticField;
self::B|staticField = a;
a = self::B|staticMethod();
b2 = self::B|staticGenericMethod<self::B /* = self::A */>(b2);
b2 = self::B|staticGenericMethod<self::B% /* erasure=self::A, declared=! */>(b2);
b1 = self::B|staticGetter;
self::B|staticSetter = b2;
self::B|staticProperty = self::B|staticProperty;

View file

@ -46,55 +46,55 @@ extension type B(self::A a) {
constructor named = self::B|constructor#named;
constructor tearoff named = self::B|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#_(self::A a) → self::B /* = self::A */ {
lowered final self::B /* = self::A */ #this = a;
static extension-type-member method B|constructor#_(self::A a) → self::B% /* erasure=self::A, declared=! */ {
lowered final self::B% /* erasure=self::A, declared=! */ #this = a;
return #this;
}
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#_(a);
external static extension-type-member method B|constructor#(self::A a) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B /* = self::A */
return js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
external static extension-type-member method B|constructor#named(core::int i) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = self::A */
return js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), i);
external static extension-type-member method B|constructor#(self::A a) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
external static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=self::A, declared=! */
return js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), i);
external static extension-type-member method B|get#field(lowered self::A #this) → self::A;
external static extension-type-member method B|set#field(lowered self::A #this, synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
external static extension-type-member method B|method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → () → self::A
return () → self::A => js_2::_callMethodUnchecked0<self::A>(#this, "method");
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => js_2::callMethod<T%>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#property(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|genericMethod<T extends self::B% /* erasure=self::A, declared=! */>(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B% /* erasure=self::A, declared=! */ #this) → <T extends self::B% /* erasure=self::A, declared=! */>(T%) → T%
return <T extends self::B% /* erasure=self::A, declared=! */>(T% t) → T% => js_2::callMethod<T%>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|get#getter(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#setter(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#property(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
external static extension-type-member set B|staticProperty(self::B /* = self::A */ b) → void;
external static extension-type-member method B|staticGenericMethod<T extends self::B% /* erasure=self::A, declared=! */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticSetter(self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticProperty() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticProperty(self::B% /* erasure=self::A, declared=! */ b) → void;
static method method(self::A a) → void {
self::B /* = self::A */ b1 = js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
self::B /* = self::A */ b2 = js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), 0);
self::B% /* erasure=self::A, declared=! */ b1 = js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
self::B% /* erasure=self::A, declared=! */ b2 = js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), 0);
a = js_2::getProperty<self::A>(b1, "field");
js_2::setProperty<self::A>(b1, "field", a);
a = js_2::_callMethodUnchecked0<self::A>(b1, "method");
b2 = js_2::_callMethodUnchecked1<self::B /* = self::A */>(b2, "genericMethod", b2);
b1 = js_2::getProperty<self::B /* = self::A */>(b2, "getter");
js_2::setProperty<self::B /* = self::A */>(b1, "setter", b2);
js_2::setProperty<self::B /* = self::A */>(b1, "property", js_2::getProperty<self::B /* = self::A */>(b2, "property"));
b2 = js_2::_callMethodUnchecked1<self::B% /* erasure=self::A, declared=! */>(b2, "genericMethod", b2);
b1 = js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(b2, "getter");
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(b1, "setter", b2);
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(b1, "property", js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(b2, "property"));
a = js_2::getProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField");
js_2::setProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField", a);
a = js_2::_callMethodUnchecked0<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticMethod");
b2 = js_2::_callMethodUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", b2);
b1 = js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGetter");
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticSetter", b2);
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty", js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty"));
b2 = js_2::_callMethodUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", b2);
b1 = js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGetter");
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticSetter", b2);
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty", js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty"));
}
constants {

View file

@ -44,52 +44,52 @@ extension type B(self::A a) {
constructor named = self::B|constructor#named;
constructor tearoff named = self::B|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#_(self::A a) → self::B /* = self::A */ {
lowered final self::B /* = self::A */ #this = a;
static extension-type-member method B|constructor#_(self::A a) → self::B% /* erasure=self::A, declared=! */ {
lowered final self::B% /* erasure=self::A, declared=! */ #this = a;
return #this;
}
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#_(a);
external static extension-type-member method B|constructor#(self::A a) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B /* = self::A */
external static extension-type-member method B|constructor#(self::A a) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#(a);
external static extension-type-member method B|constructor#named(core::int i) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = self::A */
external static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#named(i);
external static extension-type-member method B|get#field(lowered self::A #this) → self::A;
external static extension-type-member method B|set#field(lowered self::A #this, synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
external static extension-type-member method B|method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#property(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|genericMethod<T extends self::B% /* erasure=self::A, declared=! */>(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B% /* erasure=self::A, declared=! */ #this) → <T extends self::B% /* erasure=self::A, declared=! */>(T%) → T%
return <T extends self::B% /* erasure=self::A, declared=! */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#setter(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#property(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
external static extension-type-member set B|staticProperty(self::B /* = self::A */ b) → void;
external static extension-type-member method B|staticGenericMethod<T extends self::B% /* erasure=self::A, declared=! */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticSetter(self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticProperty() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticProperty(self::B% /* erasure=self::A, declared=! */ b) → void;
static method method(self::A a) → void {
self::B /* = self::A */ b1 = self::B|constructor#(a);
self::B /* = self::A */ b2 = self::B|constructor#named(0);
self::B% /* erasure=self::A, declared=! */ b1 = self::B|constructor#(a);
self::B% /* erasure=self::A, declared=! */ b2 = self::B|constructor#named(0);
a = self::B|get#field(b1);
self::B|set#field(b1, a);
a = self::B|method(b1);
b2 = self::B|genericMethod<self::B /* = self::A */>(b2, b2);
b2 = self::B|genericMethod<self::B% /* erasure=self::A, declared=! */>(b2, b2);
b1 = self::B|get#getter(b2);
self::B|set#setter(b1, b2);
self::B|set#property(b1, self::B|get#property(b2));
a = self::B|staticField;
self::B|staticField = a;
a = self::B|staticMethod();
b2 = self::B|staticGenericMethod<self::B /* = self::A */>(b2);
b2 = self::B|staticGenericMethod<self::B% /* erasure=self::A, declared=! */>(b2);
b1 = self::B|staticGetter;
self::B|staticSetter = b2;
self::B|staticProperty = self::B|staticProperty;

View file

@ -44,52 +44,52 @@ extension type B(self::A a) {
constructor named = self::B|constructor#named;
constructor tearoff named = self::B|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#_(self::A a) → self::B /* = self::A */ {
lowered final self::B /* = self::A */ #this = a;
static extension-type-member method B|constructor#_(self::A a) → self::B% /* erasure=self::A, declared=! */ {
lowered final self::B% /* erasure=self::A, declared=! */ #this = a;
return #this;
}
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#_(a);
external static extension-type-member method B|constructor#(self::A a) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B /* = self::A */
external static extension-type-member method B|constructor#(self::A a) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#(a);
external static extension-type-member method B|constructor#named(core::int i) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = self::A */
external static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#named(i);
external static extension-type-member method B|get#field(lowered self::A #this) → self::A;
external static extension-type-member method B|set#field(lowered self::A #this, synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
external static extension-type-member method B|method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#property(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|genericMethod<T extends self::B% /* erasure=self::A, declared=! */>(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B% /* erasure=self::A, declared=! */ #this) → <T extends self::B% /* erasure=self::A, declared=! */>(T%) → T%
return <T extends self::B% /* erasure=self::A, declared=! */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#setter(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#property(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
external static extension-type-member set B|staticProperty(self::B /* = self::A */ b) → void;
external static extension-type-member method B|staticGenericMethod<T extends self::B% /* erasure=self::A, declared=! */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticSetter(self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticProperty() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticProperty(self::B% /* erasure=self::A, declared=! */ b) → void;
static method method(self::A a) → void {
self::B /* = self::A */ b1 = self::B|constructor#(a);
self::B /* = self::A */ b2 = self::B|constructor#named(0);
self::B% /* erasure=self::A, declared=! */ b1 = self::B|constructor#(a);
self::B% /* erasure=self::A, declared=! */ b2 = self::B|constructor#named(0);
a = self::B|get#field(b1);
self::B|set#field(b1, a);
a = self::B|method(b1);
b2 = self::B|genericMethod<self::B /* = self::A */>(b2, b2);
b2 = self::B|genericMethod<self::B% /* erasure=self::A, declared=! */>(b2, b2);
b1 = self::B|get#getter(b2);
self::B|set#setter(b1, b2);
self::B|set#property(b1, self::B|get#property(b2));
a = self::B|staticField;
self::B|staticField = a;
a = self::B|staticMethod();
b2 = self::B|staticGenericMethod<self::B /* = self::A */>(b2);
b2 = self::B|staticGenericMethod<self::B% /* erasure=self::A, declared=! */>(b2);
b1 = self::B|staticGetter;
self::B|staticSetter = b2;
self::B|staticProperty = self::B|staticProperty;

View file

@ -43,36 +43,36 @@ extension type B(self::A a) {
constructor named = self::B|constructor#named;
constructor tearoff named = self::B|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#_(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_(self::A a) → self::B% /* erasure=self::A, declared=! */
;
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#_(a);
external static extension-type-member method B|constructor#(self::A a) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B /* = self::A */
external static extension-type-member method B|constructor#(self::A a) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#(a);
external static extension-type-member method B|constructor#named(core::int i) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = self::A */
external static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#named(i);
external static extension-type-member method B|get#field(lowered self::A #this) → self::A;
external static extension-type-member method B|set#field(lowered self::A #this, synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
external static extension-type-member method B|method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#property(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|genericMethod<T extends self::B% /* erasure=self::A, declared=! */>(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B% /* erasure=self::A, declared=! */ #this) → <T extends self::B% /* erasure=self::A, declared=! */>(T%) → T%
return <T extends self::B% /* erasure=self::A, declared=! */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#setter(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#property(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
external static extension-type-member set B|staticProperty(self::B /* = self::A */ b) → void;
external static extension-type-member method B|staticGenericMethod<T extends self::B% /* erasure=self::A, declared=! */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticSetter(self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticProperty() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticProperty(self::B% /* erasure=self::A, declared=! */ b) → void;
static method method(self::A a) → void
;

View file

@ -46,55 +46,55 @@ extension type B(self::A a) {
constructor named = self::B|constructor#named;
constructor tearoff named = self::B|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#_(self::A a) → self::B /* = self::A */ {
lowered final self::B /* = self::A */ #this = a;
static extension-type-member method B|constructor#_(self::A a) → self::B% /* erasure=self::A, declared=! */ {
lowered final self::B% /* erasure=self::A, declared=! */ #this = a;
return #this;
}
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#_(a);
external static extension-type-member method B|constructor#(self::A a) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B /* = self::A */
return js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
external static extension-type-member method B|constructor#named(core::int i) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = self::A */
return js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), i);
external static extension-type-member method B|constructor#(self::A a) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
external static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=self::A, declared=! */
return js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), i);
external static extension-type-member method B|get#field(lowered self::A #this) → self::A;
external static extension-type-member method B|set#field(lowered self::A #this, synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
external static extension-type-member method B|method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → () → self::A
return () → self::A => js_2::_callMethodUnchecked0<self::A>(#this, "method");
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => js_2::callMethod<T%>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#property(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|genericMethod<T extends self::B% /* erasure=self::A, declared=! */>(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B% /* erasure=self::A, declared=! */ #this) → <T extends self::B% /* erasure=self::A, declared=! */>(T%) → T%
return <T extends self::B% /* erasure=self::A, declared=! */>(T% t) → T% => js_2::callMethod<T%>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|get#getter(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#setter(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#property(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
external static extension-type-member set B|staticProperty(self::B /* = self::A */ b) → void;
external static extension-type-member method B|staticGenericMethod<T extends self::B% /* erasure=self::A, declared=! */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticSetter(self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticProperty() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticProperty(self::B% /* erasure=self::A, declared=! */ b) → void;
static method method(self::A a) → void {
self::B /* = self::A */ b1 = js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
self::B /* = self::A */ b2 = js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), 0);
self::B% /* erasure=self::A, declared=! */ b1 = js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
self::B% /* erasure=self::A, declared=! */ b2 = js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), 0);
a = js_2::getProperty<self::A>(b1, "field");
js_2::setProperty<self::A>(b1, "field", a);
a = js_2::_callMethodUnchecked0<self::A>(b1, "method");
b2 = js_2::_callMethodUnchecked1<self::B /* = self::A */>(b2, "genericMethod", b2);
b1 = js_2::getProperty<self::B /* = self::A */>(b2, "getter");
js_2::setProperty<self::B /* = self::A */>(b1, "setter", b2);
js_2::setProperty<self::B /* = self::A */>(b1, "property", js_2::getProperty<self::B /* = self::A */>(b2, "property"));
b2 = js_2::_callMethodUnchecked1<self::B% /* erasure=self::A, declared=! */>(b2, "genericMethod", b2);
b1 = js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(b2, "getter");
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(b1, "setter", b2);
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(b1, "property", js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(b2, "property"));
a = js_2::getProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField");
js_2::setProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField", a);
a = js_2::_callMethodUnchecked0<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticMethod");
b2 = js_2::_callMethodUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", b2);
b1 = js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGetter");
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticSetter", b2);
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty", js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty"));
b2 = js_2::_callMethodUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", b2);
b1 = js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGetter");
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticSetter", b2);
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty", js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty"));
}
constants {

View file

@ -23,46 +23,46 @@ extension type K<T extends core::Object? = dynamic>(T% i) {
static factory • = self::K|constructor#;
static factory tearoff • = self::K|constructor#_#new#tearOff;
}
static extension-type-member method I|constructor#_(core::int i) → self::I /* = core::int */ {
lowered final self::I /* = core::int */ #this = i;
static extension-type-member method I|constructor#_(core::int i) → self::I% /* erasure=core::int, declared=! */ {
lowered final self::I% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#_(i);
static extension-type-member method I|constructor#() → self::I /* = core::int */
return 0 as self::I /* = core::int */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I /* = core::int */
static extension-type-member method I|constructor#() → self::I% /* erasure=core::int, declared=! */
return 0 as self::I% /* erasure=core::int, declared=! */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#();
static extension-type-member method J|constructor#_(core::int i) → self::J /* = core::int */ {
lowered final self::J /* = core::int */ #this = i;
static extension-type-member method J|constructor#_(core::int i) → self::J% /* erasure=core::int, declared=! */ {
lowered final self::J% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#(i);
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ {
lowered final self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ #this = i;
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ {
lowered final self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ #this = i;
return #this;
}
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%> /* = self::K|constructor#_#_#tearOff::T% */
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%>% /* erasure=self::K|constructor#_#_#tearOff::T%, declared=! */
return self::K|constructor#_<self::K|constructor#_#_#tearOff::T%>(i);
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%> /* = self::K|constructor#::T% */
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%>% /* erasure=self::K|constructor#::T%, declared=! */
return self::K|constructor#_<self::K|constructor#::T%>(i);
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%> /* = self::K|constructor#_#new#tearOff::T% */
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%>% /* erasure=self::K|constructor#_#new#tearOff::T%, declared=! */
return self::K|constructor#<self::K|constructor#_#new#tearOff::T%>(i);
static method main() → dynamic {
self::expect(0, self::I|constructor#());
self::expect(0, #C1(){() → self::I /* = core::int */});
self::expect(0, #C1(){() → self::I% /* erasure=core::int, declared=! */});
self::expect(42, self::J|constructor#(42));
self::expect(87, self::J|constructor#(87));
self::expect(123, #C2(123){(core::int) → self::J /* = core::int */});
self::expect(123, #C2(123){(core::int) → self::J% /* erasure=core::int, declared=! */});
self::expect("foo", self::K|constructor#<core::String>("foo"));
self::expect("bar", self::K|constructor#<core::String>("bar"));
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -23,46 +23,46 @@ extension type K<T extends core::Object? = dynamic>(T% i) {
static factory • = self::K|constructor#;
static factory tearoff • = self::K|constructor#_#new#tearOff;
}
static extension-type-member method I|constructor#_(core::int i) → self::I /* = core::int */ {
lowered final self::I /* = core::int */ #this = i;
static extension-type-member method I|constructor#_(core::int i) → self::I% /* erasure=core::int, declared=! */ {
lowered final self::I% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#_(i);
static extension-type-member method I|constructor#() → self::I /* = core::int */
return 0 as self::I /* = core::int */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I /* = core::int */
static extension-type-member method I|constructor#() → self::I% /* erasure=core::int, declared=! */
return 0 as self::I% /* erasure=core::int, declared=! */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#();
static extension-type-member method J|constructor#_(core::int i) → self::J /* = core::int */ {
lowered final self::J /* = core::int */ #this = i;
static extension-type-member method J|constructor#_(core::int i) → self::J% /* erasure=core::int, declared=! */ {
lowered final self::J% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#(i);
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ {
lowered final self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ #this = i;
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ {
lowered final self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ #this = i;
return #this;
}
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%> /* = self::K|constructor#_#_#tearOff::T% */
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%>% /* erasure=self::K|constructor#_#_#tearOff::T%, declared=! */
return self::K|constructor#_<self::K|constructor#_#_#tearOff::T%>(i);
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%> /* = self::K|constructor#::T% */
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%>% /* erasure=self::K|constructor#::T%, declared=! */
return self::K|constructor#_<self::K|constructor#::T%>(i);
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%> /* = self::K|constructor#_#new#tearOff::T% */
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%>% /* erasure=self::K|constructor#_#new#tearOff::T%, declared=! */
return self::K|constructor#<self::K|constructor#_#new#tearOff::T%>(i);
static method main() → dynamic {
self::expect(0, self::I|constructor#());
self::expect(0, #C1(){() → self::I /* = core::int */});
self::expect(0, #C1(){() → self::I% /* erasure=core::int, declared=! */});
self::expect(42, self::J|constructor#(42));
self::expect(87, self::J|constructor#(87));
self::expect(123, #C2(123){(core::int) → self::J /* = core::int */});
self::expect(123, #C2(123){(core::int) → self::J% /* erasure=core::int, declared=! */});
self::expect("foo", self::K|constructor#<core::String>("foo"));
self::expect("bar", self::K|constructor#<core::String>("bar"));
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -23,46 +23,46 @@ extension type K<T extends core::Object? = dynamic>(T% i) {
static factory • = self::K|constructor#;
static factory tearoff • = self::K|constructor#_#new#tearOff;
}
static extension-type-member method I|constructor#_(core::int i) → self::I /* = core::int */ {
lowered final self::I /* = core::int */ #this = i;
static extension-type-member method I|constructor#_(core::int i) → self::I% /* erasure=core::int, declared=! */ {
lowered final self::I% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#_(i);
static extension-type-member method I|constructor#() → self::I /* = core::int */
return 0 as self::I /* = core::int */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I /* = core::int */
static extension-type-member method I|constructor#() → self::I% /* erasure=core::int, declared=! */
return 0 as self::I% /* erasure=core::int, declared=! */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#();
static extension-type-member method J|constructor#_(core::int i) → self::J /* = core::int */ {
lowered final self::J /* = core::int */ #this = i;
static extension-type-member method J|constructor#_(core::int i) → self::J% /* erasure=core::int, declared=! */ {
lowered final self::J% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#(i);
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ {
lowered final self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ #this = i;
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ {
lowered final self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ #this = i;
return #this;
}
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%> /* = self::K|constructor#_#_#tearOff::T% */
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%>% /* erasure=self::K|constructor#_#_#tearOff::T%, declared=! */
return self::K|constructor#_<self::K|constructor#_#_#tearOff::T%>(i);
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%> /* = self::K|constructor#::T% */
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%>% /* erasure=self::K|constructor#::T%, declared=! */
return self::K|constructor#_<self::K|constructor#::T%>(i);
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%> /* = self::K|constructor#_#new#tearOff::T% */
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%>% /* erasure=self::K|constructor#_#new#tearOff::T%, declared=! */
return self::K|constructor#<self::K|constructor#_#new#tearOff::T%>(i);
static method main() → dynamic {
self::expect(0, self::I|constructor#());
self::expect(0, #C1(){() → self::I /* = core::int */});
self::expect(0, #C1(){() → self::I% /* erasure=core::int, declared=! */});
self::expect(42, self::J|constructor#(42));
self::expect(87, self::J|constructor#(87));
self::expect(123, #C2(123){(core::int) → self::J /* = core::int */});
self::expect(123, #C2(123){(core::int) → self::J% /* erasure=core::int, declared=! */});
self::expect("foo", self::K|constructor#<core::String>("foo"));
self::expect("bar", self::K|constructor#<core::String>("bar"));
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -23,46 +23,46 @@ extension type K<T extends core::Object? = dynamic>(T% i) {
static factory • = self::K|constructor#;
static factory tearoff • = self::K|constructor#_#new#tearOff;
}
static extension-type-member method I|constructor#_(core::int i) → self::I /* = core::int */ {
lowered final self::I /* = core::int */ #this = i;
static extension-type-member method I|constructor#_(core::int i) → self::I% /* erasure=core::int, declared=! */ {
lowered final self::I% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#_(i);
static extension-type-member method I|constructor#() → self::I /* = core::int */
return 0 as self::I /* = core::int */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I /* = core::int */
static extension-type-member method I|constructor#() → self::I% /* erasure=core::int, declared=! */
return 0 as self::I% /* erasure=core::int, declared=! */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#();
static extension-type-member method J|constructor#_(core::int i) → self::J /* = core::int */ {
lowered final self::J /* = core::int */ #this = i;
static extension-type-member method J|constructor#_(core::int i) → self::J% /* erasure=core::int, declared=! */ {
lowered final self::J% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#(i);
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ {
lowered final self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ #this = i;
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ {
lowered final self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ #this = i;
return #this;
}
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%> /* = self::K|constructor#_#_#tearOff::T% */
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%>% /* erasure=self::K|constructor#_#_#tearOff::T%, declared=! */
return self::K|constructor#_<self::K|constructor#_#_#tearOff::T%>(i);
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%> /* = self::K|constructor#::T% */
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%>% /* erasure=self::K|constructor#::T%, declared=! */
return self::K|constructor#_<self::K|constructor#::T%>(i);
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%> /* = self::K|constructor#_#new#tearOff::T% */
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%>% /* erasure=self::K|constructor#_#new#tearOff::T%, declared=! */
return self::K|constructor#<self::K|constructor#_#new#tearOff::T%>(i);
static method main() → dynamic {
self::expect(0, self::I|constructor#());
self::expect(0, #C1(){() → self::I /* = core::int */});
self::expect(0, #C1(){() → self::I% /* erasure=core::int, declared=! */});
self::expect(42, self::J|constructor#(42));
self::expect(87, self::J|constructor#(87));
self::expect(123, #C2(123){(core::int) → self::J /* = core::int */});
self::expect(123, #C2(123){(core::int) → self::J% /* erasure=core::int, declared=! */});
self::expect("foo", self::K|constructor#<core::String>("foo"));
self::expect("bar", self::K|constructor#<core::String>("bar"));
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -23,29 +23,29 @@ extension type K<T extends core::Object? = dynamic>(T% i) {
static factory • = self::K|constructor#;
static factory tearoff • = self::K|constructor#_#new#tearOff;
}
static extension-type-member method I|constructor#_(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_(core::int i) → self::I% /* erasure=core::int, declared=! */
;
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#_(i);
static extension-type-member method I|constructor#() → self::I /* = core::int */
static extension-type-member method I|constructor#() → self::I% /* erasure=core::int, declared=! */
;
static extension-type-member method I|constructor#_#new#tearOff() → self::I /* = core::int */
static extension-type-member method I|constructor#_#new#tearOff() → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#();
static extension-type-member method J|constructor#_(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_(core::int i) → self::J% /* erasure=core::int, declared=! */
;
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#(core::int i) → self::J% /* erasure=core::int, declared=! */
;
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#(i);
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */
;
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%> /* = self::K|constructor#_#_#tearOff::T% */
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%>% /* erasure=self::K|constructor#_#_#tearOff::T%, declared=! */
return self::K|constructor#_<self::K|constructor#_#_#tearOff::T%>(i);
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%> /* = self::K|constructor#::T% */
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%>% /* erasure=self::K|constructor#::T%, declared=! */
;
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%> /* = self::K|constructor#_#new#tearOff::T% */
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%>% /* erasure=self::K|constructor#_#new#tearOff::T%, declared=! */
return self::K|constructor#<self::K|constructor#_#new#tearOff::T%>(i);
static method main() → dynamic
;

View file

@ -23,46 +23,46 @@ extension type K<T extends core::Object? = dynamic>(T% i) {
static factory • = self::K|constructor#;
static factory tearoff • = self::K|constructor#_#new#tearOff;
}
static extension-type-member method I|constructor#_(core::int i) → self::I /* = core::int */ {
lowered final self::I /* = core::int */ #this = i;
static extension-type-member method I|constructor#_(core::int i) → self::I% /* erasure=core::int, declared=! */ {
lowered final self::I% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#_(i);
static extension-type-member method I|constructor#() → self::I /* = core::int */
return 0 as self::I /* = core::int */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I /* = core::int */
static extension-type-member method I|constructor#() → self::I% /* erasure=core::int, declared=! */
return 0 as self::I% /* erasure=core::int, declared=! */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#();
static extension-type-member method J|constructor#_(core::int i) → self::J /* = core::int */ {
lowered final self::J /* = core::int */ #this = i;
static extension-type-member method J|constructor#_(core::int i) → self::J% /* erasure=core::int, declared=! */ {
lowered final self::J% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#(i);
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ {
lowered final self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ #this = i;
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ {
lowered final self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ #this = i;
return #this;
}
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%> /* = self::K|constructor#_#_#tearOff::T% */
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%>% /* erasure=self::K|constructor#_#_#tearOff::T%, declared=! */
return self::K|constructor#_<self::K|constructor#_#_#tearOff::T%>(i);
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%> /* = self::K|constructor#::T% */
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%>% /* erasure=self::K|constructor#::T%, declared=! */
return self::K|constructor#_<self::K|constructor#::T%>(i);
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%> /* = self::K|constructor#_#new#tearOff::T% */
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%>% /* erasure=self::K|constructor#_#new#tearOff::T%, declared=! */
return self::K|constructor#<self::K|constructor#_#new#tearOff::T%>(i);
static method main() → dynamic {
self::expect(0, self::I|constructor#());
self::expect(0, #C1(){() → self::I /* = core::int */});
self::expect(0, #C1(){() → self::I% /* erasure=core::int, declared=! */});
self::expect(42, self::J|constructor#(42));
self::expect(87, self::J|constructor#(87));
self::expect(123, #C2(123){(core::int) → self::J /* = core::int */});
self::expect(123, #C2(123){(core::int) → self::J% /* erasure=core::int, declared=! */});
self::expect("foo", self::K|constructor#<core::String>("foo"));
self::expect("bar", self::K|constructor#<core::String>("bar"));
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -5,71 +5,71 @@ import "dart:js_interop" as js_;
import "dart:js_interop";
extension type CustomJSAny(js_::JSAny /* = dart.core::Object */ _) implements js_::JSAny /* = dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* = dart.core::Object */;
extension type CustomJSAny(js_::JSAny /* erasure=dart.core::Object */ _) implements js_::JSAny /* erasure=dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* erasure=dart.core::Object */;
constructor • = self::CustomJSAny|constructor#;
constructor tearoff • = self::CustomJSAny|constructor#_#new#tearOff;
}
extension type CustomJSObject(js_::JSObject /* = _interceptors::JSObject */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* = _interceptors::JSObject */;
extension type CustomJSObject(js_::JSObject /* erasure=_interceptors::JSObject */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* erasure=_interceptors::JSObject */;
constructor • = self::CustomJSObject|constructor#;
constructor tearoff • = self::CustomJSObject|constructor#_#new#tearOff;
}
extension type CustomTypedArray(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */;
extension type CustomTypedArray(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */;
constructor • = self::CustomTypedArray|constructor#;
constructor tearoff • = self::CustomTypedArray|constructor#_#new#tearOff;
}
@#C4
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */;
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */;
constructor • = self::CustomJSArray|constructor#;
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
}
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */ {
lowered final self::CustomJSAny /* = dart.core::Object */ #this = _;
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */ {
lowered final self::CustomJSAny /* erasure=dart.core::Object */ #this = _;
return #this;
}
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
return self::CustomJSAny|constructor#(_);
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* = _interceptors::JSObject */ _) → self::CustomJSObject /* = _interceptors::JSObject */ {
lowered final self::CustomJSObject /* = _interceptors::JSObject */ #this = _;
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */ {
lowered final self::CustomJSObject /* erasure=_interceptors::JSObject */ #this = _;
return #this;
}
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* = _interceptors::JSObject */ _) → self::CustomJSObject /* = _interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */
return self::CustomJSObject|constructor#(_);
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ #this = _;
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
return #this;
}
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
return self::CustomTypedArray|constructor#(_);
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */ #this = _;
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */ #this = _;
return #this;
}
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */
return self::CustomJSArray|constructor#(_);
static method test(js_::JSAny /* = dart.core::Object */ any) → void {
js_::JSAnyUtilityExtension|isA<js_::JSAny /* = dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny? /* = dart.core::Object? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString /* = dart.core::String */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString? /* = dart.core::String? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSNumber /* = dart.core::double */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBoolean /* = dart.core::bool */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSSymbol /* = _interceptors::JavaScriptSymbol */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBigInt /* = _interceptors::JavaScriptBigInt */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject /* = _interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject? /* = _interceptors::JSObject? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSAny /* = dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSObject /* = _interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny /* = dart.core::Object */>((() → js_::JSAny /* = dart.core::Object */ {
static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
js_::JSAnyUtilityExtension|isA<js_::JSAny /* erasure=dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny? /* erasure=dart.core::Object? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString /* erasure=dart.core::String */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString? /* erasure=dart.core::String? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSNumber /* erasure=dart.core::double */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBoolean /* erasure=dart.core::bool */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSSymbol /* erasure=_interceptors::JavaScriptSymbol */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBigInt /* erasure=_interceptors::JavaScriptBigInt */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject /* erasure=_interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject? /* erasure=_interceptors::JSObject? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSAny /* erasure=dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSObject /* erasure=_interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny /* erasure=dart.core::Object */>((() → js_::JSAny /* erasure=dart.core::Object */ {
return any;
})(){() → js_::JSAny /* = dart.core::Object */});
})(){() → js_::JSAny /* erasure=dart.core::Object */});
}
static method main() → void {}

View file

@ -6,52 +6,52 @@ import "dart:js_interop_unsafe" as js_2;
import "dart:js_interop";
extension type CustomJSAny(js_::JSAny /* = dart.core::Object */ _) implements js_::JSAny /* = dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* = dart.core::Object */;
extension type CustomJSAny(js_::JSAny /* erasure=dart.core::Object */ _) implements js_::JSAny /* erasure=dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* erasure=dart.core::Object */;
constructor • = self::CustomJSAny|constructor#;
constructor tearoff • = self::CustomJSAny|constructor#_#new#tearOff;
}
extension type CustomJSObject(js_::JSObject /* = _interceptors::JSObject */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* = _interceptors::JSObject */;
extension type CustomJSObject(js_::JSObject /* erasure=_interceptors::JSObject */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* erasure=_interceptors::JSObject */;
constructor • = self::CustomJSObject|constructor#;
constructor tearoff • = self::CustomJSObject|constructor#_#new#tearOff;
}
extension type CustomTypedArray(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */;
extension type CustomTypedArray(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */;
constructor • = self::CustomTypedArray|constructor#;
constructor tearoff • = self::CustomTypedArray|constructor#_#new#tearOff;
}
@#C4
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */;
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */;
constructor • = self::CustomJSArray|constructor#;
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
}
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */ {
lowered final self::CustomJSAny /* = dart.core::Object */ #this = _;
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */ {
lowered final self::CustomJSAny /* erasure=dart.core::Object */ #this = _;
return #this;
}
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
return self::CustomJSAny|constructor#(_);
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* = _interceptors::JSObject */ _) → self::CustomJSObject /* = _interceptors::JSObject */ {
lowered final self::CustomJSObject /* = _interceptors::JSObject */ #this = _;
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */ {
lowered final self::CustomJSObject /* erasure=_interceptors::JSObject */ #this = _;
return #this;
}
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* = _interceptors::JSObject */ _) → self::CustomJSObject /* = _interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */
return self::CustomJSObject|constructor#(_);
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ #this = _;
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
return #this;
}
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
return self::CustomTypedArray|constructor#(_);
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */ #this = _;
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */ #this = _;
return #this;
}
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */
return self::CustomJSArray|constructor#(_);
static method test(js_::JSAny /* = dart.core::Object */ any) → void {
static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
!(any == null);
true;
!(any == null) && js_::JSAnyUtilityExtension|typeofEquals(any, "string");
@ -63,14 +63,14 @@ static method test(js_::JSAny /* = dart.core::Object */ any) → void {
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
any == null || js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Array");
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* = _interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as{ForLegacy} js_::JSObject /* = _interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* = dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as{ForLegacy} js_::JSObject /* = _interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* erasure=_interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as{ForLegacy} js_::JSObject /* erasure=_interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* erasure=dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as{ForLegacy} js_::JSObject /* erasure=_interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSAny");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSObject");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomTypedArray");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.RenamedJSArray");
let final js_::JSAny? /* = dart.core::Object? */ #t1 = (() → js_::JSAny /* = dart.core::Object */ {
let final js_::JSAny? /* erasure=dart.core::Object? */ #t1 = (() → js_::JSAny /* erasure=dart.core::Object */ {
return any;
})(){() → js_::JSAny /* = dart.core::Object */} in !(#t1 == null);
})(){() → js_::JSAny /* erasure=dart.core::Object */} in !(#t1 == null);
}
static method main() → void {}

View file

@ -5,71 +5,71 @@ import "dart:js_interop" as js_;
import "dart:js_interop";
extension type CustomJSAny(js_::JSAny /* = dart.core::Object */ _) implements js_::JSAny /* = dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* = dart.core::Object */;
extension type CustomJSAny(js_::JSAny /* erasure=dart.core::Object */ _) implements js_::JSAny /* erasure=dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* erasure=dart.core::Object */;
constructor • = self::CustomJSAny|constructor#;
constructor tearoff • = self::CustomJSAny|constructor#_#new#tearOff;
}
extension type CustomJSObject(js_::JSObject /* = _interceptors::JSObject */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* = _interceptors::JSObject */;
extension type CustomJSObject(js_::JSObject /* erasure=_interceptors::JSObject */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* erasure=_interceptors::JSObject */;
constructor • = self::CustomJSObject|constructor#;
constructor tearoff • = self::CustomJSObject|constructor#_#new#tearOff;
}
extension type CustomTypedArray(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */;
extension type CustomTypedArray(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */;
constructor • = self::CustomTypedArray|constructor#;
constructor tearoff • = self::CustomTypedArray|constructor#_#new#tearOff;
}
@#C4
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */;
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */;
constructor • = self::CustomJSArray|constructor#;
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
}
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */ {
lowered final self::CustomJSAny /* = dart.core::Object */ #this = _;
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */ {
lowered final self::CustomJSAny /* erasure=dart.core::Object */ #this = _;
return #this;
}
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
return self::CustomJSAny|constructor#(_);
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* = _interceptors::JSObject */ _) → self::CustomJSObject /* = _interceptors::JSObject */ {
lowered final self::CustomJSObject /* = _interceptors::JSObject */ #this = _;
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */ {
lowered final self::CustomJSObject /* erasure=_interceptors::JSObject */ #this = _;
return #this;
}
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* = _interceptors::JSObject */ _) → self::CustomJSObject /* = _interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */
return self::CustomJSObject|constructor#(_);
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ #this = _;
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
return #this;
}
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
return self::CustomTypedArray|constructor#(_);
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */ #this = _;
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */ #this = _;
return #this;
}
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */
return self::CustomJSArray|constructor#(_);
static method test(js_::JSAny /* = dart.core::Object */ any) → void {
js_::JSAnyUtilityExtension|isA<js_::JSAny /* = dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny? /* = dart.core::Object? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString /* = dart.core::String */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString? /* = dart.core::String? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSNumber /* = dart.core::double */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBoolean /* = dart.core::bool */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSSymbol /* = _interceptors::JavaScriptSymbol */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBigInt /* = _interceptors::JavaScriptBigInt */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject /* = _interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject? /* = _interceptors::JSObject? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSAny /* = dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSObject /* = _interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny /* = dart.core::Object */>((() → js_::JSAny /* = dart.core::Object */ {
static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
js_::JSAnyUtilityExtension|isA<js_::JSAny /* erasure=dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny? /* erasure=dart.core::Object? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString /* erasure=dart.core::String */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString? /* erasure=dart.core::String? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSNumber /* erasure=dart.core::double */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBoolean /* erasure=dart.core::bool */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSSymbol /* erasure=_interceptors::JavaScriptSymbol */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBigInt /* erasure=_interceptors::JavaScriptBigInt */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject /* erasure=_interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject? /* erasure=_interceptors::JSObject? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSAny /* erasure=dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSObject /* erasure=_interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny /* erasure=dart.core::Object */>((() → js_::JSAny /* erasure=dart.core::Object */ {
return any;
})(){() → js_::JSAny /* = dart.core::Object */});
})(){() → js_::JSAny /* erasure=dart.core::Object */});
}
static method main() → void {}

View file

@ -5,71 +5,71 @@ import "dart:js_interop" as js_;
import "dart:js_interop";
extension type CustomJSAny(js_::JSAny /* = dart.core::Object */ _) implements js_::JSAny /* = dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* = dart.core::Object */;
extension type CustomJSAny(js_::JSAny /* erasure=dart.core::Object */ _) implements js_::JSAny /* erasure=dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* erasure=dart.core::Object */;
constructor • = self::CustomJSAny|constructor#;
constructor tearoff • = self::CustomJSAny|constructor#_#new#tearOff;
}
extension type CustomJSObject(js_::JSObject /* = _interceptors::JSObject */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* = _interceptors::JSObject */;
extension type CustomJSObject(js_::JSObject /* erasure=_interceptors::JSObject */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* erasure=_interceptors::JSObject */;
constructor • = self::CustomJSObject|constructor#;
constructor tearoff • = self::CustomJSObject|constructor#_#new#tearOff;
}
extension type CustomTypedArray(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */;
extension type CustomTypedArray(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */;
constructor • = self::CustomTypedArray|constructor#;
constructor tearoff • = self::CustomTypedArray|constructor#_#new#tearOff;
}
@#C4
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */;
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */;
constructor • = self::CustomJSArray|constructor#;
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
}
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */ {
lowered final self::CustomJSAny /* = dart.core::Object */ #this = _;
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */ {
lowered final self::CustomJSAny /* erasure=dart.core::Object */ #this = _;
return #this;
}
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
return self::CustomJSAny|constructor#(_);
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* = _interceptors::JSObject */ _) → self::CustomJSObject /* = _interceptors::JSObject */ {
lowered final self::CustomJSObject /* = _interceptors::JSObject */ #this = _;
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */ {
lowered final self::CustomJSObject /* erasure=_interceptors::JSObject */ #this = _;
return #this;
}
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* = _interceptors::JSObject */ _) → self::CustomJSObject /* = _interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */
return self::CustomJSObject|constructor#(_);
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ #this = _;
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
return #this;
}
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
return self::CustomTypedArray|constructor#(_);
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */ #this = _;
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */ #this = _;
return #this;
}
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */
return self::CustomJSArray|constructor#(_);
static method test(js_::JSAny /* = dart.core::Object */ any) → void {
js_::JSAnyUtilityExtension|isA<js_::JSAny /* = dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny? /* = dart.core::Object? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString /* = dart.core::String */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString? /* = dart.core::String? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSNumber /* = dart.core::double */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBoolean /* = dart.core::bool */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSSymbol /* = _interceptors::JavaScriptSymbol */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBigInt /* = _interceptors::JavaScriptBigInt */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject /* = _interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject? /* = _interceptors::JSObject? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSAny /* = dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSObject /* = _interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny /* = dart.core::Object */>((() → js_::JSAny /* = dart.core::Object */ {
static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
js_::JSAnyUtilityExtension|isA<js_::JSAny /* erasure=dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny? /* erasure=dart.core::Object? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString /* erasure=dart.core::String */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString? /* erasure=dart.core::String? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSNumber /* erasure=dart.core::double */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBoolean /* erasure=dart.core::bool */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSSymbol /* erasure=_interceptors::JavaScriptSymbol */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBigInt /* erasure=_interceptors::JavaScriptBigInt */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject /* erasure=_interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject? /* erasure=_interceptors::JSObject? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSAny /* erasure=dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSObject /* erasure=_interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny /* erasure=dart.core::Object */>((() → js_::JSAny /* erasure=dart.core::Object */ {
return any;
})(){() → js_::JSAny /* = dart.core::Object */});
})(){() → js_::JSAny /* erasure=dart.core::Object */});
}
static method main() → void {}

View file

@ -5,44 +5,44 @@ import "dart:js_interop" as js_;
import "dart:js_interop";
extension type CustomJSAny(js_::JSAny /* = dart.core::Object */ _) implements js_::JSAny /* = dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* = dart.core::Object */;
extension type CustomJSAny(js_::JSAny /* erasure=dart.core::Object */ _) implements js_::JSAny /* erasure=dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* erasure=dart.core::Object */;
constructor • = self::CustomJSAny|constructor#;
constructor tearoff • = self::CustomJSAny|constructor#_#new#tearOff;
}
extension type CustomJSObject(js_::JSObject /* = _interceptors::JSObject */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* = _interceptors::JSObject */;
extension type CustomJSObject(js_::JSObject /* erasure=_interceptors::JSObject */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* erasure=_interceptors::JSObject */;
constructor • = self::CustomJSObject|constructor#;
constructor tearoff • = self::CustomJSObject|constructor#_#new#tearOff;
}
extension type CustomTypedArray(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */;
extension type CustomTypedArray(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */;
constructor • = self::CustomTypedArray|constructor#;
constructor tearoff • = self::CustomTypedArray|constructor#_#new#tearOff;
}
@js_::JS::•("RenamedJSArray")
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */;
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */;
constructor • = self::CustomJSArray|constructor#;
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
}
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
;
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
return self::CustomJSAny|constructor#(_);
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* = _interceptors::JSObject */ _) → self::CustomJSObject /* = _interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */
;
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* = _interceptors::JSObject */ _) → self::CustomJSObject /* = _interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */
return self::CustomJSObject|constructor#(_);
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
;
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
return self::CustomTypedArray|constructor#(_);
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */
;
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */
return self::CustomJSArray|constructor#(_);
static method test(js_::JSAny /* = dart.core::Object */ any) → void
static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void
;
static method main() → void
;

View file

@ -6,52 +6,52 @@ import "dart:js_interop_unsafe" as js_2;
import "dart:js_interop";
extension type CustomJSAny(js_::JSAny /* = dart.core::Object */ _) implements js_::JSAny /* = dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* = dart.core::Object */;
extension type CustomJSAny(js_::JSAny /* erasure=dart.core::Object */ _) implements js_::JSAny /* erasure=dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* erasure=dart.core::Object */;
constructor • = self::CustomJSAny|constructor#;
constructor tearoff • = self::CustomJSAny|constructor#_#new#tearOff;
}
extension type CustomJSObject(js_::JSObject /* = _interceptors::JSObject */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* = _interceptors::JSObject */;
extension type CustomJSObject(js_::JSObject /* erasure=_interceptors::JSObject */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* erasure=_interceptors::JSObject */;
constructor • = self::CustomJSObject|constructor#;
constructor tearoff • = self::CustomJSObject|constructor#_#new#tearOff;
}
extension type CustomTypedArray(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */;
extension type CustomTypedArray(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */;
constructor • = self::CustomTypedArray|constructor#;
constructor tearoff • = self::CustomTypedArray|constructor#_#new#tearOff;
}
@#C4
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* = _interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */;
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* erasure=_interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */;
constructor • = self::CustomJSArray|constructor#;
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
}
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */ {
lowered final self::CustomJSAny /* = dart.core::Object */ #this = _;
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */ {
lowered final self::CustomJSAny /* erasure=dart.core::Object */ #this = _;
return #this;
}
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
return self::CustomJSAny|constructor#(_);
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* = _interceptors::JSObject */ _) → self::CustomJSObject /* = _interceptors::JSObject */ {
lowered final self::CustomJSObject /* = _interceptors::JSObject */ #this = _;
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */ {
lowered final self::CustomJSObject /* erasure=_interceptors::JSObject */ #this = _;
return #this;
}
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* = _interceptors::JSObject */ _) → self::CustomJSObject /* = _interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */
return self::CustomJSObject|constructor#(_);
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ #this = _;
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
return #this;
}
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
return self::CustomTypedArray|constructor#(_);
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */ #this = _;
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */ #this = _;
return #this;
}
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = _interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = _interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=_interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<dart.core::Object?> */
return self::CustomJSArray|constructor#(_);
static method test(js_::JSAny /* = dart.core::Object */ any) → void {
static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
!(any == null);
true;
!(any == null) && js_::JSAnyUtilityExtension|typeofEquals(any, "string");
@ -63,14 +63,14 @@ static method test(js_::JSAny /* = dart.core::Object */ any) → void {
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
any == null || js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Array");
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* = _interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as{ForLegacy} js_::JSObject /* = _interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* = dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as{ForLegacy} js_::JSObject /* = _interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* erasure=_interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as{ForLegacy} js_::JSObject /* erasure=_interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* erasure=dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as{ForLegacy} js_::JSObject /* erasure=_interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSAny");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSObject");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomTypedArray");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.RenamedJSArray");
let final js_::JSAny? /* = dart.core::Object? */ #t1 = (() → js_::JSAny /* = dart.core::Object */ {
let final js_::JSAny? /* erasure=dart.core::Object? */ #t1 = (() → js_::JSAny /* erasure=dart.core::Object */ {
return any;
})(){() → js_::JSAny /* = dart.core::Object */} in !(#t1 == null);
})(){() → js_::JSAny /* erasure=dart.core::Object */} in !(#t1 == null);
}
static method main() → void {}

View file

@ -19,27 +19,27 @@ extension type ET1(core::int id) {
constructor tearoff n1 = self::ET1|constructor#_#n1#tearOff;
}
static field dynamic log;
static extension-type-member method ET1|constructor#(core::int id) → self::ET1 /* = core::int */ {
lowered final self::ET1 /* = core::int */ #this = id;
static extension-type-member method ET1|constructor#(core::int id) → self::ET1% /* erasure=core::int, declared=! */ {
lowered final self::ET1% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1 /* = core::int */
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1% /* erasure=core::int, declared=! */
return self::ET1|constructor#(id);
static extension-type-member method ET1|constructor#n1(core::int id, [core::String s = #C2]) → self::ET1 /* = core::int */ {
lowered final self::ET1 /* = core::int */ #this = id;
static extension-type-member method ET1|constructor#n1(core::int id, [core::String s = #C2]) → self::ET1% /* erasure=core::int, declared=! */ {
lowered final self::ET1% /* erasure=core::int, declared=! */ #this = id;
{
self::log = s;
}
return #this;
}
static extension-type-member method ET1|constructor#_#n1#tearOff(core::int id, [core::String s = #C2]) → self::ET1 /* = core::int */
static extension-type-member method ET1|constructor#_#n1#tearOff(core::int id, [core::String s = #C2]) → self::ET1% /* erasure=core::int, declared=! */
return self::ET1|constructor#n1(id, s);
static method main() → dynamic {
(core::int, [core::String]) → self::C1 x = #C3;
x(0){(core::int, [core::String]) → self::C1};
self::expect("a", self::log);
(core::int, [core::String]) → self::ET1 /* = core::int */ y = #C4;
y(1){(core::int, [core::String]) → self::ET1 /* = core::int */};
(core::int, [core::String]) → self::ET1% /* erasure=core::int, declared=! */ y = #C4;
y(1){(core::int, [core::String]) → self::ET1% /* erasure=core::int, declared=! */};
self::expect("b", self::log);
}
static method expect(dynamic expected, dynamic actual) → dynamic {

View file

@ -19,27 +19,27 @@ extension type ET1(core::int id) {
constructor tearoff n1 = self::ET1|constructor#_#n1#tearOff;
}
static field dynamic log;
static extension-type-member method ET1|constructor#(core::int id) → self::ET1 /* = core::int */ {
lowered final self::ET1 /* = core::int */ #this = id;
static extension-type-member method ET1|constructor#(core::int id) → self::ET1% /* erasure=core::int, declared=! */ {
lowered final self::ET1% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1 /* = core::int */
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1% /* erasure=core::int, declared=! */
return self::ET1|constructor#(id);
static extension-type-member method ET1|constructor#n1(core::int id, [core::String s = #C2]) → self::ET1 /* = core::int */ {
lowered final self::ET1 /* = core::int */ #this = id;
static extension-type-member method ET1|constructor#n1(core::int id, [core::String s = #C2]) → self::ET1% /* erasure=core::int, declared=! */ {
lowered final self::ET1% /* erasure=core::int, declared=! */ #this = id;
{
self::log = s;
}
return #this;
}
static extension-type-member method ET1|constructor#_#n1#tearOff(core::int id, [core::String s = #C2]) → self::ET1 /* = core::int */
static extension-type-member method ET1|constructor#_#n1#tearOff(core::int id, [core::String s = #C2]) → self::ET1% /* erasure=core::int, declared=! */
return self::ET1|constructor#n1(id, s);
static method main() → dynamic {
(core::int, [core::String]) → self::C1 x = #C3;
x(0){(core::int, [core::String]) → self::C1};
self::expect("a", self::log);
(core::int, [core::String]) → self::ET1 /* = core::int */ y = #C4;
y(1){(core::int, [core::String]) → self::ET1 /* = core::int */};
(core::int, [core::String]) → self::ET1% /* erasure=core::int, declared=! */ y = #C4;
y(1){(core::int, [core::String]) → self::ET1% /* erasure=core::int, declared=! */};
self::expect("b", self::log);
}
static method expect(dynamic expected, dynamic actual) → dynamic {

View file

@ -44,52 +44,52 @@ extension type B(self::A a) {
constructor named = self::B|constructor#named;
constructor tearoff named = self::B|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#_(self::A a) → self::B /* = self::A */ {
lowered final self::B /* = self::A */ #this = a;
static extension-type-member method B|constructor#_(self::A a) → self::B% /* erasure=self::A, declared=! */ {
lowered final self::B% /* erasure=self::A, declared=! */ #this = a;
return #this;
}
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#_(a);
external static extension-type-member method B|constructor#(self::A a) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B /* = self::A */
external static extension-type-member method B|constructor#(self::A a) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#(a);
external static extension-type-member method B|constructor#named(core::int i) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = self::A */
external static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#named(i);
external static extension-type-member method B|get#field(lowered self::A #this) → self::A;
external static extension-type-member method B|set#field(lowered self::A #this, synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
external static extension-type-member method B|method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#property(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|genericMethod<T extends self::B% /* erasure=self::A, declared=! */>(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B% /* erasure=self::A, declared=! */ #this) → <T extends self::B% /* erasure=self::A, declared=! */>(T%) → T%
return <T extends self::B% /* erasure=self::A, declared=! */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#setter(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#property(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
external static extension-type-member set B|staticProperty(self::B /* = self::A */ b) → void;
external static extension-type-member method B|staticGenericMethod<T extends self::B% /* erasure=self::A, declared=! */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticSetter(self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticProperty() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticProperty(self::B% /* erasure=self::A, declared=! */ b) → void;
static method method(self::A a) → void {
self::B /* = self::A */ b1 = self::B|constructor#(a);
self::B /* = self::A */ b2 = self::B|constructor#named(0);
self::B% /* erasure=self::A, declared=! */ b1 = self::B|constructor#(a);
self::B% /* erasure=self::A, declared=! */ b2 = self::B|constructor#named(0);
a = self::B|get#field(b1);
self::B|set#field(b1, a);
a = self::B|method(b1);
b2 = self::B|genericMethod<self::B /* = self::A */>(b2, b2);
b2 = self::B|genericMethod<self::B% /* erasure=self::A, declared=! */>(b2, b2);
b1 = self::B|get#getter(b2);
self::B|set#setter(b1, b2);
self::B|set#property(b1, self::B|get#property(b2));
a = self::B|staticField;
self::B|staticField = a;
a = self::B|staticMethod();
b2 = self::B|staticGenericMethod<self::B /* = self::A */>(b2);
b2 = self::B|staticGenericMethod<self::B% /* erasure=self::A, declared=! */>(b2);
b1 = self::B|staticGetter;
self::B|staticSetter = b2;
self::B|staticProperty = self::B|staticProperty;

View file

@ -46,55 +46,55 @@ extension type B(self::A a) {
constructor named = self::B|constructor#named;
constructor tearoff named = self::B|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#_(self::A a) → self::B /* = self::A */ {
lowered final self::B /* = self::A */ #this = a;
static extension-type-member method B|constructor#_(self::A a) → self::B% /* erasure=self::A, declared=! */ {
lowered final self::B% /* erasure=self::A, declared=! */ #this = a;
return #this;
}
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#_(a);
external static extension-type-member method B|constructor#(self::A a) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B /* = self::A */
return js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
external static extension-type-member method B|constructor#named(core::int i) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = self::A */
return js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), i);
external static extension-type-member method B|constructor#(self::A a) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
external static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=self::A, declared=! */
return js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), i);
external static extension-type-member method B|get#field(lowered self::A #this) → self::A;
external static extension-type-member method B|set#field(lowered self::A #this, synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
external static extension-type-member method B|method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → () → self::A
return () → self::A => js_2::_callMethodUnchecked0<self::A>(#this, "method");
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => js_2::callMethod<T%>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#property(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|genericMethod<T extends self::B% /* erasure=self::A, declared=! */>(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B% /* erasure=self::A, declared=! */ #this) → <T extends self::B% /* erasure=self::A, declared=! */>(T%) → T%
return <T extends self::B% /* erasure=self::A, declared=! */>(T% t) → T% => js_2::callMethod<T%>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|get#getter(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#setter(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#property(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
external static extension-type-member set B|staticProperty(self::B /* = self::A */ b) → void;
external static extension-type-member method B|staticGenericMethod<T extends self::B% /* erasure=self::A, declared=! */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticSetter(self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticProperty() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticProperty(self::B% /* erasure=self::A, declared=! */ b) → void;
static method method(self::A a) → void {
self::B /* = self::A */ b1 = js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
self::B /* = self::A */ b2 = js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), 0);
self::B% /* erasure=self::A, declared=! */ b1 = js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
self::B% /* erasure=self::A, declared=! */ b2 = js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), 0);
a = js_2::getProperty<self::A>(b1, "field");
js_2::setProperty<self::A>(b1, "field", a);
a = js_2::_callMethodUnchecked0<self::A>(b1, "method");
b2 = js_2::_callMethodUnchecked1<self::B /* = self::A */>(b2, "genericMethod", b2);
b1 = js_2::getProperty<self::B /* = self::A */>(b2, "getter");
js_2::setProperty<self::B /* = self::A */>(b1, "setter", b2);
js_2::setProperty<self::B /* = self::A */>(b1, "property", js_2::getProperty<self::B /* = self::A */>(b2, "property"));
b2 = js_2::_callMethodUnchecked1<self::B% /* erasure=self::A, declared=! */>(b2, "genericMethod", b2);
b1 = js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(b2, "getter");
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(b1, "setter", b2);
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(b1, "property", js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(b2, "property"));
a = js_2::getProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField");
js_2::setProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField", a);
a = js_2::_callMethodUnchecked0<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticMethod");
b2 = js_2::_callMethodUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", b2);
b1 = js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGetter");
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticSetter", b2);
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty", js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty"));
b2 = js_2::_callMethodUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", b2);
b1 = js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGetter");
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticSetter", b2);
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty", js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty"));
}
constants {

View file

@ -44,52 +44,52 @@ extension type B(self::A a) {
constructor named = self::B|constructor#named;
constructor tearoff named = self::B|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#_(self::A a) → self::B /* = self::A */ {
lowered final self::B /* = self::A */ #this = a;
static extension-type-member method B|constructor#_(self::A a) → self::B% /* erasure=self::A, declared=! */ {
lowered final self::B% /* erasure=self::A, declared=! */ #this = a;
return #this;
}
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#_(a);
external static extension-type-member method B|constructor#(self::A a) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B /* = self::A */
external static extension-type-member method B|constructor#(self::A a) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#(a);
external static extension-type-member method B|constructor#named(core::int i) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = self::A */
external static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#named(i);
external static extension-type-member method B|get#field(lowered self::A #this) → self::A;
external static extension-type-member method B|set#field(lowered self::A #this, synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
external static extension-type-member method B|method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#property(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|genericMethod<T extends self::B% /* erasure=self::A, declared=! */>(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B% /* erasure=self::A, declared=! */ #this) → <T extends self::B% /* erasure=self::A, declared=! */>(T%) → T%
return <T extends self::B% /* erasure=self::A, declared=! */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#setter(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#property(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
external static extension-type-member set B|staticProperty(self::B /* = self::A */ b) → void;
external static extension-type-member method B|staticGenericMethod<T extends self::B% /* erasure=self::A, declared=! */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticSetter(self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticProperty() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticProperty(self::B% /* erasure=self::A, declared=! */ b) → void;
static method method(self::A a) → void {
self::B /* = self::A */ b1 = self::B|constructor#(a);
self::B /* = self::A */ b2 = self::B|constructor#named(0);
self::B% /* erasure=self::A, declared=! */ b1 = self::B|constructor#(a);
self::B% /* erasure=self::A, declared=! */ b2 = self::B|constructor#named(0);
a = self::B|get#field(b1);
self::B|set#field(b1, a);
a = self::B|method(b1);
b2 = self::B|genericMethod<self::B /* = self::A */>(b2, b2);
b2 = self::B|genericMethod<self::B% /* erasure=self::A, declared=! */>(b2, b2);
b1 = self::B|get#getter(b2);
self::B|set#setter(b1, b2);
self::B|set#property(b1, self::B|get#property(b2));
a = self::B|staticField;
self::B|staticField = a;
a = self::B|staticMethod();
b2 = self::B|staticGenericMethod<self::B /* = self::A */>(b2);
b2 = self::B|staticGenericMethod<self::B% /* erasure=self::A, declared=! */>(b2);
b1 = self::B|staticGetter;
self::B|staticSetter = b2;
self::B|staticProperty = self::B|staticProperty;

View file

@ -44,52 +44,52 @@ extension type B(self::A a) {
constructor named = self::B|constructor#named;
constructor tearoff named = self::B|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#_(self::A a) → self::B /* = self::A */ {
lowered final self::B /* = self::A */ #this = a;
static extension-type-member method B|constructor#_(self::A a) → self::B% /* erasure=self::A, declared=! */ {
lowered final self::B% /* erasure=self::A, declared=! */ #this = a;
return #this;
}
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#_(a);
external static extension-type-member method B|constructor#(self::A a) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B /* = self::A */
external static extension-type-member method B|constructor#(self::A a) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#(a);
external static extension-type-member method B|constructor#named(core::int i) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = self::A */
external static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#named(i);
external static extension-type-member method B|get#field(lowered self::A #this) → self::A;
external static extension-type-member method B|set#field(lowered self::A #this, synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
external static extension-type-member method B|method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#property(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|genericMethod<T extends self::B% /* erasure=self::A, declared=! */>(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B% /* erasure=self::A, declared=! */ #this) → <T extends self::B% /* erasure=self::A, declared=! */>(T%) → T%
return <T extends self::B% /* erasure=self::A, declared=! */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#setter(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#property(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
external static extension-type-member set B|staticProperty(self::B /* = self::A */ b) → void;
external static extension-type-member method B|staticGenericMethod<T extends self::B% /* erasure=self::A, declared=! */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticSetter(self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticProperty() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticProperty(self::B% /* erasure=self::A, declared=! */ b) → void;
static method method(self::A a) → void {
self::B /* = self::A */ b1 = self::B|constructor#(a);
self::B /* = self::A */ b2 = self::B|constructor#named(0);
self::B% /* erasure=self::A, declared=! */ b1 = self::B|constructor#(a);
self::B% /* erasure=self::A, declared=! */ b2 = self::B|constructor#named(0);
a = self::B|get#field(b1);
self::B|set#field(b1, a);
a = self::B|method(b1);
b2 = self::B|genericMethod<self::B /* = self::A */>(b2, b2);
b2 = self::B|genericMethod<self::B% /* erasure=self::A, declared=! */>(b2, b2);
b1 = self::B|get#getter(b2);
self::B|set#setter(b1, b2);
self::B|set#property(b1, self::B|get#property(b2));
a = self::B|staticField;
self::B|staticField = a;
a = self::B|staticMethod();
b2 = self::B|staticGenericMethod<self::B /* = self::A */>(b2);
b2 = self::B|staticGenericMethod<self::B% /* erasure=self::A, declared=! */>(b2);
b1 = self::B|staticGetter;
self::B|staticSetter = b2;
self::B|staticProperty = self::B|staticProperty;

View file

@ -43,36 +43,36 @@ extension type B(self::A a) {
constructor named = self::B|constructor#named;
constructor tearoff named = self::B|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#_(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_(self::A a) → self::B% /* erasure=self::A, declared=! */
;
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#_(a);
external static extension-type-member method B|constructor#(self::A a) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B /* = self::A */
external static extension-type-member method B|constructor#(self::A a) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#(a);
external static extension-type-member method B|constructor#named(core::int i) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = self::A */
external static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#named(i);
external static extension-type-member method B|get#field(lowered self::A #this) → self::A;
external static extension-type-member method B|set#field(lowered self::A #this, synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
external static extension-type-member method B|method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#property(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|genericMethod<T extends self::B% /* erasure=self::A, declared=! */>(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B% /* erasure=self::A, declared=! */ #this) → <T extends self::B% /* erasure=self::A, declared=! */>(T%) → T%
return <T extends self::B% /* erasure=self::A, declared=! */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#setter(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#property(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
external static extension-type-member set B|staticProperty(self::B /* = self::A */ b) → void;
external static extension-type-member method B|staticGenericMethod<T extends self::B% /* erasure=self::A, declared=! */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticSetter(self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticProperty() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticProperty(self::B% /* erasure=self::A, declared=! */ b) → void;
static method method(self::A a) → void
;

View file

@ -46,55 +46,55 @@ extension type B(self::A a) {
constructor named = self::B|constructor#named;
constructor tearoff named = self::B|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#_(self::A a) → self::B /* = self::A */ {
lowered final self::B /* = self::A */ #this = a;
static extension-type-member method B|constructor#_(self::A a) → self::B% /* erasure=self::A, declared=! */ {
lowered final self::B% /* erasure=self::A, declared=! */ #this = a;
return #this;
}
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B /* = self::A */
static extension-type-member method B|constructor#_#_#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return self::B|constructor#_(a);
external static extension-type-member method B|constructor#(self::A a) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B /* = self::A */
return js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
external static extension-type-member method B|constructor#named(core::int i) → self::B /* = self::A */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = self::A */
return js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), i);
external static extension-type-member method B|constructor#(self::A a) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#new#tearOff(self::A a) → self::B% /* erasure=self::A, declared=! */
return js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
external static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=self::A, declared=! */;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=self::A, declared=! */
return js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), i);
external static extension-type-member method B|get#field(lowered self::A #this) → self::A;
external static extension-type-member method B|set#field(lowered self::A #this, synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
external static extension-type-member method B|method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B% /* erasure=self::A, declared=! */ #this) → () → self::A
return () → self::A => js_2::_callMethodUnchecked0<self::A>(#this, "method");
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => js_2::callMethod<T%>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#property(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|genericMethod<T extends self::B% /* erasure=self::A, declared=! */>(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B% /* erasure=self::A, declared=! */ #this) → <T extends self::B% /* erasure=self::A, declared=! */>(T%) → T%
return <T extends self::B% /* erasure=self::A, declared=! */>(T% t) → T% => js_2::callMethod<T%>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|get#getter(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#setter(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B% /* erasure=self::A, declared=! */ #this) → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member method B|set#property(lowered final self::B% /* erasure=self::A, declared=! */ #this, self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(synthesized self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
external static extension-type-member set B|staticProperty(self::B /* = self::A */ b) → void;
external static extension-type-member method B|staticGenericMethod<T extends self::B% /* erasure=self::A, declared=! */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticSetter(self::B% /* erasure=self::A, declared=! */ b) → void;
external static extension-type-member get B|staticProperty() → self::B% /* erasure=self::A, declared=! */;
external static extension-type-member set B|staticProperty(self::B% /* erasure=self::A, declared=! */ b) → void;
static method method(self::A a) → void {
self::B /* = self::A */ b1 = js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
self::B /* = self::A */ b2 = js_2::_callConstructorUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), 0);
self::B% /* erasure=self::A, declared=! */ b1 = js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), a);
self::B% /* erasure=self::A, declared=! */ b2 = js_2::_callConstructorUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), 0);
a = js_2::getProperty<self::A>(b1, "field");
js_2::setProperty<self::A>(b1, "field", a);
a = js_2::_callMethodUnchecked0<self::A>(b1, "method");
b2 = js_2::_callMethodUnchecked1<self::B /* = self::A */>(b2, "genericMethod", b2);
b1 = js_2::getProperty<self::B /* = self::A */>(b2, "getter");
js_2::setProperty<self::B /* = self::A */>(b1, "setter", b2);
js_2::setProperty<self::B /* = self::A */>(b1, "property", js_2::getProperty<self::B /* = self::A */>(b2, "property"));
b2 = js_2::_callMethodUnchecked1<self::B% /* erasure=self::A, declared=! */>(b2, "genericMethod", b2);
b1 = js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(b2, "getter");
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(b1, "setter", b2);
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(b1, "property", js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(b2, "property"));
a = js_2::getProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField");
js_2::setProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField", a);
a = js_2::_callMethodUnchecked0<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticMethod");
b2 = js_2::_callMethodUnchecked1<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", b2);
b1 = js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGetter");
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticSetter", b2);
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty", js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty"));
b2 = js_2::_callMethodUnchecked1<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", b2);
b1 = js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGetter");
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticSetter", b2);
js_2::setProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty", js_2::getProperty<self::B% /* erasure=self::A, declared=! */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty"));
}
constants {

View file

@ -23,46 +23,46 @@ extension type K<T extends core::Object? = dynamic>(T% i) {
static factory • = self::K|constructor#;
static factory tearoff • = self::K|constructor#_#new#tearOff;
}
static extension-type-member method I|constructor#_(core::int i) → self::I /* = core::int */ {
lowered final self::I /* = core::int */ #this = i;
static extension-type-member method I|constructor#_(core::int i) → self::I% /* erasure=core::int, declared=! */ {
lowered final self::I% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#_(i);
static extension-type-member method I|constructor#() → self::I /* = core::int */
return 0 as self::I /* = core::int */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I /* = core::int */
static extension-type-member method I|constructor#() → self::I% /* erasure=core::int, declared=! */
return 0 as self::I% /* erasure=core::int, declared=! */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#();
static extension-type-member method J|constructor#_(core::int i) → self::J /* = core::int */ {
lowered final self::J /* = core::int */ #this = i;
static extension-type-member method J|constructor#_(core::int i) → self::J% /* erasure=core::int, declared=! */ {
lowered final self::J% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#(i);
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ {
lowered final self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ #this = i;
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ {
lowered final self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ #this = i;
return #this;
}
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%> /* = self::K|constructor#_#_#tearOff::T% */
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%>% /* erasure=self::K|constructor#_#_#tearOff::T%, declared=! */
return self::K|constructor#_<self::K|constructor#_#_#tearOff::T%>(i);
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%> /* = self::K|constructor#::T% */
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%>% /* erasure=self::K|constructor#::T%, declared=! */
return self::K|constructor#_<self::K|constructor#::T%>(i);
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%> /* = self::K|constructor#_#new#tearOff::T% */
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%>% /* erasure=self::K|constructor#_#new#tearOff::T%, declared=! */
return self::K|constructor#<self::K|constructor#_#new#tearOff::T%>(i);
static method main() → dynamic {
self::expect(0, self::I|constructor#());
self::expect(0, #C1(){() → self::I /* = core::int */});
self::expect(0, #C1(){() → self::I% /* erasure=core::int, declared=! */});
self::expect(42, self::J|constructor#(42));
self::expect(87, self::J|constructor#(87));
self::expect(123, #C2(123){(core::int) → self::J /* = core::int */});
self::expect(123, #C2(123){(core::int) → self::J% /* erasure=core::int, declared=! */});
self::expect("foo", self::K|constructor#<core::String>("foo"));
self::expect("bar", self::K|constructor#<core::String>("bar"));
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -23,46 +23,46 @@ extension type K<T extends core::Object? = dynamic>(T% i) {
static factory • = self::K|constructor#;
static factory tearoff • = self::K|constructor#_#new#tearOff;
}
static extension-type-member method I|constructor#_(core::int i) → self::I /* = core::int */ {
lowered final self::I /* = core::int */ #this = i;
static extension-type-member method I|constructor#_(core::int i) → self::I% /* erasure=core::int, declared=! */ {
lowered final self::I% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#_(i);
static extension-type-member method I|constructor#() → self::I /* = core::int */
return 0 as self::I /* = core::int */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I /* = core::int */
static extension-type-member method I|constructor#() → self::I% /* erasure=core::int, declared=! */
return 0 as self::I% /* erasure=core::int, declared=! */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#();
static extension-type-member method J|constructor#_(core::int i) → self::J /* = core::int */ {
lowered final self::J /* = core::int */ #this = i;
static extension-type-member method J|constructor#_(core::int i) → self::J% /* erasure=core::int, declared=! */ {
lowered final self::J% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#(i);
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ {
lowered final self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ #this = i;
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ {
lowered final self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ #this = i;
return #this;
}
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%> /* = self::K|constructor#_#_#tearOff::T% */
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%>% /* erasure=self::K|constructor#_#_#tearOff::T%, declared=! */
return self::K|constructor#_<self::K|constructor#_#_#tearOff::T%>(i);
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%> /* = self::K|constructor#::T% */
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%>% /* erasure=self::K|constructor#::T%, declared=! */
return self::K|constructor#_<self::K|constructor#::T%>(i);
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%> /* = self::K|constructor#_#new#tearOff::T% */
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%>% /* erasure=self::K|constructor#_#new#tearOff::T%, declared=! */
return self::K|constructor#<self::K|constructor#_#new#tearOff::T%>(i);
static method main() → dynamic {
self::expect(0, self::I|constructor#());
self::expect(0, #C1(){() → self::I /* = core::int */});
self::expect(0, #C1(){() → self::I% /* erasure=core::int, declared=! */});
self::expect(42, self::J|constructor#(42));
self::expect(87, self::J|constructor#(87));
self::expect(123, #C2(123){(core::int) → self::J /* = core::int */});
self::expect(123, #C2(123){(core::int) → self::J% /* erasure=core::int, declared=! */});
self::expect("foo", self::K|constructor#<core::String>("foo"));
self::expect("bar", self::K|constructor#<core::String>("bar"));
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -23,46 +23,46 @@ extension type K<T extends core::Object? = dynamic>(T% i) {
static factory • = self::K|constructor#;
static factory tearoff • = self::K|constructor#_#new#tearOff;
}
static extension-type-member method I|constructor#_(core::int i) → self::I /* = core::int */ {
lowered final self::I /* = core::int */ #this = i;
static extension-type-member method I|constructor#_(core::int i) → self::I% /* erasure=core::int, declared=! */ {
lowered final self::I% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#_(i);
static extension-type-member method I|constructor#() → self::I /* = core::int */
return 0 as self::I /* = core::int */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I /* = core::int */
static extension-type-member method I|constructor#() → self::I% /* erasure=core::int, declared=! */
return 0 as self::I% /* erasure=core::int, declared=! */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#();
static extension-type-member method J|constructor#_(core::int i) → self::J /* = core::int */ {
lowered final self::J /* = core::int */ #this = i;
static extension-type-member method J|constructor#_(core::int i) → self::J% /* erasure=core::int, declared=! */ {
lowered final self::J% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#(i);
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ {
lowered final self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ #this = i;
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ {
lowered final self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ #this = i;
return #this;
}
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%> /* = self::K|constructor#_#_#tearOff::T% */
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%>% /* erasure=self::K|constructor#_#_#tearOff::T%, declared=! */
return self::K|constructor#_<self::K|constructor#_#_#tearOff::T%>(i);
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%> /* = self::K|constructor#::T% */
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%>% /* erasure=self::K|constructor#::T%, declared=! */
return self::K|constructor#_<self::K|constructor#::T%>(i);
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%> /* = self::K|constructor#_#new#tearOff::T% */
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%>% /* erasure=self::K|constructor#_#new#tearOff::T%, declared=! */
return self::K|constructor#<self::K|constructor#_#new#tearOff::T%>(i);
static method main() → dynamic {
self::expect(0, self::I|constructor#());
self::expect(0, #C1(){() → self::I /* = core::int */});
self::expect(0, #C1(){() → self::I% /* erasure=core::int, declared=! */});
self::expect(42, self::J|constructor#(42));
self::expect(87, self::J|constructor#(87));
self::expect(123, #C2(123){(core::int) → self::J /* = core::int */});
self::expect(123, #C2(123){(core::int) → self::J% /* erasure=core::int, declared=! */});
self::expect("foo", self::K|constructor#<core::String>("foo"));
self::expect("bar", self::K|constructor#<core::String>("bar"));
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -23,46 +23,46 @@ extension type K<T extends core::Object? = dynamic>(T% i) {
static factory • = self::K|constructor#;
static factory tearoff • = self::K|constructor#_#new#tearOff;
}
static extension-type-member method I|constructor#_(core::int i) → self::I /* = core::int */ {
lowered final self::I /* = core::int */ #this = i;
static extension-type-member method I|constructor#_(core::int i) → self::I% /* erasure=core::int, declared=! */ {
lowered final self::I% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#_(i);
static extension-type-member method I|constructor#() → self::I /* = core::int */
return 0 as self::I /* = core::int */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I /* = core::int */
static extension-type-member method I|constructor#() → self::I% /* erasure=core::int, declared=! */
return 0 as self::I% /* erasure=core::int, declared=! */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#();
static extension-type-member method J|constructor#_(core::int i) → self::J /* = core::int */ {
lowered final self::J /* = core::int */ #this = i;
static extension-type-member method J|constructor#_(core::int i) → self::J% /* erasure=core::int, declared=! */ {
lowered final self::J% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#(i);
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ {
lowered final self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ #this = i;
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ {
lowered final self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ #this = i;
return #this;
}
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%> /* = self::K|constructor#_#_#tearOff::T% */
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%>% /* erasure=self::K|constructor#_#_#tearOff::T%, declared=! */
return self::K|constructor#_<self::K|constructor#_#_#tearOff::T%>(i);
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%> /* = self::K|constructor#::T% */
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%>% /* erasure=self::K|constructor#::T%, declared=! */
return self::K|constructor#_<self::K|constructor#::T%>(i);
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%> /* = self::K|constructor#_#new#tearOff::T% */
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%>% /* erasure=self::K|constructor#_#new#tearOff::T%, declared=! */
return self::K|constructor#<self::K|constructor#_#new#tearOff::T%>(i);
static method main() → dynamic {
self::expect(0, self::I|constructor#());
self::expect(0, #C1(){() → self::I /* = core::int */});
self::expect(0, #C1(){() → self::I% /* erasure=core::int, declared=! */});
self::expect(42, self::J|constructor#(42));
self::expect(87, self::J|constructor#(87));
self::expect(123, #C2(123){(core::int) → self::J /* = core::int */});
self::expect(123, #C2(123){(core::int) → self::J% /* erasure=core::int, declared=! */});
self::expect("foo", self::K|constructor#<core::String>("foo"));
self::expect("bar", self::K|constructor#<core::String>("bar"));
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -23,29 +23,29 @@ extension type K<T extends core::Object? = dynamic>(T% i) {
static factory • = self::K|constructor#;
static factory tearoff • = self::K|constructor#_#new#tearOff;
}
static extension-type-member method I|constructor#_(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_(core::int i) → self::I% /* erasure=core::int, declared=! */
;
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#_(i);
static extension-type-member method I|constructor#() → self::I /* = core::int */
static extension-type-member method I|constructor#() → self::I% /* erasure=core::int, declared=! */
;
static extension-type-member method I|constructor#_#new#tearOff() → self::I /* = core::int */
static extension-type-member method I|constructor#_#new#tearOff() → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#();
static extension-type-member method J|constructor#_(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_(core::int i) → self::J% /* erasure=core::int, declared=! */
;
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#(core::int i) → self::J% /* erasure=core::int, declared=! */
;
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#(i);
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */
;
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%> /* = self::K|constructor#_#_#tearOff::T% */
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%>% /* erasure=self::K|constructor#_#_#tearOff::T%, declared=! */
return self::K|constructor#_<self::K|constructor#_#_#tearOff::T%>(i);
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%> /* = self::K|constructor#::T% */
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%>% /* erasure=self::K|constructor#::T%, declared=! */
;
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%> /* = self::K|constructor#_#new#tearOff::T% */
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%>% /* erasure=self::K|constructor#_#new#tearOff::T%, declared=! */
return self::K|constructor#<self::K|constructor#_#new#tearOff::T%>(i);
static method main() → dynamic
;

View file

@ -23,46 +23,46 @@ extension type K<T extends core::Object? = dynamic>(T% i) {
static factory • = self::K|constructor#;
static factory tearoff • = self::K|constructor#_#new#tearOff;
}
static extension-type-member method I|constructor#_(core::int i) → self::I /* = core::int */ {
lowered final self::I /* = core::int */ #this = i;
static extension-type-member method I|constructor#_(core::int i) → self::I% /* erasure=core::int, declared=! */ {
lowered final self::I% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I /* = core::int */
static extension-type-member method I|constructor#_#_#tearOff(core::int i) → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#_(i);
static extension-type-member method I|constructor#() → self::I /* = core::int */
return 0 as self::I /* = core::int */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I /* = core::int */
static extension-type-member method I|constructor#() → self::I% /* erasure=core::int, declared=! */
return 0 as self::I% /* erasure=core::int, declared=! */;
static extension-type-member method I|constructor#_#new#tearOff() → self::I% /* erasure=core::int, declared=! */
return self::I|constructor#();
static extension-type-member method J|constructor#_(core::int i) → self::J /* = core::int */ {
lowered final self::J /* = core::int */ #this = i;
static extension-type-member method J|constructor#_(core::int i) → self::J% /* erasure=core::int, declared=! */ {
lowered final self::J% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#_#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#_(i);
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J /* = core::int */
static extension-type-member method J|constructor#_#new#tearOff(core::int i) → self::J% /* erasure=core::int, declared=! */
return self::J|constructor#(i);
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ {
lowered final self::K<self::K|constructor#_::T%> /* = self::K|constructor#_::T% */ #this = i;
static extension-type-member method K|constructor#_<T extends core::Object? = dynamic>(self::K|constructor#_::T% i) → self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ {
lowered final self::K<self::K|constructor#_::T%>% /* erasure=self::K|constructor#_::T%, declared=! */ #this = i;
return #this;
}
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%> /* = self::K|constructor#_#_#tearOff::T% */
static extension-type-member method K|constructor#_#_#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#_#tearOff::T% i) → self::K<self::K|constructor#_#_#tearOff::T%>% /* erasure=self::K|constructor#_#_#tearOff::T%, declared=! */
return self::K|constructor#_<self::K|constructor#_#_#tearOff::T%>(i);
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%> /* = self::K|constructor#::T% */
static extension-type-member method K|constructor#<T extends core::Object? = dynamic>(self::K|constructor#::T% i) → self::K<self::K|constructor#::T%>% /* erasure=self::K|constructor#::T%, declared=! */
return self::K|constructor#_<self::K|constructor#::T%>(i);
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%> /* = self::K|constructor#_#new#tearOff::T% */
static extension-type-member method K|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::K|constructor#_#new#tearOff::T% i) → self::K<self::K|constructor#_#new#tearOff::T%>% /* erasure=self::K|constructor#_#new#tearOff::T%, declared=! */
return self::K|constructor#<self::K|constructor#_#new#tearOff::T%>(i);
static method main() → dynamic {
self::expect(0, self::I|constructor#());
self::expect(0, #C1(){() → self::I /* = core::int */});
self::expect(0, #C1(){() → self::I% /* erasure=core::int, declared=! */});
self::expect(42, self::J|constructor#(42));
self::expect(87, self::J|constructor#(87));
self::expect(123, #C2(123){(core::int) → self::J /* = core::int */});
self::expect(123, #C2(123){(core::int) → self::J% /* erasure=core::int, declared=! */});
self::expect("foo", self::K|constructor#<core::String>("foo"));
self::expect("bar", self::K|constructor#<core::String>("bar"));
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String> /* = core::String */});
self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
self::expect("boz", #C4("boz"){(core::String) → self::K<core::String>% /* erasure=core::String, declared=! */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -21,108 +21,108 @@ extension type SameGeneric<T extends core::Object? = dynamic>(T% s) {
constructor • = self::SameGeneric|constructor#;
constructor tearoff • = self::SameGeneric|constructor#_#new#tearOff;
}
static const field self::SameString /* = core::String */ sameString0 = #C1;
static const field self::SameString /* = core::String */ sameString1 = #C2;
static const field self::SameNullable /* = core::String? */ sameNullable0 = #C3;
static const field self::SameNullable /* = core::String? */ sameNullable1 = #C1;
static const field self::SameGeneric<core::String> /* = core::String */ sameGeneric0 = #C1;
static const field self::SameGeneric<core::String?> /* = core::String? */ sameGeneric1 = #C3;
static const field self::SameGeneric<core::String?> /* = core::String? */ sameGeneric2 = #C1;
static const field #lib1::ExtString /* = core::String */ valString0 = #C1;
static const field #lib1::ExtString /* = core::String */ valString1 = #C2;
static const field #lib1::ExtNullable /* = core::String? */ valNullable0 = #C3;
static const field #lib1::ExtNullable /* = core::String? */ valNullable1 = #C1;
static const field #lib1::ExtGeneric<core::String> /* = core::String */ valGeneric0 = #C1;
static const field #lib1::ExtGeneric<core::String?> /* = core::String? */ valGeneric1 = #C3;
static const field #lib1::ExtGeneric<core::String?> /* = core::String? */ valGeneric2 = #C1;
static extension-type-member method SameString|constructor#(core::String s) → self::SameString /* = core::String */ {
lowered final self::SameString /* = core::String */ #this = s;
static const field self::SameString% /* erasure=core::String, declared=! */ sameString0 = #C1;
static const field self::SameString% /* erasure=core::String, declared=! */ sameString1 = #C2;
static const field self::SameNullable% /* erasure=core::String?, declared=! */ sameNullable0 = #C3;
static const field self::SameNullable% /* erasure=core::String?, declared=! */ sameNullable1 = #C1;
static const field self::SameGeneric<core::String>% /* erasure=core::String, declared=! */ sameGeneric0 = #C1;
static const field self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ sameGeneric1 = #C3;
static const field self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ sameGeneric2 = #C1;
static const field #lib1::ExtString% /* erasure=core::String, declared=! */ valString0 = #C1;
static const field #lib1::ExtString% /* erasure=core::String, declared=! */ valString1 = #C2;
static const field #lib1::ExtNullable% /* erasure=core::String?, declared=! */ valNullable0 = #C3;
static const field #lib1::ExtNullable% /* erasure=core::String?, declared=! */ valNullable1 = #C1;
static const field #lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ valGeneric0 = #C1;
static const field #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ valGeneric1 = #C3;
static const field #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ valGeneric2 = #C1;
static extension-type-member method SameString|constructor#(core::String s) → self::SameString% /* erasure=core::String, declared=! */ {
lowered final self::SameString% /* erasure=core::String, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameString|constructor#_#new#tearOff(core::String s) → self::SameString /* = core::String */
static extension-type-member method SameString|constructor#_#new#tearOff(core::String s) → self::SameString% /* erasure=core::String, declared=! */
return self::SameString|constructor#(s);
static extension-type-member method SameString|constructor#named(core::String s) → self::SameString /* = core::String */ {
lowered final self::SameString /* = core::String */ #this = "${s} world";
static extension-type-member method SameString|constructor#named(core::String s) → self::SameString% /* erasure=core::String, declared=! */ {
lowered final self::SameString% /* erasure=core::String, declared=! */ #this = "${s} world";
return #this;
}
static extension-type-member method SameString|constructor#_#named#tearOff(core::String s) → self::SameString /* = core::String */
static extension-type-member method SameString|constructor#_#named#tearOff(core::String s) → self::SameString% /* erasure=core::String, declared=! */
return self::SameString|constructor#named(s);
static extension-type-member method SameNullable|constructor#(core::String? s) → self::SameNullable /* = core::String? */ {
lowered final self::SameNullable /* = core::String? */ #this = s;
static extension-type-member method SameNullable|constructor#(core::String? s) → self::SameNullable% /* erasure=core::String?, declared=! */ {
lowered final self::SameNullable% /* erasure=core::String?, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameNullable|constructor#_#new#tearOff(core::String? s) → self::SameNullable /* = core::String? */
static extension-type-member method SameNullable|constructor#_#new#tearOff(core::String? s) → self::SameNullable% /* erasure=core::String?, declared=! */
return self::SameNullable|constructor#(s);
static extension-type-member method SameGeneric|constructor#<T extends core::Object? = dynamic>(self::SameGeneric|constructor#::T% s) → self::SameGeneric<self::SameGeneric|constructor#::T%> /* = self::SameGeneric|constructor#::T% */ {
lowered final self::SameGeneric<self::SameGeneric|constructor#::T%> /* = self::SameGeneric|constructor#::T% */ #this = s;
static extension-type-member method SameGeneric|constructor#<T extends core::Object? = dynamic>(self::SameGeneric|constructor#::T% s) → self::SameGeneric<self::SameGeneric|constructor#::T%>% /* erasure=self::SameGeneric|constructor#::T%, declared=! */ {
lowered final self::SameGeneric<self::SameGeneric|constructor#::T%>% /* erasure=self::SameGeneric|constructor#::T%, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::SameGeneric|constructor#_#new#tearOff::T% s) → self::SameGeneric<self::SameGeneric|constructor#_#new#tearOff::T%> /* = self::SameGeneric|constructor#_#new#tearOff::T% */
static extension-type-member method SameGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::SameGeneric|constructor#_#new#tearOff::T% s) → self::SameGeneric<self::SameGeneric|constructor#_#new#tearOff::T%>% /* erasure=self::SameGeneric|constructor#_#new#tearOff::T%, declared=! */
return self::SameGeneric|constructor#<self::SameGeneric|constructor#_#new#tearOff::T%>(s);
static method sameLibrary() → dynamic {
self::SameString /* = core::String */ x0 = #C1;
self::SameString% /* erasure=core::String, declared=! */ x0 = #C1;
self::sameString("hello", x0);
self::SameString /* = core::String */ x1 = #C2;
self::SameString% /* erasure=core::String, declared=! */ x1 = #C2;
self::sameString("hello world", x1);
has-declared-initializer self::SameNullable /* = core::String? */ y0 = #C3;
has-declared-initializer self::SameNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::sameNullable(null, y0);
self::SameNullable /* = core::String? */ y1 = #C1;
self::SameNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::sameNullable("hello", y1);
self::SameGeneric<core::String> /* = core::String */ z0 = #C1;
self::SameGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::sameGeneric<core::String>("hello", z0);
has-declared-initializer self::SameGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::sameGeneric<core::String?>(null, z1);
self::SameGeneric<core::String?> /* = core::String? */ z2 = #C1;
self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::sameGeneric<core::String?>("hello", z2);
}
static method sameString(dynamic expected, self::SameString /* = core::String */ es) → void {
static method sameString(dynamic expected, self::SameString% /* erasure=core::String, declared=! */ es) → void {
self::expect(expected, es);
}
static method sameNullable(dynamic expected, self::SameNullable /* = core::String? */ es) → void {
static method sameNullable(dynamic expected, self::SameNullable% /* erasure=core::String?, declared=! */ es) → void {
self::expect(expected, es);
}
static method sameGeneric<T extends core::Object? = dynamic>(dynamic expected, self::SameGeneric<self::sameGeneric::T%> /* = self::sameGeneric::T% */ es) → void {
static method sameGeneric<T extends core::Object? = dynamic>(dynamic expected, self::SameGeneric<self::sameGeneric::T%>% /* erasure=self::sameGeneric::T%, declared=! */ es) → void {
self::expect(expected, es);
}
static method otherLibrary() → dynamic {
#lib1::ExtString /* = core::String */ x0 = #C1;
#lib1::ExtString% /* erasure=core::String, declared=! */ x0 = #C1;
self::extString("hello", x0);
#lib1::ExtString /* = core::String */ x1 = #C2;
#lib1::ExtString% /* erasure=core::String, declared=! */ x1 = #C2;
self::extString("hello world", x1);
has-declared-initializer #lib1::ExtNullable /* = core::String? */ y0 = #C3;
has-declared-initializer #lib1::ExtNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::extNullable(null, y0);
#lib1::ExtNullable /* = core::String? */ y1 = #C1;
#lib1::ExtNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::extNullable("hello", y1);
#lib1::ExtGeneric<core::String> /* = core::String */ z0 = #C1;
#lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::extGeneric<core::String>("hello", z0);
has-declared-initializer #lib1::ExtGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::extGeneric<core::String?>(null, z1);
#lib1::ExtGeneric<core::String?> /* = core::String? */ z2 = #C1;
#lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::extGeneric<core::String?>("hello", z2);
}
static method imported() → dynamic {
#lib1::ExtString /* = core::String */ x0 = #C1;
#lib1::ExtString% /* erasure=core::String, declared=! */ x0 = #C1;
self::extString("hello", x0);
#lib1::ExtString /* = core::String */ x1 = #C2;
#lib1::ExtString% /* erasure=core::String, declared=! */ x1 = #C2;
self::extString("hello world", x1);
has-declared-initializer #lib1::ExtNullable /* = core::String? */ y0 = #C3;
has-declared-initializer #lib1::ExtNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::extNullable(null, y0);
#lib1::ExtNullable /* = core::String? */ y1 = #C1;
#lib1::ExtNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::extNullable("hello", y1);
#lib1::ExtGeneric<core::String> /* = core::String */ z0 = #C1;
#lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::extGeneric<core::String>("hello", z0);
has-declared-initializer #lib1::ExtGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::extGeneric<core::String?>(null, z1);
#lib1::ExtGeneric<core::String?> /* = core::String? */ z2 = #C1;
#lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::extGeneric<core::String?>("hello", z2);
}
static method extString(dynamic expected, #lib1::ExtString /* = core::String */ es) → void {
static method extString(dynamic expected, #lib1::ExtString% /* erasure=core::String, declared=! */ es) → void {
self::expect(expected, es);
}
static method extNullable(dynamic expected, #lib1::ExtNullable /* = core::String? */ es) → void {
static method extNullable(dynamic expected, #lib1::ExtNullable% /* erasure=core::String?, declared=! */ es) → void {
self::expect(expected, es);
}
static method extGeneric<T extends core::Object? = dynamic>(dynamic expected, #lib1::ExtGeneric<self::extGeneric::T%> /* = self::extGeneric::T% */ es) → void {
static method extGeneric<T extends core::Object? = dynamic>(dynamic expected, #lib1::ExtGeneric<self::extGeneric::T%>% /* erasure=self::extGeneric::T%, declared=! */ es) → void {
self::expect(expected, es);
}
static method main() → dynamic {
@ -156,36 +156,36 @@ extension type ExtGeneric<T extends core::Object? = dynamic>(T% s) {
constructor • = self2::ExtGeneric|constructor#;
constructor tearoff • = self2::ExtGeneric|constructor#_#new#tearOff;
}
static const field self2::ExtString /* = core::String */ libString0 = #C1;
static const field self2::ExtString /* = core::String */ libString1 = #C2;
static const field self2::ExtNullable /* = core::String? */ libNullable0 = #C3;
static const field self2::ExtNullable /* = core::String? */ libNullable1 = #C1;
static const field self2::ExtGeneric<core::String> /* = core::String */ libGeneric0 = #C1;
static const field self2::ExtGeneric<core::String?> /* = core::String? */ libGeneric1 = #C3;
static const field self2::ExtGeneric<core::String?> /* = core::String? */ libGeneric2 = #C1;
static extension-type-member method ExtString|constructor#(core::String s) → self2::ExtString /* = core::String */ {
lowered final self2::ExtString /* = core::String */ #this = s;
static const field self2::ExtString% /* erasure=core::String, declared=! */ libString0 = #C1;
static const field self2::ExtString% /* erasure=core::String, declared=! */ libString1 = #C2;
static const field self2::ExtNullable% /* erasure=core::String?, declared=! */ libNullable0 = #C3;
static const field self2::ExtNullable% /* erasure=core::String?, declared=! */ libNullable1 = #C1;
static const field self2::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ libGeneric0 = #C1;
static const field self2::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ libGeneric1 = #C3;
static const field self2::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ libGeneric2 = #C1;
static extension-type-member method ExtString|constructor#(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */ {
lowered final self2::ExtString% /* erasure=core::String, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtString|constructor#_#new#tearOff(core::String s) → self2::ExtString /* = core::String */
static extension-type-member method ExtString|constructor#_#new#tearOff(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */
return self2::ExtString|constructor#(s);
static extension-type-member method ExtString|constructor#named(core::String s) → self2::ExtString /* = core::String */ {
lowered final self2::ExtString /* = core::String */ #this = "${s} world";
static extension-type-member method ExtString|constructor#named(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */ {
lowered final self2::ExtString% /* erasure=core::String, declared=! */ #this = "${s} world";
return #this;
}
static extension-type-member method ExtString|constructor#_#named#tearOff(core::String s) → self2::ExtString /* = core::String */
static extension-type-member method ExtString|constructor#_#named#tearOff(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */
return self2::ExtString|constructor#named(s);
static extension-type-member method ExtNullable|constructor#(core::String? s) → self2::ExtNullable /* = core::String? */ {
lowered final self2::ExtNullable /* = core::String? */ #this = s;
static extension-type-member method ExtNullable|constructor#(core::String? s) → self2::ExtNullable% /* erasure=core::String?, declared=! */ {
lowered final self2::ExtNullable% /* erasure=core::String?, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtNullable|constructor#_#new#tearOff(core::String? s) → self2::ExtNullable /* = core::String? */
static extension-type-member method ExtNullable|constructor#_#new#tearOff(core::String? s) → self2::ExtNullable% /* erasure=core::String?, declared=! */
return self2::ExtNullable|constructor#(s);
static extension-type-member method ExtGeneric|constructor#<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#::T%> /* = self2::ExtGeneric|constructor#::T% */ {
lowered final self2::ExtGeneric<self2::ExtGeneric|constructor#::T%> /* = self2::ExtGeneric|constructor#::T% */ #this = s;
static extension-type-member method ExtGeneric|constructor#<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#::T%>% /* erasure=self2::ExtGeneric|constructor#::T%, declared=! */ {
lowered final self2::ExtGeneric<self2::ExtGeneric|constructor#::T%>% /* erasure=self2::ExtGeneric|constructor#::T%, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#_#new#tearOff::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#_#new#tearOff::T%> /* = self2::ExtGeneric|constructor#_#new#tearOff::T% */
static extension-type-member method ExtGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#_#new#tearOff::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#_#new#tearOff::T%>% /* erasure=self2::ExtGeneric|constructor#_#new#tearOff::T%, declared=! */
return self2::ExtGeneric|constructor#<self2::ExtGeneric|constructor#_#new#tearOff::T%>(s);
constants {

View file

@ -21,108 +21,108 @@ extension type SameGeneric<T extends core::Object? = dynamic>(T% s) {
constructor • = self::SameGeneric|constructor#;
constructor tearoff • = self::SameGeneric|constructor#_#new#tearOff;
}
static const field self::SameString /* = core::String */ sameString0 = #C1;
static const field self::SameString /* = core::String */ sameString1 = #C2;
static const field self::SameNullable /* = core::String? */ sameNullable0 = #C3;
static const field self::SameNullable /* = core::String? */ sameNullable1 = #C1;
static const field self::SameGeneric<core::String> /* = core::String */ sameGeneric0 = #C1;
static const field self::SameGeneric<core::String?> /* = core::String? */ sameGeneric1 = #C3;
static const field self::SameGeneric<core::String?> /* = core::String? */ sameGeneric2 = #C1;
static const field #lib1::ExtString /* = core::String */ valString0 = #C1;
static const field #lib1::ExtString /* = core::String */ valString1 = #C2;
static const field #lib1::ExtNullable /* = core::String? */ valNullable0 = #C3;
static const field #lib1::ExtNullable /* = core::String? */ valNullable1 = #C1;
static const field #lib1::ExtGeneric<core::String> /* = core::String */ valGeneric0 = #C1;
static const field #lib1::ExtGeneric<core::String?> /* = core::String? */ valGeneric1 = #C3;
static const field #lib1::ExtGeneric<core::String?> /* = core::String? */ valGeneric2 = #C1;
static extension-type-member method SameString|constructor#(core::String s) → self::SameString /* = core::String */ {
lowered final self::SameString /* = core::String */ #this = s;
static const field self::SameString% /* erasure=core::String, declared=! */ sameString0 = #C1;
static const field self::SameString% /* erasure=core::String, declared=! */ sameString1 = #C2;
static const field self::SameNullable% /* erasure=core::String?, declared=! */ sameNullable0 = #C3;
static const field self::SameNullable% /* erasure=core::String?, declared=! */ sameNullable1 = #C1;
static const field self::SameGeneric<core::String>% /* erasure=core::String, declared=! */ sameGeneric0 = #C1;
static const field self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ sameGeneric1 = #C3;
static const field self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ sameGeneric2 = #C1;
static const field #lib1::ExtString% /* erasure=core::String, declared=! */ valString0 = #C1;
static const field #lib1::ExtString% /* erasure=core::String, declared=! */ valString1 = #C2;
static const field #lib1::ExtNullable% /* erasure=core::String?, declared=! */ valNullable0 = #C3;
static const field #lib1::ExtNullable% /* erasure=core::String?, declared=! */ valNullable1 = #C1;
static const field #lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ valGeneric0 = #C1;
static const field #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ valGeneric1 = #C3;
static const field #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ valGeneric2 = #C1;
static extension-type-member method SameString|constructor#(core::String s) → self::SameString% /* erasure=core::String, declared=! */ {
lowered final self::SameString% /* erasure=core::String, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameString|constructor#_#new#tearOff(core::String s) → self::SameString /* = core::String */
static extension-type-member method SameString|constructor#_#new#tearOff(core::String s) → self::SameString% /* erasure=core::String, declared=! */
return self::SameString|constructor#(s);
static extension-type-member method SameString|constructor#named(core::String s) → self::SameString /* = core::String */ {
lowered final self::SameString /* = core::String */ #this = "${s} world";
static extension-type-member method SameString|constructor#named(core::String s) → self::SameString% /* erasure=core::String, declared=! */ {
lowered final self::SameString% /* erasure=core::String, declared=! */ #this = "${s} world";
return #this;
}
static extension-type-member method SameString|constructor#_#named#tearOff(core::String s) → self::SameString /* = core::String */
static extension-type-member method SameString|constructor#_#named#tearOff(core::String s) → self::SameString% /* erasure=core::String, declared=! */
return self::SameString|constructor#named(s);
static extension-type-member method SameNullable|constructor#(core::String? s) → self::SameNullable /* = core::String? */ {
lowered final self::SameNullable /* = core::String? */ #this = s;
static extension-type-member method SameNullable|constructor#(core::String? s) → self::SameNullable% /* erasure=core::String?, declared=! */ {
lowered final self::SameNullable% /* erasure=core::String?, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameNullable|constructor#_#new#tearOff(core::String? s) → self::SameNullable /* = core::String? */
static extension-type-member method SameNullable|constructor#_#new#tearOff(core::String? s) → self::SameNullable% /* erasure=core::String?, declared=! */
return self::SameNullable|constructor#(s);
static extension-type-member method SameGeneric|constructor#<T extends core::Object? = dynamic>(self::SameGeneric|constructor#::T% s) → self::SameGeneric<self::SameGeneric|constructor#::T%> /* = self::SameGeneric|constructor#::T% */ {
lowered final self::SameGeneric<self::SameGeneric|constructor#::T%> /* = self::SameGeneric|constructor#::T% */ #this = s;
static extension-type-member method SameGeneric|constructor#<T extends core::Object? = dynamic>(self::SameGeneric|constructor#::T% s) → self::SameGeneric<self::SameGeneric|constructor#::T%>% /* erasure=self::SameGeneric|constructor#::T%, declared=! */ {
lowered final self::SameGeneric<self::SameGeneric|constructor#::T%>% /* erasure=self::SameGeneric|constructor#::T%, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::SameGeneric|constructor#_#new#tearOff::T% s) → self::SameGeneric<self::SameGeneric|constructor#_#new#tearOff::T%> /* = self::SameGeneric|constructor#_#new#tearOff::T% */
static extension-type-member method SameGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::SameGeneric|constructor#_#new#tearOff::T% s) → self::SameGeneric<self::SameGeneric|constructor#_#new#tearOff::T%>% /* erasure=self::SameGeneric|constructor#_#new#tearOff::T%, declared=! */
return self::SameGeneric|constructor#<self::SameGeneric|constructor#_#new#tearOff::T%>(s);
static method sameLibrary() → dynamic {
self::SameString /* = core::String */ x0 = #C1;
self::SameString% /* erasure=core::String, declared=! */ x0 = #C1;
self::sameString("hello", x0);
self::SameString /* = core::String */ x1 = #C2;
self::SameString% /* erasure=core::String, declared=! */ x1 = #C2;
self::sameString("hello world", x1);
has-declared-initializer self::SameNullable /* = core::String? */ y0 = #C3;
has-declared-initializer self::SameNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::sameNullable(null, y0);
self::SameNullable /* = core::String? */ y1 = #C1;
self::SameNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::sameNullable("hello", y1);
self::SameGeneric<core::String> /* = core::String */ z0 = #C1;
self::SameGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::sameGeneric<core::String>("hello", z0);
has-declared-initializer self::SameGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::sameGeneric<core::String?>(null, z1);
self::SameGeneric<core::String?> /* = core::String? */ z2 = #C1;
self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::sameGeneric<core::String?>("hello", z2);
}
static method sameString(dynamic expected, self::SameString /* = core::String */ es) → void {
static method sameString(dynamic expected, self::SameString% /* erasure=core::String, declared=! */ es) → void {
self::expect(expected, es);
}
static method sameNullable(dynamic expected, self::SameNullable /* = core::String? */ es) → void {
static method sameNullable(dynamic expected, self::SameNullable% /* erasure=core::String?, declared=! */ es) → void {
self::expect(expected, es);
}
static method sameGeneric<T extends core::Object? = dynamic>(dynamic expected, self::SameGeneric<self::sameGeneric::T%> /* = self::sameGeneric::T% */ es) → void {
static method sameGeneric<T extends core::Object? = dynamic>(dynamic expected, self::SameGeneric<self::sameGeneric::T%>% /* erasure=self::sameGeneric::T%, declared=! */ es) → void {
self::expect(expected, es);
}
static method otherLibrary() → dynamic {
#lib1::ExtString /* = core::String */ x0 = #C1;
#lib1::ExtString% /* erasure=core::String, declared=! */ x0 = #C1;
self::extString("hello", x0);
#lib1::ExtString /* = core::String */ x1 = #C2;
#lib1::ExtString% /* erasure=core::String, declared=! */ x1 = #C2;
self::extString("hello world", x1);
has-declared-initializer #lib1::ExtNullable /* = core::String? */ y0 = #C3;
has-declared-initializer #lib1::ExtNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::extNullable(null, y0);
#lib1::ExtNullable /* = core::String? */ y1 = #C1;
#lib1::ExtNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::extNullable("hello", y1);
#lib1::ExtGeneric<core::String> /* = core::String */ z0 = #C1;
#lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::extGeneric<core::String>("hello", z0);
has-declared-initializer #lib1::ExtGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::extGeneric<core::String?>(null, z1);
#lib1::ExtGeneric<core::String?> /* = core::String? */ z2 = #C1;
#lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::extGeneric<core::String?>("hello", z2);
}
static method imported() → dynamic {
#lib1::ExtString /* = core::String */ x0 = #C1;
#lib1::ExtString% /* erasure=core::String, declared=! */ x0 = #C1;
self::extString("hello", x0);
#lib1::ExtString /* = core::String */ x1 = #C2;
#lib1::ExtString% /* erasure=core::String, declared=! */ x1 = #C2;
self::extString("hello world", x1);
has-declared-initializer #lib1::ExtNullable /* = core::String? */ y0 = #C3;
has-declared-initializer #lib1::ExtNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::extNullable(null, y0);
#lib1::ExtNullable /* = core::String? */ y1 = #C1;
#lib1::ExtNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::extNullable("hello", y1);
#lib1::ExtGeneric<core::String> /* = core::String */ z0 = #C1;
#lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::extGeneric<core::String>("hello", z0);
has-declared-initializer #lib1::ExtGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::extGeneric<core::String?>(null, z1);
#lib1::ExtGeneric<core::String?> /* = core::String? */ z2 = #C1;
#lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::extGeneric<core::String?>("hello", z2);
}
static method extString(dynamic expected, #lib1::ExtString /* = core::String */ es) → void {
static method extString(dynamic expected, #lib1::ExtString% /* erasure=core::String, declared=! */ es) → void {
self::expect(expected, es);
}
static method extNullable(dynamic expected, #lib1::ExtNullable /* = core::String? */ es) → void {
static method extNullable(dynamic expected, #lib1::ExtNullable% /* erasure=core::String?, declared=! */ es) → void {
self::expect(expected, es);
}
static method extGeneric<T extends core::Object? = dynamic>(dynamic expected, #lib1::ExtGeneric<self::extGeneric::T%> /* = self::extGeneric::T% */ es) → void {
static method extGeneric<T extends core::Object? = dynamic>(dynamic expected, #lib1::ExtGeneric<self::extGeneric::T%>% /* erasure=self::extGeneric::T%, declared=! */ es) → void {
self::expect(expected, es);
}
static method main() → dynamic {
@ -156,36 +156,36 @@ extension type ExtGeneric<T extends core::Object? = dynamic>(T% s) {
constructor • = self2::ExtGeneric|constructor#;
constructor tearoff • = self2::ExtGeneric|constructor#_#new#tearOff;
}
static const field self2::ExtString /* = core::String */ libString0 = #C1;
static const field self2::ExtString /* = core::String */ libString1 = #C2;
static const field self2::ExtNullable /* = core::String? */ libNullable0 = #C3;
static const field self2::ExtNullable /* = core::String? */ libNullable1 = #C1;
static const field self2::ExtGeneric<core::String> /* = core::String */ libGeneric0 = #C1;
static const field self2::ExtGeneric<core::String?> /* = core::String? */ libGeneric1 = #C3;
static const field self2::ExtGeneric<core::String?> /* = core::String? */ libGeneric2 = #C1;
static extension-type-member method ExtString|constructor#(core::String s) → self2::ExtString /* = core::String */ {
lowered final self2::ExtString /* = core::String */ #this = s;
static const field self2::ExtString% /* erasure=core::String, declared=! */ libString0 = #C1;
static const field self2::ExtString% /* erasure=core::String, declared=! */ libString1 = #C2;
static const field self2::ExtNullable% /* erasure=core::String?, declared=! */ libNullable0 = #C3;
static const field self2::ExtNullable% /* erasure=core::String?, declared=! */ libNullable1 = #C1;
static const field self2::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ libGeneric0 = #C1;
static const field self2::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ libGeneric1 = #C3;
static const field self2::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ libGeneric2 = #C1;
static extension-type-member method ExtString|constructor#(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */ {
lowered final self2::ExtString% /* erasure=core::String, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtString|constructor#_#new#tearOff(core::String s) → self2::ExtString /* = core::String */
static extension-type-member method ExtString|constructor#_#new#tearOff(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */
return self2::ExtString|constructor#(s);
static extension-type-member method ExtString|constructor#named(core::String s) → self2::ExtString /* = core::String */ {
lowered final self2::ExtString /* = core::String */ #this = "${s} world";
static extension-type-member method ExtString|constructor#named(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */ {
lowered final self2::ExtString% /* erasure=core::String, declared=! */ #this = "${s} world";
return #this;
}
static extension-type-member method ExtString|constructor#_#named#tearOff(core::String s) → self2::ExtString /* = core::String */
static extension-type-member method ExtString|constructor#_#named#tearOff(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */
return self2::ExtString|constructor#named(s);
static extension-type-member method ExtNullable|constructor#(core::String? s) → self2::ExtNullable /* = core::String? */ {
lowered final self2::ExtNullable /* = core::String? */ #this = s;
static extension-type-member method ExtNullable|constructor#(core::String? s) → self2::ExtNullable% /* erasure=core::String?, declared=! */ {
lowered final self2::ExtNullable% /* erasure=core::String?, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtNullable|constructor#_#new#tearOff(core::String? s) → self2::ExtNullable /* = core::String? */
static extension-type-member method ExtNullable|constructor#_#new#tearOff(core::String? s) → self2::ExtNullable% /* erasure=core::String?, declared=! */
return self2::ExtNullable|constructor#(s);
static extension-type-member method ExtGeneric|constructor#<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#::T%> /* = self2::ExtGeneric|constructor#::T% */ {
lowered final self2::ExtGeneric<self2::ExtGeneric|constructor#::T%> /* = self2::ExtGeneric|constructor#::T% */ #this = s;
static extension-type-member method ExtGeneric|constructor#<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#::T%>% /* erasure=self2::ExtGeneric|constructor#::T%, declared=! */ {
lowered final self2::ExtGeneric<self2::ExtGeneric|constructor#::T%>% /* erasure=self2::ExtGeneric|constructor#::T%, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#_#new#tearOff::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#_#new#tearOff::T%> /* = self2::ExtGeneric|constructor#_#new#tearOff::T% */
static extension-type-member method ExtGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#_#new#tearOff::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#_#new#tearOff::T%>% /* erasure=self2::ExtGeneric|constructor#_#new#tearOff::T%, declared=! */
return self2::ExtGeneric|constructor#<self2::ExtGeneric|constructor#_#new#tearOff::T%>(s);
constants {

View file

@ -21,108 +21,108 @@ extension type SameGeneric<T extends core::Object? = dynamic>(T% s) {
constructor • = self::SameGeneric|constructor#;
constructor tearoff • = self::SameGeneric|constructor#_#new#tearOff;
}
static const field self::SameString /* = core::String */ sameString0 = #C1;
static const field self::SameString /* = core::String */ sameString1 = #C2;
static const field self::SameNullable /* = core::String? */ sameNullable0 = #C3;
static const field self::SameNullable /* = core::String? */ sameNullable1 = #C1;
static const field self::SameGeneric<core::String> /* = core::String */ sameGeneric0 = #C1;
static const field self::SameGeneric<core::String?> /* = core::String? */ sameGeneric1 = #C3;
static const field self::SameGeneric<core::String?> /* = core::String? */ sameGeneric2 = #C1;
static const field #lib1::ExtString /* = core::String */ valString0 = #C1;
static const field #lib1::ExtString /* = core::String */ valString1 = #C2;
static const field #lib1::ExtNullable /* = core::String? */ valNullable0 = #C3;
static const field #lib1::ExtNullable /* = core::String? */ valNullable1 = #C1;
static const field #lib1::ExtGeneric<core::String> /* = core::String */ valGeneric0 = #C1;
static const field #lib1::ExtGeneric<core::String?> /* = core::String? */ valGeneric1 = #C3;
static const field #lib1::ExtGeneric<core::String?> /* = core::String? */ valGeneric2 = #C1;
static extension-type-member method SameString|constructor#(core::String s) → self::SameString /* = core::String */ {
lowered final self::SameString /* = core::String */ #this = s;
static const field self::SameString% /* erasure=core::String, declared=! */ sameString0 = #C1;
static const field self::SameString% /* erasure=core::String, declared=! */ sameString1 = #C2;
static const field self::SameNullable% /* erasure=core::String?, declared=! */ sameNullable0 = #C3;
static const field self::SameNullable% /* erasure=core::String?, declared=! */ sameNullable1 = #C1;
static const field self::SameGeneric<core::String>% /* erasure=core::String, declared=! */ sameGeneric0 = #C1;
static const field self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ sameGeneric1 = #C3;
static const field self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ sameGeneric2 = #C1;
static const field #lib1::ExtString% /* erasure=core::String, declared=! */ valString0 = #C1;
static const field #lib1::ExtString% /* erasure=core::String, declared=! */ valString1 = #C2;
static const field #lib1::ExtNullable% /* erasure=core::String?, declared=! */ valNullable0 = #C3;
static const field #lib1::ExtNullable% /* erasure=core::String?, declared=! */ valNullable1 = #C1;
static const field #lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ valGeneric0 = #C1;
static const field #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ valGeneric1 = #C3;
static const field #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ valGeneric2 = #C1;
static extension-type-member method SameString|constructor#(core::String s) → self::SameString% /* erasure=core::String, declared=! */ {
lowered final self::SameString% /* erasure=core::String, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameString|constructor#_#new#tearOff(core::String s) → self::SameString /* = core::String */
static extension-type-member method SameString|constructor#_#new#tearOff(core::String s) → self::SameString% /* erasure=core::String, declared=! */
return self::SameString|constructor#(s);
static extension-type-member method SameString|constructor#named(core::String s) → self::SameString /* = core::String */ {
lowered final self::SameString /* = core::String */ #this = "${s} world";
static extension-type-member method SameString|constructor#named(core::String s) → self::SameString% /* erasure=core::String, declared=! */ {
lowered final self::SameString% /* erasure=core::String, declared=! */ #this = "${s} world";
return #this;
}
static extension-type-member method SameString|constructor#_#named#tearOff(core::String s) → self::SameString /* = core::String */
static extension-type-member method SameString|constructor#_#named#tearOff(core::String s) → self::SameString% /* erasure=core::String, declared=! */
return self::SameString|constructor#named(s);
static extension-type-member method SameNullable|constructor#(core::String? s) → self::SameNullable /* = core::String? */ {
lowered final self::SameNullable /* = core::String? */ #this = s;
static extension-type-member method SameNullable|constructor#(core::String? s) → self::SameNullable% /* erasure=core::String?, declared=! */ {
lowered final self::SameNullable% /* erasure=core::String?, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameNullable|constructor#_#new#tearOff(core::String? s) → self::SameNullable /* = core::String? */
static extension-type-member method SameNullable|constructor#_#new#tearOff(core::String? s) → self::SameNullable% /* erasure=core::String?, declared=! */
return self::SameNullable|constructor#(s);
static extension-type-member method SameGeneric|constructor#<T extends core::Object? = dynamic>(self::SameGeneric|constructor#::T% s) → self::SameGeneric<self::SameGeneric|constructor#::T%> /* = self::SameGeneric|constructor#::T% */ {
lowered final self::SameGeneric<self::SameGeneric|constructor#::T%> /* = self::SameGeneric|constructor#::T% */ #this = s;
static extension-type-member method SameGeneric|constructor#<T extends core::Object? = dynamic>(self::SameGeneric|constructor#::T% s) → self::SameGeneric<self::SameGeneric|constructor#::T%>% /* erasure=self::SameGeneric|constructor#::T%, declared=! */ {
lowered final self::SameGeneric<self::SameGeneric|constructor#::T%>% /* erasure=self::SameGeneric|constructor#::T%, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::SameGeneric|constructor#_#new#tearOff::T% s) → self::SameGeneric<self::SameGeneric|constructor#_#new#tearOff::T%> /* = self::SameGeneric|constructor#_#new#tearOff::T% */
static extension-type-member method SameGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::SameGeneric|constructor#_#new#tearOff::T% s) → self::SameGeneric<self::SameGeneric|constructor#_#new#tearOff::T%>% /* erasure=self::SameGeneric|constructor#_#new#tearOff::T%, declared=! */
return self::SameGeneric|constructor#<self::SameGeneric|constructor#_#new#tearOff::T%>(s);
static method sameLibrary() → dynamic {
self::SameString /* = core::String */ x0 = #C1;
self::SameString% /* erasure=core::String, declared=! */ x0 = #C1;
self::sameString("hello", x0);
self::SameString /* = core::String */ x1 = #C2;
self::SameString% /* erasure=core::String, declared=! */ x1 = #C2;
self::sameString("hello world", x1);
has-declared-initializer self::SameNullable /* = core::String? */ y0 = #C3;
has-declared-initializer self::SameNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::sameNullable(null, y0);
self::SameNullable /* = core::String? */ y1 = #C1;
self::SameNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::sameNullable("hello", y1);
self::SameGeneric<core::String> /* = core::String */ z0 = #C1;
self::SameGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::sameGeneric<core::String>("hello", z0);
has-declared-initializer self::SameGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::sameGeneric<core::String?>(null, z1);
self::SameGeneric<core::String?> /* = core::String? */ z2 = #C1;
self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::sameGeneric<core::String?>("hello", z2);
}
static method sameString(dynamic expected, self::SameString /* = core::String */ es) → void {
static method sameString(dynamic expected, self::SameString% /* erasure=core::String, declared=! */ es) → void {
self::expect(expected, es);
}
static method sameNullable(dynamic expected, self::SameNullable /* = core::String? */ es) → void {
static method sameNullable(dynamic expected, self::SameNullable% /* erasure=core::String?, declared=! */ es) → void {
self::expect(expected, es);
}
static method sameGeneric<T extends core::Object? = dynamic>(dynamic expected, self::SameGeneric<self::sameGeneric::T%> /* = self::sameGeneric::T% */ es) → void {
static method sameGeneric<T extends core::Object? = dynamic>(dynamic expected, self::SameGeneric<self::sameGeneric::T%>% /* erasure=self::sameGeneric::T%, declared=! */ es) → void {
self::expect(expected, es);
}
static method otherLibrary() → dynamic {
#lib1::ExtString /* = core::String */ x0 = #C1;
#lib1::ExtString% /* erasure=core::String, declared=! */ x0 = #C1;
self::extString("hello", x0);
#lib1::ExtString /* = core::String */ x1 = #C2;
#lib1::ExtString% /* erasure=core::String, declared=! */ x1 = #C2;
self::extString("hello world", x1);
has-declared-initializer #lib1::ExtNullable /* = core::String? */ y0 = #C3;
has-declared-initializer #lib1::ExtNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::extNullable(null, y0);
#lib1::ExtNullable /* = core::String? */ y1 = #C1;
#lib1::ExtNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::extNullable("hello", y1);
#lib1::ExtGeneric<core::String> /* = core::String */ z0 = #C1;
#lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::extGeneric<core::String>("hello", z0);
has-declared-initializer #lib1::ExtGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::extGeneric<core::String?>(null, z1);
#lib1::ExtGeneric<core::String?> /* = core::String? */ z2 = #C1;
#lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::extGeneric<core::String?>("hello", z2);
}
static method imported() → dynamic {
#lib1::ExtString /* = core::String */ x0 = #C1;
#lib1::ExtString% /* erasure=core::String, declared=! */ x0 = #C1;
self::extString("hello", x0);
#lib1::ExtString /* = core::String */ x1 = #C2;
#lib1::ExtString% /* erasure=core::String, declared=! */ x1 = #C2;
self::extString("hello world", x1);
has-declared-initializer #lib1::ExtNullable /* = core::String? */ y0 = #C3;
has-declared-initializer #lib1::ExtNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::extNullable(null, y0);
#lib1::ExtNullable /* = core::String? */ y1 = #C1;
#lib1::ExtNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::extNullable("hello", y1);
#lib1::ExtGeneric<core::String> /* = core::String */ z0 = #C1;
#lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::extGeneric<core::String>("hello", z0);
has-declared-initializer #lib1::ExtGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::extGeneric<core::String?>(null, z1);
#lib1::ExtGeneric<core::String?> /* = core::String? */ z2 = #C1;
#lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::extGeneric<core::String?>("hello", z2);
}
static method extString(dynamic expected, #lib1::ExtString /* = core::String */ es) → void {
static method extString(dynamic expected, #lib1::ExtString% /* erasure=core::String, declared=! */ es) → void {
self::expect(expected, es);
}
static method extNullable(dynamic expected, #lib1::ExtNullable /* = core::String? */ es) → void {
static method extNullable(dynamic expected, #lib1::ExtNullable% /* erasure=core::String?, declared=! */ es) → void {
self::expect(expected, es);
}
static method extGeneric<T extends core::Object? = dynamic>(dynamic expected, #lib1::ExtGeneric<self::extGeneric::T%> /* = self::extGeneric::T% */ es) → void {
static method extGeneric<T extends core::Object? = dynamic>(dynamic expected, #lib1::ExtGeneric<self::extGeneric::T%>% /* erasure=self::extGeneric::T%, declared=! */ es) → void {
self::expect(expected, es);
}
static method main() → dynamic {
@ -156,36 +156,36 @@ extension type ExtGeneric<T extends core::Object? = dynamic>(T% s) {
constructor • = self2::ExtGeneric|constructor#;
constructor tearoff • = self2::ExtGeneric|constructor#_#new#tearOff;
}
static const field self2::ExtString /* = core::String */ libString0 = #C1;
static const field self2::ExtString /* = core::String */ libString1 = #C2;
static const field self2::ExtNullable /* = core::String? */ libNullable0 = #C3;
static const field self2::ExtNullable /* = core::String? */ libNullable1 = #C1;
static const field self2::ExtGeneric<core::String> /* = core::String */ libGeneric0 = #C1;
static const field self2::ExtGeneric<core::String?> /* = core::String? */ libGeneric1 = #C3;
static const field self2::ExtGeneric<core::String?> /* = core::String? */ libGeneric2 = #C1;
static extension-type-member method ExtString|constructor#(core::String s) → self2::ExtString /* = core::String */ {
lowered final self2::ExtString /* = core::String */ #this = s;
static const field self2::ExtString% /* erasure=core::String, declared=! */ libString0 = #C1;
static const field self2::ExtString% /* erasure=core::String, declared=! */ libString1 = #C2;
static const field self2::ExtNullable% /* erasure=core::String?, declared=! */ libNullable0 = #C3;
static const field self2::ExtNullable% /* erasure=core::String?, declared=! */ libNullable1 = #C1;
static const field self2::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ libGeneric0 = #C1;
static const field self2::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ libGeneric1 = #C3;
static const field self2::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ libGeneric2 = #C1;
static extension-type-member method ExtString|constructor#(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */ {
lowered final self2::ExtString% /* erasure=core::String, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtString|constructor#_#new#tearOff(core::String s) → self2::ExtString /* = core::String */
static extension-type-member method ExtString|constructor#_#new#tearOff(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */
return self2::ExtString|constructor#(s);
static extension-type-member method ExtString|constructor#named(core::String s) → self2::ExtString /* = core::String */ {
lowered final self2::ExtString /* = core::String */ #this = "${s} world";
static extension-type-member method ExtString|constructor#named(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */ {
lowered final self2::ExtString% /* erasure=core::String, declared=! */ #this = "${s} world";
return #this;
}
static extension-type-member method ExtString|constructor#_#named#tearOff(core::String s) → self2::ExtString /* = core::String */
static extension-type-member method ExtString|constructor#_#named#tearOff(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */
return self2::ExtString|constructor#named(s);
static extension-type-member method ExtNullable|constructor#(core::String? s) → self2::ExtNullable /* = core::String? */ {
lowered final self2::ExtNullable /* = core::String? */ #this = s;
static extension-type-member method ExtNullable|constructor#(core::String? s) → self2::ExtNullable% /* erasure=core::String?, declared=! */ {
lowered final self2::ExtNullable% /* erasure=core::String?, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtNullable|constructor#_#new#tearOff(core::String? s) → self2::ExtNullable /* = core::String? */
static extension-type-member method ExtNullable|constructor#_#new#tearOff(core::String? s) → self2::ExtNullable% /* erasure=core::String?, declared=! */
return self2::ExtNullable|constructor#(s);
static extension-type-member method ExtGeneric|constructor#<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#::T%> /* = self2::ExtGeneric|constructor#::T% */ {
lowered final self2::ExtGeneric<self2::ExtGeneric|constructor#::T%> /* = self2::ExtGeneric|constructor#::T% */ #this = s;
static extension-type-member method ExtGeneric|constructor#<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#::T%>% /* erasure=self2::ExtGeneric|constructor#::T%, declared=! */ {
lowered final self2::ExtGeneric<self2::ExtGeneric|constructor#::T%>% /* erasure=self2::ExtGeneric|constructor#::T%, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#_#new#tearOff::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#_#new#tearOff::T%> /* = self2::ExtGeneric|constructor#_#new#tearOff::T% */
static extension-type-member method ExtGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#_#new#tearOff::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#_#new#tearOff::T%>% /* erasure=self2::ExtGeneric|constructor#_#new#tearOff::T%, declared=! */
return self2::ExtGeneric|constructor#<self2::ExtGeneric|constructor#_#new#tearOff::T%>(s);
constants {

View file

@ -21,108 +21,108 @@ extension type SameGeneric<T extends core::Object? = dynamic>(T% s) {
constructor • = self::SameGeneric|constructor#;
constructor tearoff • = self::SameGeneric|constructor#_#new#tearOff;
}
static const field self::SameString /* = core::String */ sameString0 = #C1;
static const field self::SameString /* = core::String */ sameString1 = #C2;
static const field self::SameNullable /* = core::String? */ sameNullable0 = #C3;
static const field self::SameNullable /* = core::String? */ sameNullable1 = #C1;
static const field self::SameGeneric<core::String> /* = core::String */ sameGeneric0 = #C1;
static const field self::SameGeneric<core::String?> /* = core::String? */ sameGeneric1 = #C3;
static const field self::SameGeneric<core::String?> /* = core::String? */ sameGeneric2 = #C1;
static const field #lib1::ExtString /* = core::String */ valString0 = #C1;
static const field #lib1::ExtString /* = core::String */ valString1 = #C2;
static const field #lib1::ExtNullable /* = core::String? */ valNullable0 = #C3;
static const field #lib1::ExtNullable /* = core::String? */ valNullable1 = #C1;
static const field #lib1::ExtGeneric<core::String> /* = core::String */ valGeneric0 = #C1;
static const field #lib1::ExtGeneric<core::String?> /* = core::String? */ valGeneric1 = #C3;
static const field #lib1::ExtGeneric<core::String?> /* = core::String? */ valGeneric2 = #C1;
static extension-type-member method SameString|constructor#(core::String s) → self::SameString /* = core::String */ {
lowered final self::SameString /* = core::String */ #this = s;
static const field self::SameString% /* erasure=core::String, declared=! */ sameString0 = #C1;
static const field self::SameString% /* erasure=core::String, declared=! */ sameString1 = #C2;
static const field self::SameNullable% /* erasure=core::String?, declared=! */ sameNullable0 = #C3;
static const field self::SameNullable% /* erasure=core::String?, declared=! */ sameNullable1 = #C1;
static const field self::SameGeneric<core::String>% /* erasure=core::String, declared=! */ sameGeneric0 = #C1;
static const field self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ sameGeneric1 = #C3;
static const field self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ sameGeneric2 = #C1;
static const field #lib1::ExtString% /* erasure=core::String, declared=! */ valString0 = #C1;
static const field #lib1::ExtString% /* erasure=core::String, declared=! */ valString1 = #C2;
static const field #lib1::ExtNullable% /* erasure=core::String?, declared=! */ valNullable0 = #C3;
static const field #lib1::ExtNullable% /* erasure=core::String?, declared=! */ valNullable1 = #C1;
static const field #lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ valGeneric0 = #C1;
static const field #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ valGeneric1 = #C3;
static const field #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ valGeneric2 = #C1;
static extension-type-member method SameString|constructor#(core::String s) → self::SameString% /* erasure=core::String, declared=! */ {
lowered final self::SameString% /* erasure=core::String, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameString|constructor#_#new#tearOff(core::String s) → self::SameString /* = core::String */
static extension-type-member method SameString|constructor#_#new#tearOff(core::String s) → self::SameString% /* erasure=core::String, declared=! */
return self::SameString|constructor#(s);
static extension-type-member method SameString|constructor#named(core::String s) → self::SameString /* = core::String */ {
lowered final self::SameString /* = core::String */ #this = "${s} world";
static extension-type-member method SameString|constructor#named(core::String s) → self::SameString% /* erasure=core::String, declared=! */ {
lowered final self::SameString% /* erasure=core::String, declared=! */ #this = "${s} world";
return #this;
}
static extension-type-member method SameString|constructor#_#named#tearOff(core::String s) → self::SameString /* = core::String */
static extension-type-member method SameString|constructor#_#named#tearOff(core::String s) → self::SameString% /* erasure=core::String, declared=! */
return self::SameString|constructor#named(s);
static extension-type-member method SameNullable|constructor#(core::String? s) → self::SameNullable /* = core::String? */ {
lowered final self::SameNullable /* = core::String? */ #this = s;
static extension-type-member method SameNullable|constructor#(core::String? s) → self::SameNullable% /* erasure=core::String?, declared=! */ {
lowered final self::SameNullable% /* erasure=core::String?, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameNullable|constructor#_#new#tearOff(core::String? s) → self::SameNullable /* = core::String? */
static extension-type-member method SameNullable|constructor#_#new#tearOff(core::String? s) → self::SameNullable% /* erasure=core::String?, declared=! */
return self::SameNullable|constructor#(s);
static extension-type-member method SameGeneric|constructor#<T extends core::Object? = dynamic>(self::SameGeneric|constructor#::T% s) → self::SameGeneric<self::SameGeneric|constructor#::T%> /* = self::SameGeneric|constructor#::T% */ {
lowered final self::SameGeneric<self::SameGeneric|constructor#::T%> /* = self::SameGeneric|constructor#::T% */ #this = s;
static extension-type-member method SameGeneric|constructor#<T extends core::Object? = dynamic>(self::SameGeneric|constructor#::T% s) → self::SameGeneric<self::SameGeneric|constructor#::T%>% /* erasure=self::SameGeneric|constructor#::T%, declared=! */ {
lowered final self::SameGeneric<self::SameGeneric|constructor#::T%>% /* erasure=self::SameGeneric|constructor#::T%, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::SameGeneric|constructor#_#new#tearOff::T% s) → self::SameGeneric<self::SameGeneric|constructor#_#new#tearOff::T%> /* = self::SameGeneric|constructor#_#new#tearOff::T% */
static extension-type-member method SameGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::SameGeneric|constructor#_#new#tearOff::T% s) → self::SameGeneric<self::SameGeneric|constructor#_#new#tearOff::T%>% /* erasure=self::SameGeneric|constructor#_#new#tearOff::T%, declared=! */
return self::SameGeneric|constructor#<self::SameGeneric|constructor#_#new#tearOff::T%>(s);
static method sameLibrary() → dynamic {
self::SameString /* = core::String */ x0 = #C1;
self::SameString% /* erasure=core::String, declared=! */ x0 = #C1;
self::sameString("hello", x0);
self::SameString /* = core::String */ x1 = #C2;
self::SameString% /* erasure=core::String, declared=! */ x1 = #C2;
self::sameString("hello world", x1);
has-declared-initializer self::SameNullable /* = core::String? */ y0 = #C3;
has-declared-initializer self::SameNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::sameNullable(null, y0);
self::SameNullable /* = core::String? */ y1 = #C1;
self::SameNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::sameNullable("hello", y1);
self::SameGeneric<core::String> /* = core::String */ z0 = #C1;
self::SameGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::sameGeneric<core::String>("hello", z0);
has-declared-initializer self::SameGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::sameGeneric<core::String?>(null, z1);
self::SameGeneric<core::String?> /* = core::String? */ z2 = #C1;
self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::sameGeneric<core::String?>("hello", z2);
}
static method sameString(dynamic expected, self::SameString /* = core::String */ es) → void {
static method sameString(dynamic expected, self::SameString% /* erasure=core::String, declared=! */ es) → void {
self::expect(expected, es);
}
static method sameNullable(dynamic expected, self::SameNullable /* = core::String? */ es) → void {
static method sameNullable(dynamic expected, self::SameNullable% /* erasure=core::String?, declared=! */ es) → void {
self::expect(expected, es);
}
static method sameGeneric<T extends core::Object? = dynamic>(dynamic expected, self::SameGeneric<self::sameGeneric::T%> /* = self::sameGeneric::T% */ es) → void {
static method sameGeneric<T extends core::Object? = dynamic>(dynamic expected, self::SameGeneric<self::sameGeneric::T%>% /* erasure=self::sameGeneric::T%, declared=! */ es) → void {
self::expect(expected, es);
}
static method otherLibrary() → dynamic {
#lib1::ExtString /* = core::String */ x0 = #C1;
#lib1::ExtString% /* erasure=core::String, declared=! */ x0 = #C1;
self::extString("hello", x0);
#lib1::ExtString /* = core::String */ x1 = #C2;
#lib1::ExtString% /* erasure=core::String, declared=! */ x1 = #C2;
self::extString("hello world", x1);
has-declared-initializer #lib1::ExtNullable /* = core::String? */ y0 = #C3;
has-declared-initializer #lib1::ExtNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::extNullable(null, y0);
#lib1::ExtNullable /* = core::String? */ y1 = #C1;
#lib1::ExtNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::extNullable("hello", y1);
#lib1::ExtGeneric<core::String> /* = core::String */ z0 = #C1;
#lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::extGeneric<core::String>("hello", z0);
has-declared-initializer #lib1::ExtGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::extGeneric<core::String?>(null, z1);
#lib1::ExtGeneric<core::String?> /* = core::String? */ z2 = #C1;
#lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::extGeneric<core::String?>("hello", z2);
}
static method imported() → dynamic {
#lib1::ExtString /* = core::String */ x0 = #C1;
#lib1::ExtString% /* erasure=core::String, declared=! */ x0 = #C1;
self::extString("hello", x0);
#lib1::ExtString /* = core::String */ x1 = #C2;
#lib1::ExtString% /* erasure=core::String, declared=! */ x1 = #C2;
self::extString("hello world", x1);
has-declared-initializer #lib1::ExtNullable /* = core::String? */ y0 = #C3;
has-declared-initializer #lib1::ExtNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::extNullable(null, y0);
#lib1::ExtNullable /* = core::String? */ y1 = #C1;
#lib1::ExtNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::extNullable("hello", y1);
#lib1::ExtGeneric<core::String> /* = core::String */ z0 = #C1;
#lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::extGeneric<core::String>("hello", z0);
has-declared-initializer #lib1::ExtGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::extGeneric<core::String?>(null, z1);
#lib1::ExtGeneric<core::String?> /* = core::String? */ z2 = #C1;
#lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::extGeneric<core::String?>("hello", z2);
}
static method extString(dynamic expected, #lib1::ExtString /* = core::String */ es) → void {
static method extString(dynamic expected, #lib1::ExtString% /* erasure=core::String, declared=! */ es) → void {
self::expect(expected, es);
}
static method extNullable(dynamic expected, #lib1::ExtNullable /* = core::String? */ es) → void {
static method extNullable(dynamic expected, #lib1::ExtNullable% /* erasure=core::String?, declared=! */ es) → void {
self::expect(expected, es);
}
static method extGeneric<T extends core::Object? = dynamic>(dynamic expected, #lib1::ExtGeneric<self::extGeneric::T%> /* = self::extGeneric::T% */ es) → void {
static method extGeneric<T extends core::Object? = dynamic>(dynamic expected, #lib1::ExtGeneric<self::extGeneric::T%>% /* erasure=self::extGeneric::T%, declared=! */ es) → void {
self::expect(expected, es);
}
static method main() → dynamic {

View file

@ -22,61 +22,61 @@ extension type SameGeneric<T extends core::Object? = dynamic>(T% s) {
constructor • = self::SameGeneric|constructor#;
constructor tearoff • = self::SameGeneric|constructor#_#new#tearOff;
}
static const field self::SameString /* = core::String */ sameString0 = const self::SameString|constructor#("hello");
static const field self::SameString /* = core::String */ sameString1 = const self::SameString|constructor#named("hello");
static const field self::SameNullable /* = core::String? */ sameNullable0 = const self::SameNullable|constructor#(null);
static const field self::SameNullable /* = core::String? */ sameNullable1 = const self::SameNullable|constructor#("hello");
static const field self::SameGeneric<core::String> /* = core::String */ sameGeneric0 = const self::SameGeneric|constructor#<core::String>("hello");
static const field self::SameGeneric<core::String?> /* = core::String? */ sameGeneric1 = const self::SameGeneric|constructor#<core::String?>(null);
static const field self::SameGeneric<core::String?> /* = core::String? */ sameGeneric2 = const self::SameGeneric|constructor#<core::String?>("hello");
static const field mai::ExtString /* = core::String */ valString0 = const mai::ExtString|constructor#("hello");
static const field mai::ExtString /* = core::String */ valString1 = const mai::ExtString|constructor#named("hello");
static const field mai::ExtNullable /* = core::String? */ valNullable0 = const mai::ExtNullable|constructor#(null);
static const field mai::ExtNullable /* = core::String? */ valNullable1 = const mai::ExtNullable|constructor#("hello");
static const field mai::ExtGeneric<core::String> /* = core::String */ valGeneric0 = const mai::ExtGeneric|constructor#<core::String>("hello");
static const field mai::ExtGeneric<core::String?> /* = core::String? */ valGeneric1 = const mai::ExtGeneric|constructor#<core::String?>(null);
static const field mai::ExtGeneric<core::String?> /* = core::String? */ valGeneric2 = const mai::ExtGeneric|constructor#<core::String?>("hello");
static extension-type-member method SameString|constructor#(core::String s) → self::SameString /* = core::String */ {
lowered final self::SameString /* = core::String */ #this = s;
static const field self::SameString% /* erasure=core::String, declared=! */ sameString0 = const self::SameString|constructor#("hello");
static const field self::SameString% /* erasure=core::String, declared=! */ sameString1 = const self::SameString|constructor#named("hello");
static const field self::SameNullable% /* erasure=core::String?, declared=! */ sameNullable0 = const self::SameNullable|constructor#(null);
static const field self::SameNullable% /* erasure=core::String?, declared=! */ sameNullable1 = const self::SameNullable|constructor#("hello");
static const field self::SameGeneric<core::String>% /* erasure=core::String, declared=! */ sameGeneric0 = const self::SameGeneric|constructor#<core::String>("hello");
static const field self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ sameGeneric1 = const self::SameGeneric|constructor#<core::String?>(null);
static const field self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ sameGeneric2 = const self::SameGeneric|constructor#<core::String?>("hello");
static const field mai::ExtString% /* erasure=core::String, declared=! */ valString0 = const mai::ExtString|constructor#("hello");
static const field mai::ExtString% /* erasure=core::String, declared=! */ valString1 = const mai::ExtString|constructor#named("hello");
static const field mai::ExtNullable% /* erasure=core::String?, declared=! */ valNullable0 = const mai::ExtNullable|constructor#(null);
static const field mai::ExtNullable% /* erasure=core::String?, declared=! */ valNullable1 = const mai::ExtNullable|constructor#("hello");
static const field mai::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ valGeneric0 = const mai::ExtGeneric|constructor#<core::String>("hello");
static const field mai::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ valGeneric1 = const mai::ExtGeneric|constructor#<core::String?>(null);
static const field mai::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ valGeneric2 = const mai::ExtGeneric|constructor#<core::String?>("hello");
static extension-type-member method SameString|constructor#(core::String s) → self::SameString% /* erasure=core::String, declared=! */ {
lowered final self::SameString% /* erasure=core::String, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameString|constructor#_#new#tearOff(core::String s) → self::SameString /* = core::String */
static extension-type-member method SameString|constructor#_#new#tearOff(core::String s) → self::SameString% /* erasure=core::String, declared=! */
return self::SameString|constructor#(s);
static extension-type-member method SameString|constructor#named(core::String s) → self::SameString /* = core::String */ {
lowered final self::SameString /* = core::String */ #this = "${s} world";
static extension-type-member method SameString|constructor#named(core::String s) → self::SameString% /* erasure=core::String, declared=! */ {
lowered final self::SameString% /* erasure=core::String, declared=! */ #this = "${s} world";
return #this;
}
static extension-type-member method SameString|constructor#_#named#tearOff(core::String s) → self::SameString /* = core::String */
static extension-type-member method SameString|constructor#_#named#tearOff(core::String s) → self::SameString% /* erasure=core::String, declared=! */
return self::SameString|constructor#named(s);
static extension-type-member method SameNullable|constructor#(core::String? s) → self::SameNullable /* = core::String? */ {
lowered final self::SameNullable /* = core::String? */ #this = s;
static extension-type-member method SameNullable|constructor#(core::String? s) → self::SameNullable% /* erasure=core::String?, declared=! */ {
lowered final self::SameNullable% /* erasure=core::String?, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameNullable|constructor#_#new#tearOff(core::String? s) → self::SameNullable /* = core::String? */
static extension-type-member method SameNullable|constructor#_#new#tearOff(core::String? s) → self::SameNullable% /* erasure=core::String?, declared=! */
return self::SameNullable|constructor#(s);
static extension-type-member method SameGeneric|constructor#<T extends core::Object? = dynamic>(self::SameGeneric|constructor#::T% s) → self::SameGeneric<self::SameGeneric|constructor#::T%> /* = self::SameGeneric|constructor#::T% */ {
lowered final self::SameGeneric<self::SameGeneric|constructor#::T%> /* = self::SameGeneric|constructor#::T% */ #this = s;
static extension-type-member method SameGeneric|constructor#<T extends core::Object? = dynamic>(self::SameGeneric|constructor#::T% s) → self::SameGeneric<self::SameGeneric|constructor#::T%>% /* erasure=self::SameGeneric|constructor#::T%, declared=! */ {
lowered final self::SameGeneric<self::SameGeneric|constructor#::T%>% /* erasure=self::SameGeneric|constructor#::T%, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::SameGeneric|constructor#_#new#tearOff::T% s) → self::SameGeneric<self::SameGeneric|constructor#_#new#tearOff::T%> /* = self::SameGeneric|constructor#_#new#tearOff::T% */
static extension-type-member method SameGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::SameGeneric|constructor#_#new#tearOff::T% s) → self::SameGeneric<self::SameGeneric|constructor#_#new#tearOff::T%>% /* erasure=self::SameGeneric|constructor#_#new#tearOff::T%, declared=! */
return self::SameGeneric|constructor#<self::SameGeneric|constructor#_#new#tearOff::T%>(s);
static method sameLibrary() → dynamic
;
static method sameString(dynamic expected, self::SameString /* = core::String */ es) → void
static method sameString(dynamic expected, self::SameString% /* erasure=core::String, declared=! */ es) → void
;
static method sameNullable(dynamic expected, self::SameNullable /* = core::String? */ es) → void
static method sameNullable(dynamic expected, self::SameNullable% /* erasure=core::String?, declared=! */ es) → void
;
static method sameGeneric<T extends core::Object? = dynamic>(dynamic expected, self::SameGeneric<self::sameGeneric::T%> /* = self::sameGeneric::T% */ es) → void
static method sameGeneric<T extends core::Object? = dynamic>(dynamic expected, self::SameGeneric<self::sameGeneric::T%>% /* erasure=self::sameGeneric::T%, declared=! */ es) → void
;
static method otherLibrary() → dynamic
;
static method imported() → dynamic
;
static method extString(dynamic expected, mai::ExtString /* = core::String */ es) → void
static method extString(dynamic expected, mai::ExtString% /* erasure=core::String, declared=! */ es) → void
;
static method extNullable(dynamic expected, mai::ExtNullable /* = core::String? */ es) → void
static method extNullable(dynamic expected, mai::ExtNullable% /* erasure=core::String?, declared=! */ es) → void
;
static method extGeneric<T extends core::Object? = dynamic>(dynamic expected, mai::ExtGeneric<self::extGeneric::T%> /* = self::extGeneric::T% */ es) → void
static method extGeneric<T extends core::Object? = dynamic>(dynamic expected, mai::ExtGeneric<self::extGeneric::T%>% /* erasure=self::extGeneric::T%, declared=! */ es) → void
;
static method main() → dynamic
;
@ -104,36 +104,36 @@ extension type ExtGeneric<T extends core::Object? = dynamic>(T% s) {
constructor • = mai::ExtGeneric|constructor#;
constructor tearoff • = mai::ExtGeneric|constructor#_#new#tearOff;
}
static const field mai::ExtString /* = core::String */ libString0 = #C1;
static const field mai::ExtString /* = core::String */ libString1 = #C2;
static const field mai::ExtNullable /* = core::String? */ libNullable0 = #C3;
static const field mai::ExtNullable /* = core::String? */ libNullable1 = #C1;
static const field mai::ExtGeneric<core::String> /* = core::String */ libGeneric0 = #C1;
static const field mai::ExtGeneric<core::String?> /* = core::String? */ libGeneric1 = #C3;
static const field mai::ExtGeneric<core::String?> /* = core::String? */ libGeneric2 = #C1;
static extension-type-member method ExtString|constructor#(core::String s) → mai::ExtString /* = core::String */ {
lowered final mai::ExtString /* = core::String */ #this = s;
static const field mai::ExtString% /* erasure=core::String, declared=! */ libString0 = #C1;
static const field mai::ExtString% /* erasure=core::String, declared=! */ libString1 = #C2;
static const field mai::ExtNullable% /* erasure=core::String?, declared=! */ libNullable0 = #C3;
static const field mai::ExtNullable% /* erasure=core::String?, declared=! */ libNullable1 = #C1;
static const field mai::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ libGeneric0 = #C1;
static const field mai::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ libGeneric1 = #C3;
static const field mai::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ libGeneric2 = #C1;
static extension-type-member method ExtString|constructor#(core::String s) → mai::ExtString% /* erasure=core::String, declared=! */ {
lowered final mai::ExtString% /* erasure=core::String, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtString|constructor#_#new#tearOff(core::String s) → mai::ExtString /* = core::String */
static extension-type-member method ExtString|constructor#_#new#tearOff(core::String s) → mai::ExtString% /* erasure=core::String, declared=! */
return mai::ExtString|constructor#(s);
static extension-type-member method ExtString|constructor#named(core::String s) → mai::ExtString /* = core::String */ {
lowered final mai::ExtString /* = core::String */ #this = "${s} world";
static extension-type-member method ExtString|constructor#named(core::String s) → mai::ExtString% /* erasure=core::String, declared=! */ {
lowered final mai::ExtString% /* erasure=core::String, declared=! */ #this = "${s} world";
return #this;
}
static extension-type-member method ExtString|constructor#_#named#tearOff(core::String s) → mai::ExtString /* = core::String */
static extension-type-member method ExtString|constructor#_#named#tearOff(core::String s) → mai::ExtString% /* erasure=core::String, declared=! */
return mai::ExtString|constructor#named(s);
static extension-type-member method ExtNullable|constructor#(core::String? s) → mai::ExtNullable /* = core::String? */ {
lowered final mai::ExtNullable /* = core::String? */ #this = s;
static extension-type-member method ExtNullable|constructor#(core::String? s) → mai::ExtNullable% /* erasure=core::String?, declared=! */ {
lowered final mai::ExtNullable% /* erasure=core::String?, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtNullable|constructor#_#new#tearOff(core::String? s) → mai::ExtNullable /* = core::String? */
static extension-type-member method ExtNullable|constructor#_#new#tearOff(core::String? s) → mai::ExtNullable% /* erasure=core::String?, declared=! */
return mai::ExtNullable|constructor#(s);
static extension-type-member method ExtGeneric|constructor#<T extends core::Object? = dynamic>(mai::ExtGeneric|constructor#::T% s) → mai::ExtGeneric<mai::ExtGeneric|constructor#::T%> /* = mai::ExtGeneric|constructor#::T% */ {
lowered final mai::ExtGeneric<mai::ExtGeneric|constructor#::T%> /* = mai::ExtGeneric|constructor#::T% */ #this = s;
static extension-type-member method ExtGeneric|constructor#<T extends core::Object? = dynamic>(mai::ExtGeneric|constructor#::T% s) → mai::ExtGeneric<mai::ExtGeneric|constructor#::T%>% /* erasure=mai::ExtGeneric|constructor#::T%, declared=! */ {
lowered final mai::ExtGeneric<mai::ExtGeneric|constructor#::T%>% /* erasure=mai::ExtGeneric|constructor#::T%, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(mai::ExtGeneric|constructor#_#new#tearOff::T% s) → mai::ExtGeneric<mai::ExtGeneric|constructor#_#new#tearOff::T%> /* = mai::ExtGeneric|constructor#_#new#tearOff::T% */
static extension-type-member method ExtGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(mai::ExtGeneric|constructor#_#new#tearOff::T% s) → mai::ExtGeneric<mai::ExtGeneric|constructor#_#new#tearOff::T%>% /* erasure=mai::ExtGeneric|constructor#_#new#tearOff::T%, declared=! */
return mai::ExtGeneric|constructor#<mai::ExtGeneric|constructor#_#new#tearOff::T%>(s);
constants {

View file

@ -21,108 +21,108 @@ extension type SameGeneric<T extends core::Object? = dynamic>(T% s) {
constructor • = self::SameGeneric|constructor#;
constructor tearoff • = self::SameGeneric|constructor#_#new#tearOff;
}
static const field self::SameString /* = core::String */ sameString0 = #C1;
static const field self::SameString /* = core::String */ sameString1 = #C2;
static const field self::SameNullable /* = core::String? */ sameNullable0 = #C3;
static const field self::SameNullable /* = core::String? */ sameNullable1 = #C1;
static const field self::SameGeneric<core::String> /* = core::String */ sameGeneric0 = #C1;
static const field self::SameGeneric<core::String?> /* = core::String? */ sameGeneric1 = #C3;
static const field self::SameGeneric<core::String?> /* = core::String? */ sameGeneric2 = #C1;
static const field #lib1::ExtString /* = core::String */ valString0 = #C1;
static const field #lib1::ExtString /* = core::String */ valString1 = #C2;
static const field #lib1::ExtNullable /* = core::String? */ valNullable0 = #C3;
static const field #lib1::ExtNullable /* = core::String? */ valNullable1 = #C1;
static const field #lib1::ExtGeneric<core::String> /* = core::String */ valGeneric0 = #C1;
static const field #lib1::ExtGeneric<core::String?> /* = core::String? */ valGeneric1 = #C3;
static const field #lib1::ExtGeneric<core::String?> /* = core::String? */ valGeneric2 = #C1;
static extension-type-member method SameString|constructor#(core::String s) → self::SameString /* = core::String */ {
lowered final self::SameString /* = core::String */ #this = s;
static const field self::SameString% /* erasure=core::String, declared=! */ sameString0 = #C1;
static const field self::SameString% /* erasure=core::String, declared=! */ sameString1 = #C2;
static const field self::SameNullable% /* erasure=core::String?, declared=! */ sameNullable0 = #C3;
static const field self::SameNullable% /* erasure=core::String?, declared=! */ sameNullable1 = #C1;
static const field self::SameGeneric<core::String>% /* erasure=core::String, declared=! */ sameGeneric0 = #C1;
static const field self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ sameGeneric1 = #C3;
static const field self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ sameGeneric2 = #C1;
static const field #lib1::ExtString% /* erasure=core::String, declared=! */ valString0 = #C1;
static const field #lib1::ExtString% /* erasure=core::String, declared=! */ valString1 = #C2;
static const field #lib1::ExtNullable% /* erasure=core::String?, declared=! */ valNullable0 = #C3;
static const field #lib1::ExtNullable% /* erasure=core::String?, declared=! */ valNullable1 = #C1;
static const field #lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ valGeneric0 = #C1;
static const field #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ valGeneric1 = #C3;
static const field #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ valGeneric2 = #C1;
static extension-type-member method SameString|constructor#(core::String s) → self::SameString% /* erasure=core::String, declared=! */ {
lowered final self::SameString% /* erasure=core::String, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameString|constructor#_#new#tearOff(core::String s) → self::SameString /* = core::String */
static extension-type-member method SameString|constructor#_#new#tearOff(core::String s) → self::SameString% /* erasure=core::String, declared=! */
return self::SameString|constructor#(s);
static extension-type-member method SameString|constructor#named(core::String s) → self::SameString /* = core::String */ {
lowered final self::SameString /* = core::String */ #this = "${s} world";
static extension-type-member method SameString|constructor#named(core::String s) → self::SameString% /* erasure=core::String, declared=! */ {
lowered final self::SameString% /* erasure=core::String, declared=! */ #this = "${s} world";
return #this;
}
static extension-type-member method SameString|constructor#_#named#tearOff(core::String s) → self::SameString /* = core::String */
static extension-type-member method SameString|constructor#_#named#tearOff(core::String s) → self::SameString% /* erasure=core::String, declared=! */
return self::SameString|constructor#named(s);
static extension-type-member method SameNullable|constructor#(core::String? s) → self::SameNullable /* = core::String? */ {
lowered final self::SameNullable /* = core::String? */ #this = s;
static extension-type-member method SameNullable|constructor#(core::String? s) → self::SameNullable% /* erasure=core::String?, declared=! */ {
lowered final self::SameNullable% /* erasure=core::String?, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameNullable|constructor#_#new#tearOff(core::String? s) → self::SameNullable /* = core::String? */
static extension-type-member method SameNullable|constructor#_#new#tearOff(core::String? s) → self::SameNullable% /* erasure=core::String?, declared=! */
return self::SameNullable|constructor#(s);
static extension-type-member method SameGeneric|constructor#<T extends core::Object? = dynamic>(self::SameGeneric|constructor#::T% s) → self::SameGeneric<self::SameGeneric|constructor#::T%> /* = self::SameGeneric|constructor#::T% */ {
lowered final self::SameGeneric<self::SameGeneric|constructor#::T%> /* = self::SameGeneric|constructor#::T% */ #this = s;
static extension-type-member method SameGeneric|constructor#<T extends core::Object? = dynamic>(self::SameGeneric|constructor#::T% s) → self::SameGeneric<self::SameGeneric|constructor#::T%>% /* erasure=self::SameGeneric|constructor#::T%, declared=! */ {
lowered final self::SameGeneric<self::SameGeneric|constructor#::T%>% /* erasure=self::SameGeneric|constructor#::T%, declared=! */ #this = s;
return #this;
}
static extension-type-member method SameGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::SameGeneric|constructor#_#new#tearOff::T% s) → self::SameGeneric<self::SameGeneric|constructor#_#new#tearOff::T%> /* = self::SameGeneric|constructor#_#new#tearOff::T% */
static extension-type-member method SameGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::SameGeneric|constructor#_#new#tearOff::T% s) → self::SameGeneric<self::SameGeneric|constructor#_#new#tearOff::T%>% /* erasure=self::SameGeneric|constructor#_#new#tearOff::T%, declared=! */
return self::SameGeneric|constructor#<self::SameGeneric|constructor#_#new#tearOff::T%>(s);
static method sameLibrary() → dynamic {
self::SameString /* = core::String */ x0 = #C1;
self::SameString% /* erasure=core::String, declared=! */ x0 = #C1;
self::sameString("hello", x0);
self::SameString /* = core::String */ x1 = #C2;
self::SameString% /* erasure=core::String, declared=! */ x1 = #C2;
self::sameString("hello world", x1);
has-declared-initializer self::SameNullable /* = core::String? */ y0 = #C3;
has-declared-initializer self::SameNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::sameNullable(null, y0);
self::SameNullable /* = core::String? */ y1 = #C1;
self::SameNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::sameNullable("hello", y1);
self::SameGeneric<core::String> /* = core::String */ z0 = #C1;
self::SameGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::sameGeneric<core::String>("hello", z0);
has-declared-initializer self::SameGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::sameGeneric<core::String?>(null, z1);
self::SameGeneric<core::String?> /* = core::String? */ z2 = #C1;
self::SameGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::sameGeneric<core::String?>("hello", z2);
}
static method sameString(dynamic expected, self::SameString /* = core::String */ es) → void {
static method sameString(dynamic expected, self::SameString% /* erasure=core::String, declared=! */ es) → void {
self::expect(expected, es);
}
static method sameNullable(dynamic expected, self::SameNullable /* = core::String? */ es) → void {
static method sameNullable(dynamic expected, self::SameNullable% /* erasure=core::String?, declared=! */ es) → void {
self::expect(expected, es);
}
static method sameGeneric<T extends core::Object? = dynamic>(dynamic expected, self::SameGeneric<self::sameGeneric::T%> /* = self::sameGeneric::T% */ es) → void {
static method sameGeneric<T extends core::Object? = dynamic>(dynamic expected, self::SameGeneric<self::sameGeneric::T%>% /* erasure=self::sameGeneric::T%, declared=! */ es) → void {
self::expect(expected, es);
}
static method otherLibrary() → dynamic {
#lib1::ExtString /* = core::String */ x0 = #C1;
#lib1::ExtString% /* erasure=core::String, declared=! */ x0 = #C1;
self::extString("hello", x0);
#lib1::ExtString /* = core::String */ x1 = #C2;
#lib1::ExtString% /* erasure=core::String, declared=! */ x1 = #C2;
self::extString("hello world", x1);
has-declared-initializer #lib1::ExtNullable /* = core::String? */ y0 = #C3;
has-declared-initializer #lib1::ExtNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::extNullable(null, y0);
#lib1::ExtNullable /* = core::String? */ y1 = #C1;
#lib1::ExtNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::extNullable("hello", y1);
#lib1::ExtGeneric<core::String> /* = core::String */ z0 = #C1;
#lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::extGeneric<core::String>("hello", z0);
has-declared-initializer #lib1::ExtGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::extGeneric<core::String?>(null, z1);
#lib1::ExtGeneric<core::String?> /* = core::String? */ z2 = #C1;
#lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::extGeneric<core::String?>("hello", z2);
}
static method imported() → dynamic {
#lib1::ExtString /* = core::String */ x0 = #C1;
#lib1::ExtString% /* erasure=core::String, declared=! */ x0 = #C1;
self::extString("hello", x0);
#lib1::ExtString /* = core::String */ x1 = #C2;
#lib1::ExtString% /* erasure=core::String, declared=! */ x1 = #C2;
self::extString("hello world", x1);
has-declared-initializer #lib1::ExtNullable /* = core::String? */ y0 = #C3;
has-declared-initializer #lib1::ExtNullable% /* erasure=core::String?, declared=! */ y0 = #C3;
self::extNullable(null, y0);
#lib1::ExtNullable /* = core::String? */ y1 = #C1;
#lib1::ExtNullable% /* erasure=core::String?, declared=! */ y1 = #C1;
self::extNullable("hello", y1);
#lib1::ExtGeneric<core::String> /* = core::String */ z0 = #C1;
#lib1::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ z0 = #C1;
self::extGeneric<core::String>("hello", z0);
has-declared-initializer #lib1::ExtGeneric<core::String?> /* = core::String? */ z1 = #C3;
has-declared-initializer #lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z1 = #C3;
self::extGeneric<core::String?>(null, z1);
#lib1::ExtGeneric<core::String?> /* = core::String? */ z2 = #C1;
#lib1::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ z2 = #C1;
self::extGeneric<core::String?>("hello", z2);
}
static method extString(dynamic expected, #lib1::ExtString /* = core::String */ es) → void {
static method extString(dynamic expected, #lib1::ExtString% /* erasure=core::String, declared=! */ es) → void {
self::expect(expected, es);
}
static method extNullable(dynamic expected, #lib1::ExtNullable /* = core::String? */ es) → void {
static method extNullable(dynamic expected, #lib1::ExtNullable% /* erasure=core::String?, declared=! */ es) → void {
self::expect(expected, es);
}
static method extGeneric<T extends core::Object? = dynamic>(dynamic expected, #lib1::ExtGeneric<self::extGeneric::T%> /* = self::extGeneric::T% */ es) → void {
static method extGeneric<T extends core::Object? = dynamic>(dynamic expected, #lib1::ExtGeneric<self::extGeneric::T%>% /* erasure=self::extGeneric::T%, declared=! */ es) → void {
self::expect(expected, es);
}
static method main() → dynamic {
@ -156,36 +156,36 @@ extension type ExtGeneric<T extends core::Object? = dynamic>(T% s) {
constructor • = self2::ExtGeneric|constructor#;
constructor tearoff • = self2::ExtGeneric|constructor#_#new#tearOff;
}
static const field self2::ExtString /* = core::String */ libString0 = #C1;
static const field self2::ExtString /* = core::String */ libString1 = #C2;
static const field self2::ExtNullable /* = core::String? */ libNullable0 = #C3;
static const field self2::ExtNullable /* = core::String? */ libNullable1 = #C1;
static const field self2::ExtGeneric<core::String> /* = core::String */ libGeneric0 = #C1;
static const field self2::ExtGeneric<core::String?> /* = core::String? */ libGeneric1 = #C3;
static const field self2::ExtGeneric<core::String?> /* = core::String? */ libGeneric2 = #C1;
static extension-type-member method ExtString|constructor#(core::String s) → self2::ExtString /* = core::String */ {
lowered final self2::ExtString /* = core::String */ #this = s;
static const field self2::ExtString% /* erasure=core::String, declared=! */ libString0 = #C1;
static const field self2::ExtString% /* erasure=core::String, declared=! */ libString1 = #C2;
static const field self2::ExtNullable% /* erasure=core::String?, declared=! */ libNullable0 = #C3;
static const field self2::ExtNullable% /* erasure=core::String?, declared=! */ libNullable1 = #C1;
static const field self2::ExtGeneric<core::String>% /* erasure=core::String, declared=! */ libGeneric0 = #C1;
static const field self2::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ libGeneric1 = #C3;
static const field self2::ExtGeneric<core::String?>% /* erasure=core::String?, declared=! */ libGeneric2 = #C1;
static extension-type-member method ExtString|constructor#(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */ {
lowered final self2::ExtString% /* erasure=core::String, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtString|constructor#_#new#tearOff(core::String s) → self2::ExtString /* = core::String */
static extension-type-member method ExtString|constructor#_#new#tearOff(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */
return self2::ExtString|constructor#(s);
static extension-type-member method ExtString|constructor#named(core::String s) → self2::ExtString /* = core::String */ {
lowered final self2::ExtString /* = core::String */ #this = "${s} world";
static extension-type-member method ExtString|constructor#named(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */ {
lowered final self2::ExtString% /* erasure=core::String, declared=! */ #this = "${s} world";
return #this;
}
static extension-type-member method ExtString|constructor#_#named#tearOff(core::String s) → self2::ExtString /* = core::String */
static extension-type-member method ExtString|constructor#_#named#tearOff(core::String s) → self2::ExtString% /* erasure=core::String, declared=! */
return self2::ExtString|constructor#named(s);
static extension-type-member method ExtNullable|constructor#(core::String? s) → self2::ExtNullable /* = core::String? */ {
lowered final self2::ExtNullable /* = core::String? */ #this = s;
static extension-type-member method ExtNullable|constructor#(core::String? s) → self2::ExtNullable% /* erasure=core::String?, declared=! */ {
lowered final self2::ExtNullable% /* erasure=core::String?, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtNullable|constructor#_#new#tearOff(core::String? s) → self2::ExtNullable /* = core::String? */
static extension-type-member method ExtNullable|constructor#_#new#tearOff(core::String? s) → self2::ExtNullable% /* erasure=core::String?, declared=! */
return self2::ExtNullable|constructor#(s);
static extension-type-member method ExtGeneric|constructor#<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#::T%> /* = self2::ExtGeneric|constructor#::T% */ {
lowered final self2::ExtGeneric<self2::ExtGeneric|constructor#::T%> /* = self2::ExtGeneric|constructor#::T% */ #this = s;
static extension-type-member method ExtGeneric|constructor#<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#::T%>% /* erasure=self2::ExtGeneric|constructor#::T%, declared=! */ {
lowered final self2::ExtGeneric<self2::ExtGeneric|constructor#::T%>% /* erasure=self2::ExtGeneric|constructor#::T%, declared=! */ #this = s;
return #this;
}
static extension-type-member method ExtGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#_#new#tearOff::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#_#new#tearOff::T%> /* = self2::ExtGeneric|constructor#_#new#tearOff::T% */
static extension-type-member method ExtGeneric|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self2::ExtGeneric|constructor#_#new#tearOff::T% s) → self2::ExtGeneric<self2::ExtGeneric|constructor#_#new#tearOff::T%>% /* erasure=self2::ExtGeneric|constructor#_#new#tearOff::T%, declared=! */
return self2::ExtGeneric|constructor#<self2::ExtGeneric|constructor#_#new#tearOff::T%>(s);
constants {

View file

@ -5,71 +5,71 @@ import "dart:js_interop" as js_;
import "dart:js_interop";
extension type CustomJSAny(js_::JSAny /* = dart.core::Object */ _) implements js_::JSAny /* = dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* = dart.core::Object */;
extension type CustomJSAny(js_::JSAny /* erasure=dart.core::Object */ _) implements js_::JSAny /* erasure=dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* erasure=dart.core::Object */;
constructor • = self::CustomJSAny|constructor#;
constructor tearoff • = self::CustomJSAny|constructor#_#new#tearOff;
}
extension type CustomJSObject(js_::JSObject /* = dart._interceptors::JSObject */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* = dart._interceptors::JSObject */;
extension type CustomJSObject(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* erasure=dart._interceptors::JSObject */;
constructor • = self::CustomJSObject|constructor#;
constructor tearoff • = self::CustomJSObject|constructor#_#new#tearOff;
}
extension type CustomTypedArray(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */;
extension type CustomTypedArray(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */;
constructor • = self::CustomTypedArray|constructor#;
constructor tearoff • = self::CustomTypedArray|constructor#_#new#tearOff;
}
@#C4
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */;
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */;
constructor • = self::CustomJSArray|constructor#;
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
}
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */ {
lowered final self::CustomJSAny /* = dart.core::Object */ #this = _;
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */ {
lowered final self::CustomJSAny /* erasure=dart.core::Object */ #this = _;
return #this;
}
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
return self::CustomJSAny|constructor#(_);
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* = dart._interceptors::JSObject */ _) → self::CustomJSObject /* = dart._interceptors::JSObject */ {
lowered final self::CustomJSObject /* = dart._interceptors::JSObject */ #this = _;
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */ {
lowered final self::CustomJSObject /* erasure=dart._interceptors::JSObject */ #this = _;
return #this;
}
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* = dart._interceptors::JSObject */ _) → self::CustomJSObject /* = dart._interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
return self::CustomJSObject|constructor#(_);
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ #this = _;
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
return #this;
}
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
return self::CustomTypedArray|constructor#(_);
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */ #this = _;
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ #this = _;
return #this;
}
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */
return self::CustomJSArray|constructor#(_);
static method test(js_::JSAny /* = dart.core::Object */ any) → void {
js_::JSAnyUtilityExtension|isA<js_::JSAny /* = dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny? /* = dart.core::Object? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString /* = dart.core::String */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString? /* = dart.core::String? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSNumber /* = dart.core::double */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBoolean /* = dart.core::bool */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSSymbol /* = dart._interceptors::JavaScriptSymbol */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBigInt /* = dart._interceptors::JavaScriptBigInt */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject /* = dart._interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject? /* = dart._interceptors::JSObject? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSAny /* = dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSObject /* = dart._interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny /* = dart.core::Object */>((() → js_::JSAny /* = dart.core::Object */ {
static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
js_::JSAnyUtilityExtension|isA<js_::JSAny /* erasure=dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny? /* erasure=dart.core::Object? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString /* erasure=dart.core::String */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString? /* erasure=dart.core::String? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSNumber /* erasure=dart.core::double */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBoolean /* erasure=dart.core::bool */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSSymbol /* erasure=dart._interceptors::JavaScriptSymbol */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBigInt /* erasure=dart._interceptors::JavaScriptBigInt */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject /* erasure=dart._interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject? /* erasure=dart._interceptors::JSObject? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSAny /* erasure=dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSObject /* erasure=dart._interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny /* erasure=dart.core::Object */>((() → js_::JSAny /* erasure=dart.core::Object */ {
return any;
})(){() → js_::JSAny /* = dart.core::Object */});
})(){() → js_::JSAny /* erasure=dart.core::Object */});
}
static method main() → void {}

View file

@ -6,52 +6,52 @@ import "dart:js_interop_unsafe" as js_2;
import "dart:js_interop";
extension type CustomJSAny(js_::JSAny /* = dart.core::Object */ _) implements js_::JSAny /* = dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* = dart.core::Object */;
extension type CustomJSAny(js_::JSAny /* erasure=dart.core::Object */ _) implements js_::JSAny /* erasure=dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* erasure=dart.core::Object */;
constructor • = self::CustomJSAny|constructor#;
constructor tearoff • = self::CustomJSAny|constructor#_#new#tearOff;
}
extension type CustomJSObject(js_::JSObject /* = dart._interceptors::JSObject */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* = dart._interceptors::JSObject */;
extension type CustomJSObject(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* erasure=dart._interceptors::JSObject */;
constructor • = self::CustomJSObject|constructor#;
constructor tearoff • = self::CustomJSObject|constructor#_#new#tearOff;
}
extension type CustomTypedArray(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */;
extension type CustomTypedArray(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */;
constructor • = self::CustomTypedArray|constructor#;
constructor tearoff • = self::CustomTypedArray|constructor#_#new#tearOff;
}
@#C4
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */;
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */;
constructor • = self::CustomJSArray|constructor#;
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
}
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */ {
lowered final self::CustomJSAny /* = dart.core::Object */ #this = _;
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */ {
lowered final self::CustomJSAny /* erasure=dart.core::Object */ #this = _;
return #this;
}
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
return self::CustomJSAny|constructor#(_);
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* = dart._interceptors::JSObject */ _) → self::CustomJSObject /* = dart._interceptors::JSObject */ {
lowered final self::CustomJSObject /* = dart._interceptors::JSObject */ #this = _;
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */ {
lowered final self::CustomJSObject /* erasure=dart._interceptors::JSObject */ #this = _;
return #this;
}
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* = dart._interceptors::JSObject */ _) → self::CustomJSObject /* = dart._interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
return self::CustomJSObject|constructor#(_);
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ #this = _;
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
return #this;
}
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
return self::CustomTypedArray|constructor#(_);
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */ #this = _;
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ #this = _;
return #this;
}
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */
return self::CustomJSArray|constructor#(_);
static method test(js_::JSAny /* = dart.core::Object */ any) → void {
static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
!(any == null);
true;
!(any == null) && js_::JSAnyUtilityExtension|typeofEquals(any, "string");
@ -63,14 +63,14 @@ static method test(js_::JSAny /* = dart.core::Object */ any) → void {
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
any == null || js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Array");
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* = dart._interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as{ForLegacy} js_::JSObject /* = dart._interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* = dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as{ForLegacy} js_::JSObject /* = dart._interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* erasure=dart._interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as{ForLegacy} js_::JSObject /* erasure=dart._interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* erasure=dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as{ForLegacy} js_::JSObject /* erasure=dart._interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSAny");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSObject");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomTypedArray");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.RenamedJSArray");
let final js_::JSAny? /* = dart.core::Object? */ #t1 = (() → js_::JSAny /* = dart.core::Object */ {
let final js_::JSAny? /* erasure=dart.core::Object? */ #t1 = (() → js_::JSAny /* erasure=dart.core::Object */ {
return any;
})(){() → js_::JSAny /* = dart.core::Object */} in !(#t1 == null);
})(){() → js_::JSAny /* erasure=dart.core::Object */} in !(#t1 == null);
}
static method main() → void {}

View file

@ -5,71 +5,71 @@ import "dart:js_interop" as js_;
import "dart:js_interop";
extension type CustomJSAny(js_::JSAny /* = dart.core::Object */ _) implements js_::JSAny /* = dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* = dart.core::Object */;
extension type CustomJSAny(js_::JSAny /* erasure=dart.core::Object */ _) implements js_::JSAny /* erasure=dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* erasure=dart.core::Object */;
constructor • = self::CustomJSAny|constructor#;
constructor tearoff • = self::CustomJSAny|constructor#_#new#tearOff;
}
extension type CustomJSObject(js_::JSObject /* = dart._interceptors::JSObject */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* = dart._interceptors::JSObject */;
extension type CustomJSObject(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* erasure=dart._interceptors::JSObject */;
constructor • = self::CustomJSObject|constructor#;
constructor tearoff • = self::CustomJSObject|constructor#_#new#tearOff;
}
extension type CustomTypedArray(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */;
extension type CustomTypedArray(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */;
constructor • = self::CustomTypedArray|constructor#;
constructor tearoff • = self::CustomTypedArray|constructor#_#new#tearOff;
}
@#C4
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */;
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */;
constructor • = self::CustomJSArray|constructor#;
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
}
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */ {
lowered final self::CustomJSAny /* = dart.core::Object */ #this = _;
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */ {
lowered final self::CustomJSAny /* erasure=dart.core::Object */ #this = _;
return #this;
}
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
return self::CustomJSAny|constructor#(_);
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* = dart._interceptors::JSObject */ _) → self::CustomJSObject /* = dart._interceptors::JSObject */ {
lowered final self::CustomJSObject /* = dart._interceptors::JSObject */ #this = _;
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */ {
lowered final self::CustomJSObject /* erasure=dart._interceptors::JSObject */ #this = _;
return #this;
}
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* = dart._interceptors::JSObject */ _) → self::CustomJSObject /* = dart._interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
return self::CustomJSObject|constructor#(_);
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ #this = _;
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
return #this;
}
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
return self::CustomTypedArray|constructor#(_);
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */ #this = _;
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ #this = _;
return #this;
}
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */
return self::CustomJSArray|constructor#(_);
static method test(js_::JSAny /* = dart.core::Object */ any) → void {
js_::JSAnyUtilityExtension|isA<js_::JSAny /* = dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny? /* = dart.core::Object? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString /* = dart.core::String */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString? /* = dart.core::String? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSNumber /* = dart.core::double */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBoolean /* = dart.core::bool */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSSymbol /* = dart._interceptors::JavaScriptSymbol */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBigInt /* = dart._interceptors::JavaScriptBigInt */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject /* = dart._interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject? /* = dart._interceptors::JSObject? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSAny /* = dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSObject /* = dart._interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny /* = dart.core::Object */>((() → js_::JSAny /* = dart.core::Object */ {
static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
js_::JSAnyUtilityExtension|isA<js_::JSAny /* erasure=dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny? /* erasure=dart.core::Object? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString /* erasure=dart.core::String */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString? /* erasure=dart.core::String? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSNumber /* erasure=dart.core::double */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBoolean /* erasure=dart.core::bool */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSSymbol /* erasure=dart._interceptors::JavaScriptSymbol */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBigInt /* erasure=dart._interceptors::JavaScriptBigInt */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject /* erasure=dart._interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject? /* erasure=dart._interceptors::JSObject? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSAny /* erasure=dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSObject /* erasure=dart._interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny /* erasure=dart.core::Object */>((() → js_::JSAny /* erasure=dart.core::Object */ {
return any;
})(){() → js_::JSAny /* = dart.core::Object */});
})(){() → js_::JSAny /* erasure=dart.core::Object */});
}
static method main() → void {}

View file

@ -5,71 +5,71 @@ import "dart:js_interop" as js_;
import "dart:js_interop";
extension type CustomJSAny(js_::JSAny /* = dart.core::Object */ _) implements js_::JSAny /* = dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* = dart.core::Object */;
extension type CustomJSAny(js_::JSAny /* erasure=dart.core::Object */ _) implements js_::JSAny /* erasure=dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* erasure=dart.core::Object */;
constructor • = self::CustomJSAny|constructor#;
constructor tearoff • = self::CustomJSAny|constructor#_#new#tearOff;
}
extension type CustomJSObject(js_::JSObject /* = dart._interceptors::JSObject */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* = dart._interceptors::JSObject */;
extension type CustomJSObject(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* erasure=dart._interceptors::JSObject */;
constructor • = self::CustomJSObject|constructor#;
constructor tearoff • = self::CustomJSObject|constructor#_#new#tearOff;
}
extension type CustomTypedArray(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */;
extension type CustomTypedArray(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */;
constructor • = self::CustomTypedArray|constructor#;
constructor tearoff • = self::CustomTypedArray|constructor#_#new#tearOff;
}
@#C4
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */;
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */;
constructor • = self::CustomJSArray|constructor#;
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
}
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */ {
lowered final self::CustomJSAny /* = dart.core::Object */ #this = _;
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */ {
lowered final self::CustomJSAny /* erasure=dart.core::Object */ #this = _;
return #this;
}
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
return self::CustomJSAny|constructor#(_);
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* = dart._interceptors::JSObject */ _) → self::CustomJSObject /* = dart._interceptors::JSObject */ {
lowered final self::CustomJSObject /* = dart._interceptors::JSObject */ #this = _;
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */ {
lowered final self::CustomJSObject /* erasure=dart._interceptors::JSObject */ #this = _;
return #this;
}
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* = dart._interceptors::JSObject */ _) → self::CustomJSObject /* = dart._interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
return self::CustomJSObject|constructor#(_);
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ #this = _;
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
return #this;
}
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
return self::CustomTypedArray|constructor#(_);
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */ #this = _;
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ #this = _;
return #this;
}
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */
return self::CustomJSArray|constructor#(_);
static method test(js_::JSAny /* = dart.core::Object */ any) → void {
js_::JSAnyUtilityExtension|isA<js_::JSAny /* = dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny? /* = dart.core::Object? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString /* = dart.core::String */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString? /* = dart.core::String? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSNumber /* = dart.core::double */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBoolean /* = dart.core::bool */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSSymbol /* = dart._interceptors::JavaScriptSymbol */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBigInt /* = dart._interceptors::JavaScriptBigInt */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject /* = dart._interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject? /* = dart._interceptors::JSObject? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSAny /* = dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSObject /* = dart._interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny /* = dart.core::Object */>((() → js_::JSAny /* = dart.core::Object */ {
static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
js_::JSAnyUtilityExtension|isA<js_::JSAny /* erasure=dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny? /* erasure=dart.core::Object? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString /* erasure=dart.core::String */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSString? /* erasure=dart.core::String? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSNumber /* erasure=dart.core::double */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBoolean /* erasure=dart.core::bool */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSSymbol /* erasure=dart._interceptors::JavaScriptSymbol */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSBigInt /* erasure=dart._interceptors::JavaScriptBigInt */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject /* erasure=dart._interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSObject? /* erasure=dart._interceptors::JSObject? */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSAny /* erasure=dart.core::Object */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSObject /* erasure=dart._interceptors::JSObject */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */>(any);
js_::JSAnyUtilityExtension|isA<self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */>(any);
js_::JSAnyUtilityExtension|isA<js_::JSAny /* erasure=dart.core::Object */>((() → js_::JSAny /* erasure=dart.core::Object */ {
return any;
})(){() → js_::JSAny /* = dart.core::Object */});
})(){() → js_::JSAny /* erasure=dart.core::Object */});
}
static method main() → void {}

View file

@ -5,44 +5,44 @@ import "dart:js_interop" as js_;
import "dart:js_interop";
extension type CustomJSAny(js_::JSAny /* = dart.core::Object */ _) implements js_::JSAny /* = dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* = dart.core::Object */;
extension type CustomJSAny(js_::JSAny /* erasure=dart.core::Object */ _) implements js_::JSAny /* erasure=dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* erasure=dart.core::Object */;
constructor • = self::CustomJSAny|constructor#;
constructor tearoff • = self::CustomJSAny|constructor#_#new#tearOff;
}
extension type CustomJSObject(js_::JSObject /* = dart._interceptors::JSObject */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* = dart._interceptors::JSObject */;
extension type CustomJSObject(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* erasure=dart._interceptors::JSObject */;
constructor • = self::CustomJSObject|constructor#;
constructor tearoff • = self::CustomJSObject|constructor#_#new#tearOff;
}
extension type CustomTypedArray(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */;
extension type CustomTypedArray(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */;
constructor • = self::CustomTypedArray|constructor#;
constructor tearoff • = self::CustomTypedArray|constructor#_#new#tearOff;
}
@js_::JS::•("RenamedJSArray")
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */;
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */;
constructor • = self::CustomJSArray|constructor#;
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
}
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
;
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
return self::CustomJSAny|constructor#(_);
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* = dart._interceptors::JSObject */ _) → self::CustomJSObject /* = dart._interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
;
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* = dart._interceptors::JSObject */ _) → self::CustomJSObject /* = dart._interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
return self::CustomJSObject|constructor#(_);
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
;
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
return self::CustomTypedArray|constructor#(_);
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */
;
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */
return self::CustomJSArray|constructor#(_);
static method test(js_::JSAny /* = dart.core::Object */ any) → void
static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void
;
static method main() → void
;

View file

@ -6,52 +6,52 @@ import "dart:js_interop_unsafe" as js_2;
import "dart:js_interop";
extension type CustomJSAny(js_::JSAny /* = dart.core::Object */ _) implements js_::JSAny /* = dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* = dart.core::Object */;
extension type CustomJSAny(js_::JSAny /* erasure=dart.core::Object */ _) implements js_::JSAny /* erasure=dart.core::Object */ {
abstract extension-type-member representation-field get _() → js_::JSAny /* erasure=dart.core::Object */;
constructor • = self::CustomJSAny|constructor#;
constructor tearoff • = self::CustomJSAny|constructor#_#new#tearOff;
}
extension type CustomJSObject(js_::JSObject /* = dart._interceptors::JSObject */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* = dart._interceptors::JSObject */;
extension type CustomJSObject(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSObject /* erasure=dart._interceptors::JSObject */;
constructor • = self::CustomJSObject|constructor#;
constructor tearoff • = self::CustomJSObject|constructor#_#new#tearOff;
}
extension type CustomTypedArray(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */;
extension type CustomTypedArray(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */;
constructor • = self::CustomTypedArray|constructor#;
constructor tearoff • = self::CustomTypedArray|constructor#_#new#tearOff;
}
@#C4
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* = dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */;
extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) implements js_::JSObject /* erasure=dart._interceptors::JSObject */ {
abstract extension-type-member representation-field get _() → js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */;
constructor • = self::CustomJSArray|constructor#;
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
}
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */ {
lowered final self::CustomJSAny /* = dart.core::Object */ #this = _;
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */ {
lowered final self::CustomJSAny /* erasure=dart.core::Object */ #this = _;
return #this;
}
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* = dart.core::Object */ _) → self::CustomJSAny /* = dart.core::Object */
static extension-type-member method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=dart.core::Object */ _) → self::CustomJSAny /* erasure=dart.core::Object */
return self::CustomJSAny|constructor#(_);
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* = dart._interceptors::JSObject */ _) → self::CustomJSObject /* = dart._interceptors::JSObject */ {
lowered final self::CustomJSObject /* = dart._interceptors::JSObject */ #this = _;
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */ {
lowered final self::CustomJSObject /* erasure=dart._interceptors::JSObject */ #this = _;
return #this;
}
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* = dart._interceptors::JSObject */ _) → self::CustomJSObject /* = dart._interceptors::JSObject */
static extension-type-member method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
return self::CustomJSObject|constructor#(_);
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */ #this = _;
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
return #this;
}
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* = dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* = dart.typed_data.implementation::NativeTypedData */
static extension-type-member method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
return self::CustomTypedArray|constructor#(_);
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */ #this = _;
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ {
lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ #this = _;
return #this;
}
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* = dart.core::Object? */> /* = dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* = dart._interceptors::JSArray<dart.core::Object?> */
static extension-type-member method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=dart.core::Object? */> /* erasure=dart._interceptors::JSArray<dart.core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<dart.core::Object?> */
return self::CustomJSArray|constructor#(_);
static method test(js_::JSAny /* = dart.core::Object */ any) → void {
static method test(js_::JSAny /* erasure=dart.core::Object */ any) → void {
!(any == null);
true;
!(any == null) && js_::JSAnyUtilityExtension|typeofEquals(any, "string");
@ -63,14 +63,14 @@ static method test(js_::JSAny /* = dart.core::Object */ any) → void {
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
any == null || js_::JSAnyUtilityExtension|instanceOfString(any, "Object");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "Array");
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* = dart._interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as{ForLegacy} js_::JSObject /* = dart._interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* = dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as{ForLegacy} js_::JSObject /* = dart._interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceof(any, js_2::JSObjectUnsafeUtilExtension|callMethodVarArgs<js_::JSFunction /* erasure=dart._interceptors::JavaScriptFunction */>(js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Object") as{ForLegacy} js_::JSObject /* erasure=dart._interceptors::JSObject */, js_::StringToJSString|get#toJS("getPrototypeOf"), <js_::JSAny? /* erasure=dart.core::Object? */>[js_2::JSObjectUnsafeUtilExtension|[](js_::globalContext, "Int8Array") as{ForLegacy} js_::JSObject /* erasure=dart._interceptors::JSObject */]));
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSAny");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomJSObject");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.CustomTypedArray");
!(any == null) && js_::JSAnyUtilityExtension|instanceOfString(any, "library1.RenamedJSArray");
let final js_::JSAny? /* = dart.core::Object? */ #t1 = (() → js_::JSAny /* = dart.core::Object */ {
let final js_::JSAny? /* erasure=dart.core::Object? */ #t1 = (() → js_::JSAny /* erasure=dart.core::Object */ {
return any;
})(){() → js_::JSAny /* = dart.core::Object */} in !(#t1 == null);
})(){() → js_::JSAny /* erasure=dart.core::Object */} in !(#t1 == null);
}
static method main() → void {}

View file

@ -1,4 +1,4 @@
Errors: {
}
static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(#lib1::Foo /* = dart.core::int */ f) → dynamic
static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(#lib1::Foo% /* erasure=dart.core::int, declared=! */ f) → dynamic
return f as{Unchecked} dart.core::int;

View file

@ -1,4 +1,4 @@
Errors: {
}
static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(#lib1::Bar /* = dart.core::String */ x) → dynamic
static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(#lib1::Bar% /* erasure=dart.core::String, declared=! */ x) → dynamic
return #lib1::Bar|printBar(x);

View file

@ -1,4 +1,4 @@
Errors: {
}
static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(#lib1::Foo /* = dart.core::int */ x) → dynamic
static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(#lib1::Foo% /* erasure=dart.core::int, declared=! */ x) → dynamic
return #lib1::Foo|printFoo(x);

View file

@ -1,4 +1,4 @@
Errors: {
}
static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(#lib1::Foo /* = dart.core::int */ f, dart.core::List<#lib1::Foo /* = dart.core::int */> foos) → dynamic
return foos.{dart.core::Iterable::first}{#lib1::Foo /* = dart.core::int */} as{Unchecked} dart.core::int;
static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(#lib1::Foo% /* erasure=dart.core::int, declared=! */ f, dart.core::List<#lib1::Foo% /* erasure=dart.core::int, declared=! */> foos) → dynamic
return foos.{dart.core::Iterable::first}{#lib1::Foo% /* erasure=dart.core::int, declared=! */} as{Unchecked} dart.core::int;

View file

@ -1,4 +1,4 @@
Errors: {
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::Foo /* = dart.core::int */ #this) → dynamic
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::Foo% /* erasure=dart.core::int, declared=! */ #this) → dynamic
return #this as{Unchecked} dart.core::int;

View file

@ -129,57 +129,57 @@ extension type ET6(self::A id) implements self::A {
constructor • = self::ET6|constructor#;
constructor tearoff • = self::ET6|constructor#_#new#tearOff;
}
static extension-type-member method ET1|constructor#(core::int id) → self::ET1 /* = core::int */ {
lowered final self::ET1 /* = core::int */ #this = id;
static extension-type-member method ET1|constructor#(core::int id) → self::ET1% /* erasure=core::int, declared=! */ {
lowered final self::ET1% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1 /* = core::int */
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1% /* erasure=core::int, declared=! */
return self::ET1|constructor#(id);
static abstract extension-type-member get ET1|m() → core::int;
static abstract extension-type-member set ET1|m(synthesized core::int #externalFieldValue) → void;
static extension-type-member method ET2|constructor#<T extends core::Object? = dynamic>(self::ET2|constructor#::T% id) → self::ET2<self::ET2|constructor#::T%> /* = self::ET2|constructor#::T% */ {
lowered final self::ET2<self::ET2|constructor#::T%> /* = self::ET2|constructor#::T% */ #this = id;
static extension-type-member method ET2|constructor#<T extends core::Object? = dynamic>(self::ET2|constructor#::T% id) → self::ET2<self::ET2|constructor#::T%>% /* erasure=self::ET2|constructor#::T%, declared=! */ {
lowered final self::ET2<self::ET2|constructor#::T%>% /* erasure=self::ET2|constructor#::T%, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|constructor#_#new#tearOff::T% id) → self::ET2<self::ET2|constructor#_#new#tearOff::T%> /* = self::ET2|constructor#_#new#tearOff::T% */
static extension-type-member method ET2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|constructor#_#new#tearOff::T% id) → self::ET2<self::ET2|constructor#_#new#tearOff::T%>% /* erasure=self::ET2|constructor#_#new#tearOff::T%, declared=! */
return self::ET2|constructor#<self::ET2|constructor#_#new#tearOff::T%>(id);
static abstract extension-type-member method ET2|get#getter<T extends core::Object? = dynamic>(lowered final self::ET2<self::ET2|get#getter::T%> /* = self::ET2|get#getter::T% */ #this) → self::ET2|get#getter::T%;
static extension-type-member method ET3|constructor#(core::int id) → self::ET3 /* = core::int */ {
lowered final self::ET3 /* = core::int */ #this = id;
static abstract extension-type-member method ET2|get#getter<T extends core::Object? = dynamic>(lowered final self::ET2<self::ET2|get#getter::T%>% /* erasure=self::ET2|get#getter::T%, declared=! */ #this) → self::ET2|get#getter::T%;
static extension-type-member method ET3|constructor#(core::int id) → self::ET3% /* erasure=core::int, declared=! */ {
lowered final self::ET3% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET3|constructor#_#new#tearOff(core::int id) → self::ET3 /* = core::int */
static extension-type-member method ET3|constructor#_#new#tearOff(core::int id) → self::ET3% /* erasure=core::int, declared=! */
return self::ET3|constructor#(id);
static abstract extension-type-member method ET3|setter(lowered final self::ET3 /* = core::int */ #this, core::int x) → void;
static extension-type-member method ET3|get#setter(lowered final self::ET3 /* = core::int */ #this) → (core::int) → void
static abstract extension-type-member method ET3|setter(lowered final self::ET3% /* erasure=core::int, declared=! */ #this, core::int x) → void;
static extension-type-member method ET3|get#setter(lowered final self::ET3% /* erasure=core::int, declared=! */ #this) → (core::int) → void
return (core::int x) → void => self::ET3|setter(#this, x);
static extension-type-member method ET4|constructor#<T extends core::Object? = dynamic>(self::ET4|constructor#::T% id) → self::ET4<self::ET4|constructor#::T%> /* = self::ET4|constructor#::T% */ {
lowered final self::ET4<self::ET4|constructor#::T%> /* = self::ET4|constructor#::T% */ #this = id;
static extension-type-member method ET4|constructor#<T extends core::Object? = dynamic>(self::ET4|constructor#::T% id) → self::ET4<self::ET4|constructor#::T%>% /* erasure=self::ET4|constructor#::T%, declared=! */ {
lowered final self::ET4<self::ET4|constructor#::T%>% /* erasure=self::ET4|constructor#::T%, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET4|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|constructor#_#new#tearOff::T% id) → self::ET4<self::ET4|constructor#_#new#tearOff::T%> /* = self::ET4|constructor#_#new#tearOff::T% */
static extension-type-member method ET4|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|constructor#_#new#tearOff::T% id) → self::ET4<self::ET4|constructor#_#new#tearOff::T%>% /* erasure=self::ET4|constructor#_#new#tearOff::T%, declared=! */
return self::ET4|constructor#<self::ET4|constructor#_#new#tearOff::T%>(id);
static abstract extension-type-member method ET4|method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|method::T%> /* = self::ET4|method::T% */ #this) → void;
static extension-type-member method ET4|get#method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|get#method::T%> /* = self::ET4|get#method::T% */ #this) → () → void
static abstract extension-type-member method ET4|method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|method::T%>% /* erasure=self::ET4|method::T%, declared=! */ #this) → void;
static extension-type-member method ET4|get#method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|get#method::T%>% /* erasure=self::ET4|get#method::T%, declared=! */ #this) → () → void
return () → void => self::ET4|method<self::ET4|get#method::T%>(#this);
static extension-type-member method ET5|constructor#(core::int id) → self::ET5 /* = core::int */ {
lowered final self::ET5 /* = core::int */ #this = id;
static extension-type-member method ET5|constructor#(core::int id) → self::ET5% /* erasure=core::int, declared=! */ {
lowered final self::ET5% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET5|constructor#_#new#tearOff(core::int id) → self::ET5 /* = core::int */
static extension-type-member method ET5|constructor#_#new#tearOff(core::int id) → self::ET5% /* erasure=core::int, declared=! */
return self::ET5|constructor#(id);
static abstract extension-type-member method ET5|+(lowered final self::ET5 /* = core::int */ #this, core::int other) → core::int;
static extension-type-member method ET6|constructor#(self::A id) → self::ET6 /* = self::A */ {
lowered final self::ET6 /* = self::A */ #this = id;
static abstract extension-type-member method ET5|+(lowered final self::ET5% /* erasure=core::int, declared=! */ #this, core::int other) → core::int;
static extension-type-member method ET6|constructor#(self::A id) → self::ET6 /* erasure=self::A */ {
lowered final self::ET6 /* erasure=self::A */ #this = id;
return #this;
}
static extension-type-member method ET6|constructor#_#new#tearOff(self::A id) → self::ET6 /* = self::A */
static extension-type-member method ET6|constructor#_#new#tearOff(self::A id) → self::ET6 /* erasure=self::A */
return self::ET6|constructor#(id);
static abstract extension-type-member method ET6|method(lowered final self::ET6 /* = self::A */ #this) → core::int;
static extension-type-member method ET6|get#method(lowered final self::ET6 /* = self::A */ #this) → () → core::int
static abstract extension-type-member method ET6|method(lowered final self::ET6 /* erasure=self::A */ #this) → core::int;
static extension-type-member method ET6|get#method(lowered final self::ET6 /* erasure=self::A */ #this) → () → core::int
return () → core::int => self::ET6|method(#this);
static abstract extension-type-member method ET6|get#getter(lowered final self::ET6 /* = self::A */ #this) → core::int;
static abstract extension-type-member method ET6|set#setter(lowered final self::ET6 /* = self::A */ #this, core::int v) → void;
static abstract extension-type-member method ET6|get#getter(lowered final self::ET6 /* erasure=self::A */ #this) → core::int;
static abstract extension-type-member method ET6|set#setter(lowered final self::ET6 /* erasure=self::A */ #this, core::int v) → void;
static abstract extension-member get E|m() → core::int;
static abstract extension-member set E|m(synthesized core::int #externalFieldValue) → void;
static abstract extension-member method E|method(lowered final self::A #this) → core::int;

View file

@ -129,57 +129,57 @@ extension type ET6(self::A id) implements self::A {
constructor • = self::ET6|constructor#;
constructor tearoff • = self::ET6|constructor#_#new#tearOff;
}
static extension-type-member method ET1|constructor#(core::int id) → self::ET1 /* = core::int */ {
lowered final self::ET1 /* = core::int */ #this = id;
static extension-type-member method ET1|constructor#(core::int id) → self::ET1% /* erasure=core::int, declared=! */ {
lowered final self::ET1% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1 /* = core::int */
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1% /* erasure=core::int, declared=! */
return self::ET1|constructor#(id);
static abstract extension-type-member get ET1|m() → core::int;
static abstract extension-type-member set ET1|m(synthesized core::int #externalFieldValue) → void;
static extension-type-member method ET2|constructor#<T extends core::Object? = dynamic>(self::ET2|constructor#::T% id) → self::ET2<self::ET2|constructor#::T%> /* = self::ET2|constructor#::T% */ {
lowered final self::ET2<self::ET2|constructor#::T%> /* = self::ET2|constructor#::T% */ #this = id;
static extension-type-member method ET2|constructor#<T extends core::Object? = dynamic>(self::ET2|constructor#::T% id) → self::ET2<self::ET2|constructor#::T%>% /* erasure=self::ET2|constructor#::T%, declared=! */ {
lowered final self::ET2<self::ET2|constructor#::T%>% /* erasure=self::ET2|constructor#::T%, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|constructor#_#new#tearOff::T% id) → self::ET2<self::ET2|constructor#_#new#tearOff::T%> /* = self::ET2|constructor#_#new#tearOff::T% */
static extension-type-member method ET2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|constructor#_#new#tearOff::T% id) → self::ET2<self::ET2|constructor#_#new#tearOff::T%>% /* erasure=self::ET2|constructor#_#new#tearOff::T%, declared=! */
return self::ET2|constructor#<self::ET2|constructor#_#new#tearOff::T%>(id);
static abstract extension-type-member method ET2|get#getter<T extends core::Object? = dynamic>(lowered final self::ET2<self::ET2|get#getter::T%> /* = self::ET2|get#getter::T% */ #this) → self::ET2|get#getter::T%;
static extension-type-member method ET3|constructor#(core::int id) → self::ET3 /* = core::int */ {
lowered final self::ET3 /* = core::int */ #this = id;
static abstract extension-type-member method ET2|get#getter<T extends core::Object? = dynamic>(lowered final self::ET2<self::ET2|get#getter::T%>% /* erasure=self::ET2|get#getter::T%, declared=! */ #this) → self::ET2|get#getter::T%;
static extension-type-member method ET3|constructor#(core::int id) → self::ET3% /* erasure=core::int, declared=! */ {
lowered final self::ET3% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET3|constructor#_#new#tearOff(core::int id) → self::ET3 /* = core::int */
static extension-type-member method ET3|constructor#_#new#tearOff(core::int id) → self::ET3% /* erasure=core::int, declared=! */
return self::ET3|constructor#(id);
static abstract extension-type-member method ET3|setter(lowered final self::ET3 /* = core::int */ #this, core::int x) → void;
static extension-type-member method ET3|get#setter(lowered final self::ET3 /* = core::int */ #this) → (core::int) → void
static abstract extension-type-member method ET3|setter(lowered final self::ET3% /* erasure=core::int, declared=! */ #this, core::int x) → void;
static extension-type-member method ET3|get#setter(lowered final self::ET3% /* erasure=core::int, declared=! */ #this) → (core::int) → void
return (core::int x) → void => self::ET3|setter(#this, x);
static extension-type-member method ET4|constructor#<T extends core::Object? = dynamic>(self::ET4|constructor#::T% id) → self::ET4<self::ET4|constructor#::T%> /* = self::ET4|constructor#::T% */ {
lowered final self::ET4<self::ET4|constructor#::T%> /* = self::ET4|constructor#::T% */ #this = id;
static extension-type-member method ET4|constructor#<T extends core::Object? = dynamic>(self::ET4|constructor#::T% id) → self::ET4<self::ET4|constructor#::T%>% /* erasure=self::ET4|constructor#::T%, declared=! */ {
lowered final self::ET4<self::ET4|constructor#::T%>% /* erasure=self::ET4|constructor#::T%, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET4|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|constructor#_#new#tearOff::T% id) → self::ET4<self::ET4|constructor#_#new#tearOff::T%> /* = self::ET4|constructor#_#new#tearOff::T% */
static extension-type-member method ET4|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|constructor#_#new#tearOff::T% id) → self::ET4<self::ET4|constructor#_#new#tearOff::T%>% /* erasure=self::ET4|constructor#_#new#tearOff::T%, declared=! */
return self::ET4|constructor#<self::ET4|constructor#_#new#tearOff::T%>(id);
static abstract extension-type-member method ET4|method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|method::T%> /* = self::ET4|method::T% */ #this) → void;
static extension-type-member method ET4|get#method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|get#method::T%> /* = self::ET4|get#method::T% */ #this) → () → void
static abstract extension-type-member method ET4|method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|method::T%>% /* erasure=self::ET4|method::T%, declared=! */ #this) → void;
static extension-type-member method ET4|get#method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|get#method::T%>% /* erasure=self::ET4|get#method::T%, declared=! */ #this) → () → void
return () → void => self::ET4|method<self::ET4|get#method::T%>(#this);
static extension-type-member method ET5|constructor#(core::int id) → self::ET5 /* = core::int */ {
lowered final self::ET5 /* = core::int */ #this = id;
static extension-type-member method ET5|constructor#(core::int id) → self::ET5% /* erasure=core::int, declared=! */ {
lowered final self::ET5% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET5|constructor#_#new#tearOff(core::int id) → self::ET5 /* = core::int */
static extension-type-member method ET5|constructor#_#new#tearOff(core::int id) → self::ET5% /* erasure=core::int, declared=! */
return self::ET5|constructor#(id);
static abstract extension-type-member method ET5|+(lowered final self::ET5 /* = core::int */ #this, core::int other) → core::int;
static extension-type-member method ET6|constructor#(self::A id) → self::ET6 /* = self::A */ {
lowered final self::ET6 /* = self::A */ #this = id;
static abstract extension-type-member method ET5|+(lowered final self::ET5% /* erasure=core::int, declared=! */ #this, core::int other) → core::int;
static extension-type-member method ET6|constructor#(self::A id) → self::ET6 /* erasure=self::A */ {
lowered final self::ET6 /* erasure=self::A */ #this = id;
return #this;
}
static extension-type-member method ET6|constructor#_#new#tearOff(self::A id) → self::ET6 /* = self::A */
static extension-type-member method ET6|constructor#_#new#tearOff(self::A id) → self::ET6 /* erasure=self::A */
return self::ET6|constructor#(id);
static abstract extension-type-member method ET6|method(lowered final self::ET6 /* = self::A */ #this) → core::int;
static extension-type-member method ET6|get#method(lowered final self::ET6 /* = self::A */ #this) → () → core::int
static abstract extension-type-member method ET6|method(lowered final self::ET6 /* erasure=self::A */ #this) → core::int;
static extension-type-member method ET6|get#method(lowered final self::ET6 /* erasure=self::A */ #this) → () → core::int
return () → core::int => self::ET6|method(#this);
static abstract extension-type-member method ET6|get#getter(lowered final self::ET6 /* = self::A */ #this) → core::int;
static abstract extension-type-member method ET6|set#setter(lowered final self::ET6 /* = self::A */ #this, core::int v) → void;
static abstract extension-type-member method ET6|get#getter(lowered final self::ET6 /* erasure=self::A */ #this) → core::int;
static abstract extension-type-member method ET6|set#setter(lowered final self::ET6 /* erasure=self::A */ #this, core::int v) → void;
static abstract extension-member get E|m() → core::int;
static abstract extension-member set E|m(synthesized core::int #externalFieldValue) → void;
static abstract extension-member method E|method(lowered final self::A #this) → core::int;

View file

@ -129,57 +129,57 @@ extension type ET6(self::A id) implements self::A {
constructor • = self::ET6|constructor#;
constructor tearoff • = self::ET6|constructor#_#new#tearOff;
}
static extension-type-member method ET1|constructor#(core::int id) → self::ET1 /* = core::int */ {
lowered final self::ET1 /* = core::int */ #this = id;
static extension-type-member method ET1|constructor#(core::int id) → self::ET1% /* erasure=core::int, declared=! */ {
lowered final self::ET1% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1 /* = core::int */
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1% /* erasure=core::int, declared=! */
return self::ET1|constructor#(id);
static abstract extension-type-member get ET1|m() → core::int;
static abstract extension-type-member set ET1|m(synthesized core::int #externalFieldValue) → void;
static extension-type-member method ET2|constructor#<T extends core::Object? = dynamic>(self::ET2|constructor#::T% id) → self::ET2<self::ET2|constructor#::T%> /* = self::ET2|constructor#::T% */ {
lowered final self::ET2<self::ET2|constructor#::T%> /* = self::ET2|constructor#::T% */ #this = id;
static extension-type-member method ET2|constructor#<T extends core::Object? = dynamic>(self::ET2|constructor#::T% id) → self::ET2<self::ET2|constructor#::T%>% /* erasure=self::ET2|constructor#::T%, declared=! */ {
lowered final self::ET2<self::ET2|constructor#::T%>% /* erasure=self::ET2|constructor#::T%, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|constructor#_#new#tearOff::T% id) → self::ET2<self::ET2|constructor#_#new#tearOff::T%> /* = self::ET2|constructor#_#new#tearOff::T% */
static extension-type-member method ET2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|constructor#_#new#tearOff::T% id) → self::ET2<self::ET2|constructor#_#new#tearOff::T%>% /* erasure=self::ET2|constructor#_#new#tearOff::T%, declared=! */
return self::ET2|constructor#<self::ET2|constructor#_#new#tearOff::T%>(id);
static abstract extension-type-member method ET2|get#getter<T extends core::Object? = dynamic>(lowered final self::ET2<self::ET2|get#getter::T%> /* = self::ET2|get#getter::T% */ #this) → self::ET2|get#getter::T%;
static extension-type-member method ET3|constructor#(core::int id) → self::ET3 /* = core::int */ {
lowered final self::ET3 /* = core::int */ #this = id;
static abstract extension-type-member method ET2|get#getter<T extends core::Object? = dynamic>(lowered final self::ET2<self::ET2|get#getter::T%>% /* erasure=self::ET2|get#getter::T%, declared=! */ #this) → self::ET2|get#getter::T%;
static extension-type-member method ET3|constructor#(core::int id) → self::ET3% /* erasure=core::int, declared=! */ {
lowered final self::ET3% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET3|constructor#_#new#tearOff(core::int id) → self::ET3 /* = core::int */
static extension-type-member method ET3|constructor#_#new#tearOff(core::int id) → self::ET3% /* erasure=core::int, declared=! */
return self::ET3|constructor#(id);
static abstract extension-type-member method ET3|setter(lowered final self::ET3 /* = core::int */ #this, core::int x) → void;
static extension-type-member method ET3|get#setter(lowered final self::ET3 /* = core::int */ #this) → (core::int) → void
static abstract extension-type-member method ET3|setter(lowered final self::ET3% /* erasure=core::int, declared=! */ #this, core::int x) → void;
static extension-type-member method ET3|get#setter(lowered final self::ET3% /* erasure=core::int, declared=! */ #this) → (core::int) → void
return (core::int x) → void => self::ET3|setter(#this, x);
static extension-type-member method ET4|constructor#<T extends core::Object? = dynamic>(self::ET4|constructor#::T% id) → self::ET4<self::ET4|constructor#::T%> /* = self::ET4|constructor#::T% */ {
lowered final self::ET4<self::ET4|constructor#::T%> /* = self::ET4|constructor#::T% */ #this = id;
static extension-type-member method ET4|constructor#<T extends core::Object? = dynamic>(self::ET4|constructor#::T% id) → self::ET4<self::ET4|constructor#::T%>% /* erasure=self::ET4|constructor#::T%, declared=! */ {
lowered final self::ET4<self::ET4|constructor#::T%>% /* erasure=self::ET4|constructor#::T%, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET4|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|constructor#_#new#tearOff::T% id) → self::ET4<self::ET4|constructor#_#new#tearOff::T%> /* = self::ET4|constructor#_#new#tearOff::T% */
static extension-type-member method ET4|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|constructor#_#new#tearOff::T% id) → self::ET4<self::ET4|constructor#_#new#tearOff::T%>% /* erasure=self::ET4|constructor#_#new#tearOff::T%, declared=! */
return self::ET4|constructor#<self::ET4|constructor#_#new#tearOff::T%>(id);
static abstract extension-type-member method ET4|method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|method::T%> /* = self::ET4|method::T% */ #this) → void;
static extension-type-member method ET4|get#method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|get#method::T%> /* = self::ET4|get#method::T% */ #this) → () → void
static abstract extension-type-member method ET4|method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|method::T%>% /* erasure=self::ET4|method::T%, declared=! */ #this) → void;
static extension-type-member method ET4|get#method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|get#method::T%>% /* erasure=self::ET4|get#method::T%, declared=! */ #this) → () → void
return () → void => self::ET4|method<self::ET4|get#method::T%>(#this);
static extension-type-member method ET5|constructor#(core::int id) → self::ET5 /* = core::int */ {
lowered final self::ET5 /* = core::int */ #this = id;
static extension-type-member method ET5|constructor#(core::int id) → self::ET5% /* erasure=core::int, declared=! */ {
lowered final self::ET5% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET5|constructor#_#new#tearOff(core::int id) → self::ET5 /* = core::int */
static extension-type-member method ET5|constructor#_#new#tearOff(core::int id) → self::ET5% /* erasure=core::int, declared=! */
return self::ET5|constructor#(id);
static abstract extension-type-member method ET5|+(lowered final self::ET5 /* = core::int */ #this, core::int other) → core::int;
static extension-type-member method ET6|constructor#(self::A id) → self::ET6 /* = self::A */ {
lowered final self::ET6 /* = self::A */ #this = id;
static abstract extension-type-member method ET5|+(lowered final self::ET5% /* erasure=core::int, declared=! */ #this, core::int other) → core::int;
static extension-type-member method ET6|constructor#(self::A id) → self::ET6 /* erasure=self::A */ {
lowered final self::ET6 /* erasure=self::A */ #this = id;
return #this;
}
static extension-type-member method ET6|constructor#_#new#tearOff(self::A id) → self::ET6 /* = self::A */
static extension-type-member method ET6|constructor#_#new#tearOff(self::A id) → self::ET6 /* erasure=self::A */
return self::ET6|constructor#(id);
static abstract extension-type-member method ET6|method(lowered final self::ET6 /* = self::A */ #this) → core::int;
static extension-type-member method ET6|get#method(lowered final self::ET6 /* = self::A */ #this) → () → core::int
static abstract extension-type-member method ET6|method(lowered final self::ET6 /* erasure=self::A */ #this) → core::int;
static extension-type-member method ET6|get#method(lowered final self::ET6 /* erasure=self::A */ #this) → () → core::int
return () → core::int => self::ET6|method(#this);
static abstract extension-type-member method ET6|get#getter(lowered final self::ET6 /* = self::A */ #this) → core::int;
static abstract extension-type-member method ET6|set#setter(lowered final self::ET6 /* = self::A */ #this, core::int v) → void;
static abstract extension-type-member method ET6|get#getter(lowered final self::ET6 /* erasure=self::A */ #this) → core::int;
static abstract extension-type-member method ET6|set#setter(lowered final self::ET6 /* erasure=self::A */ #this, core::int v) → void;
static abstract extension-member get E|m() → core::int;
static abstract extension-member set E|m(synthesized core::int #externalFieldValue) → void;
static abstract extension-member method E|method(lowered final self::A #this) → core::int;

View file

@ -129,57 +129,57 @@ extension type ET6(self::A id) implements self::A {
constructor • = self::ET6|constructor#;
constructor tearoff • = self::ET6|constructor#_#new#tearOff;
}
static extension-type-member method ET1|constructor#(core::int id) → self::ET1 /* = core::int */ {
lowered final self::ET1 /* = core::int */ #this = id;
static extension-type-member method ET1|constructor#(core::int id) → self::ET1% /* erasure=core::int, declared=! */ {
lowered final self::ET1% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1 /* = core::int */
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1% /* erasure=core::int, declared=! */
return self::ET1|constructor#(id);
static abstract extension-type-member get ET1|m() → core::int;
static abstract extension-type-member set ET1|m(synthesized core::int #externalFieldValue) → void;
static extension-type-member method ET2|constructor#<T extends core::Object? = dynamic>(self::ET2|constructor#::T% id) → self::ET2<self::ET2|constructor#::T%> /* = self::ET2|constructor#::T% */ {
lowered final self::ET2<self::ET2|constructor#::T%> /* = self::ET2|constructor#::T% */ #this = id;
static extension-type-member method ET2|constructor#<T extends core::Object? = dynamic>(self::ET2|constructor#::T% id) → self::ET2<self::ET2|constructor#::T%>% /* erasure=self::ET2|constructor#::T%, declared=! */ {
lowered final self::ET2<self::ET2|constructor#::T%>% /* erasure=self::ET2|constructor#::T%, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|constructor#_#new#tearOff::T% id) → self::ET2<self::ET2|constructor#_#new#tearOff::T%> /* = self::ET2|constructor#_#new#tearOff::T% */
static extension-type-member method ET2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|constructor#_#new#tearOff::T% id) → self::ET2<self::ET2|constructor#_#new#tearOff::T%>% /* erasure=self::ET2|constructor#_#new#tearOff::T%, declared=! */
return self::ET2|constructor#<self::ET2|constructor#_#new#tearOff::T%>(id);
static abstract extension-type-member method ET2|get#getter<T extends core::Object? = dynamic>(lowered final self::ET2<self::ET2|get#getter::T%> /* = self::ET2|get#getter::T% */ #this) → self::ET2|get#getter::T%;
static extension-type-member method ET3|constructor#(core::int id) → self::ET3 /* = core::int */ {
lowered final self::ET3 /* = core::int */ #this = id;
static abstract extension-type-member method ET2|get#getter<T extends core::Object? = dynamic>(lowered final self::ET2<self::ET2|get#getter::T%>% /* erasure=self::ET2|get#getter::T%, declared=! */ #this) → self::ET2|get#getter::T%;
static extension-type-member method ET3|constructor#(core::int id) → self::ET3% /* erasure=core::int, declared=! */ {
lowered final self::ET3% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET3|constructor#_#new#tearOff(core::int id) → self::ET3 /* = core::int */
static extension-type-member method ET3|constructor#_#new#tearOff(core::int id) → self::ET3% /* erasure=core::int, declared=! */
return self::ET3|constructor#(id);
static abstract extension-type-member method ET3|setter(lowered final self::ET3 /* = core::int */ #this, core::int x) → void;
static extension-type-member method ET3|get#setter(lowered final self::ET3 /* = core::int */ #this) → (core::int) → void
static abstract extension-type-member method ET3|setter(lowered final self::ET3% /* erasure=core::int, declared=! */ #this, core::int x) → void;
static extension-type-member method ET3|get#setter(lowered final self::ET3% /* erasure=core::int, declared=! */ #this) → (core::int) → void
return (core::int x) → void => self::ET3|setter(#this, x);
static extension-type-member method ET4|constructor#<T extends core::Object? = dynamic>(self::ET4|constructor#::T% id) → self::ET4<self::ET4|constructor#::T%> /* = self::ET4|constructor#::T% */ {
lowered final self::ET4<self::ET4|constructor#::T%> /* = self::ET4|constructor#::T% */ #this = id;
static extension-type-member method ET4|constructor#<T extends core::Object? = dynamic>(self::ET4|constructor#::T% id) → self::ET4<self::ET4|constructor#::T%>% /* erasure=self::ET4|constructor#::T%, declared=! */ {
lowered final self::ET4<self::ET4|constructor#::T%>% /* erasure=self::ET4|constructor#::T%, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET4|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|constructor#_#new#tearOff::T% id) → self::ET4<self::ET4|constructor#_#new#tearOff::T%> /* = self::ET4|constructor#_#new#tearOff::T% */
static extension-type-member method ET4|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|constructor#_#new#tearOff::T% id) → self::ET4<self::ET4|constructor#_#new#tearOff::T%>% /* erasure=self::ET4|constructor#_#new#tearOff::T%, declared=! */
return self::ET4|constructor#<self::ET4|constructor#_#new#tearOff::T%>(id);
static abstract extension-type-member method ET4|method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|method::T%> /* = self::ET4|method::T% */ #this) → void;
static extension-type-member method ET4|get#method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|get#method::T%> /* = self::ET4|get#method::T% */ #this) → () → void
static abstract extension-type-member method ET4|method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|method::T%>% /* erasure=self::ET4|method::T%, declared=! */ #this) → void;
static extension-type-member method ET4|get#method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|get#method::T%>% /* erasure=self::ET4|get#method::T%, declared=! */ #this) → () → void
return () → void => self::ET4|method<self::ET4|get#method::T%>(#this);
static extension-type-member method ET5|constructor#(core::int id) → self::ET5 /* = core::int */ {
lowered final self::ET5 /* = core::int */ #this = id;
static extension-type-member method ET5|constructor#(core::int id) → self::ET5% /* erasure=core::int, declared=! */ {
lowered final self::ET5% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET5|constructor#_#new#tearOff(core::int id) → self::ET5 /* = core::int */
static extension-type-member method ET5|constructor#_#new#tearOff(core::int id) → self::ET5% /* erasure=core::int, declared=! */
return self::ET5|constructor#(id);
static abstract extension-type-member method ET5|+(lowered final self::ET5 /* = core::int */ #this, core::int other) → core::int;
static extension-type-member method ET6|constructor#(self::A id) → self::ET6 /* = self::A */ {
lowered final self::ET6 /* = self::A */ #this = id;
static abstract extension-type-member method ET5|+(lowered final self::ET5% /* erasure=core::int, declared=! */ #this, core::int other) → core::int;
static extension-type-member method ET6|constructor#(self::A id) → self::ET6 /* erasure=self::A */ {
lowered final self::ET6 /* erasure=self::A */ #this = id;
return #this;
}
static extension-type-member method ET6|constructor#_#new#tearOff(self::A id) → self::ET6 /* = self::A */
static extension-type-member method ET6|constructor#_#new#tearOff(self::A id) → self::ET6 /* erasure=self::A */
return self::ET6|constructor#(id);
static abstract extension-type-member method ET6|method(lowered final self::ET6 /* = self::A */ #this) → core::int;
static extension-type-member method ET6|get#method(lowered final self::ET6 /* = self::A */ #this) → () → core::int
static abstract extension-type-member method ET6|method(lowered final self::ET6 /* erasure=self::A */ #this) → core::int;
static extension-type-member method ET6|get#method(lowered final self::ET6 /* erasure=self::A */ #this) → () → core::int
return () → core::int => self::ET6|method(#this);
static abstract extension-type-member method ET6|get#getter(lowered final self::ET6 /* = self::A */ #this) → core::int;
static abstract extension-type-member method ET6|set#setter(lowered final self::ET6 /* = self::A */ #this, core::int v) → void;
static abstract extension-type-member method ET6|get#getter(lowered final self::ET6 /* erasure=self::A */ #this) → core::int;
static abstract extension-type-member method ET6|set#setter(lowered final self::ET6 /* erasure=self::A */ #this, core::int v) → void;
static abstract extension-member get E|m() → core::int;
static abstract extension-member set E|m(synthesized core::int #externalFieldValue) → void;
static abstract extension-member method E|method(lowered final self::A #this) → core::int;

View file

@ -128,45 +128,45 @@ extension type ET6(self::A id) implements self::A {
constructor • = self::ET6|constructor#;
constructor tearoff • = self::ET6|constructor#_#new#tearOff;
}
static extension-type-member method ET1|constructor#(core::int id) → self::ET1 /* = core::int */
static extension-type-member method ET1|constructor#(core::int id) → self::ET1% /* erasure=core::int, declared=! */
;
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1 /* = core::int */
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1% /* erasure=core::int, declared=! */
return self::ET1|constructor#(id);
static abstract extension-type-member get ET1|m() → core::int;
static abstract extension-type-member set ET1|m(synthesized core::int #externalFieldValue) → void;
static extension-type-member method ET2|constructor#<T extends core::Object? = dynamic>(self::ET2|constructor#::T% id) → self::ET2<self::ET2|constructor#::T%> /* = self::ET2|constructor#::T% */
static extension-type-member method ET2|constructor#<T extends core::Object? = dynamic>(self::ET2|constructor#::T% id) → self::ET2<self::ET2|constructor#::T%>% /* erasure=self::ET2|constructor#::T%, declared=! */
;
static extension-type-member method ET2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|constructor#_#new#tearOff::T% id) → self::ET2<self::ET2|constructor#_#new#tearOff::T%> /* = self::ET2|constructor#_#new#tearOff::T% */
static extension-type-member method ET2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|constructor#_#new#tearOff::T% id) → self::ET2<self::ET2|constructor#_#new#tearOff::T%>% /* erasure=self::ET2|constructor#_#new#tearOff::T%, declared=! */
return self::ET2|constructor#<self::ET2|constructor#_#new#tearOff::T%>(id);
static abstract extension-type-member method ET2|get#getter<T extends core::Object? = dynamic>(lowered final self::ET2<self::ET2|get#getter::T%> /* = self::ET2|get#getter::T% */ #this) → self::ET2|get#getter::T%;
static extension-type-member method ET3|constructor#(core::int id) → self::ET3 /* = core::int */
static abstract extension-type-member method ET2|get#getter<T extends core::Object? = dynamic>(lowered final self::ET2<self::ET2|get#getter::T%>% /* erasure=self::ET2|get#getter::T%, declared=! */ #this) → self::ET2|get#getter::T%;
static extension-type-member method ET3|constructor#(core::int id) → self::ET3% /* erasure=core::int, declared=! */
;
static extension-type-member method ET3|constructor#_#new#tearOff(core::int id) → self::ET3 /* = core::int */
static extension-type-member method ET3|constructor#_#new#tearOff(core::int id) → self::ET3% /* erasure=core::int, declared=! */
return self::ET3|constructor#(id);
static abstract extension-type-member method ET3|setter(lowered final self::ET3 /* = core::int */ #this, core::int x) → void;
static extension-type-member method ET3|get#setter(lowered final self::ET3 /* = core::int */ #this) → (core::int) → void
static abstract extension-type-member method ET3|setter(lowered final self::ET3% /* erasure=core::int, declared=! */ #this, core::int x) → void;
static extension-type-member method ET3|get#setter(lowered final self::ET3% /* erasure=core::int, declared=! */ #this) → (core::int) → void
return (core::int x) → void => self::ET3|setter(#this, x);
static extension-type-member method ET4|constructor#<T extends core::Object? = dynamic>(self::ET4|constructor#::T% id) → self::ET4<self::ET4|constructor#::T%> /* = self::ET4|constructor#::T% */
static extension-type-member method ET4|constructor#<T extends core::Object? = dynamic>(self::ET4|constructor#::T% id) → self::ET4<self::ET4|constructor#::T%>% /* erasure=self::ET4|constructor#::T%, declared=! */
;
static extension-type-member method ET4|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|constructor#_#new#tearOff::T% id) → self::ET4<self::ET4|constructor#_#new#tearOff::T%> /* = self::ET4|constructor#_#new#tearOff::T% */
static extension-type-member method ET4|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|constructor#_#new#tearOff::T% id) → self::ET4<self::ET4|constructor#_#new#tearOff::T%>% /* erasure=self::ET4|constructor#_#new#tearOff::T%, declared=! */
return self::ET4|constructor#<self::ET4|constructor#_#new#tearOff::T%>(id);
static abstract extension-type-member method ET4|method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|method::T%> /* = self::ET4|method::T% */ #this) → void;
static extension-type-member method ET4|get#method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|get#method::T%> /* = self::ET4|get#method::T% */ #this) → () → void
static abstract extension-type-member method ET4|method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|method::T%>% /* erasure=self::ET4|method::T%, declared=! */ #this) → void;
static extension-type-member method ET4|get#method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|get#method::T%>% /* erasure=self::ET4|get#method::T%, declared=! */ #this) → () → void
return () → void => self::ET4|method<self::ET4|get#method::T%>(#this);
static extension-type-member method ET5|constructor#(core::int id) → self::ET5 /* = core::int */
static extension-type-member method ET5|constructor#(core::int id) → self::ET5% /* erasure=core::int, declared=! */
;
static extension-type-member method ET5|constructor#_#new#tearOff(core::int id) → self::ET5 /* = core::int */
static extension-type-member method ET5|constructor#_#new#tearOff(core::int id) → self::ET5% /* erasure=core::int, declared=! */
return self::ET5|constructor#(id);
static abstract extension-type-member method ET5|+(lowered final self::ET5 /* = core::int */ #this, core::int other) → core::int;
static extension-type-member method ET6|constructor#(self::A id) → self::ET6 /* = self::A */
static abstract extension-type-member method ET5|+(lowered final self::ET5% /* erasure=core::int, declared=! */ #this, core::int other) → core::int;
static extension-type-member method ET6|constructor#(self::A id) → self::ET6 /* erasure=self::A */
;
static extension-type-member method ET6|constructor#_#new#tearOff(self::A id) → self::ET6 /* = self::A */
static extension-type-member method ET6|constructor#_#new#tearOff(self::A id) → self::ET6 /* erasure=self::A */
return self::ET6|constructor#(id);
static abstract extension-type-member method ET6|method(lowered final self::ET6 /* = self::A */ #this) → core::int;
static extension-type-member method ET6|get#method(lowered final self::ET6 /* = self::A */ #this) → () → core::int
static abstract extension-type-member method ET6|method(lowered final self::ET6 /* erasure=self::A */ #this) → core::int;
static extension-type-member method ET6|get#method(lowered final self::ET6 /* erasure=self::A */ #this) → () → core::int
return () → core::int => self::ET6|method(#this);
static abstract extension-type-member method ET6|get#getter(lowered final self::ET6 /* = self::A */ #this) → core::int;
static abstract extension-type-member method ET6|set#setter(lowered final self::ET6 /* = self::A */ #this, core::int v) → void;
static abstract extension-type-member method ET6|get#getter(lowered final self::ET6 /* erasure=self::A */ #this) → core::int;
static abstract extension-type-member method ET6|set#setter(lowered final self::ET6 /* erasure=self::A */ #this, core::int v) → void;
static abstract extension-member get E|m() → core::int;
static abstract extension-member set E|m(synthesized core::int #externalFieldValue) → void;
static abstract extension-member method E|method(lowered final self::A #this) → core::int;

View file

@ -129,57 +129,57 @@ extension type ET6(self::A id) implements self::A {
constructor • = self::ET6|constructor#;
constructor tearoff • = self::ET6|constructor#_#new#tearOff;
}
static extension-type-member method ET1|constructor#(core::int id) → self::ET1 /* = core::int */ {
lowered final self::ET1 /* = core::int */ #this = id;
static extension-type-member method ET1|constructor#(core::int id) → self::ET1% /* erasure=core::int, declared=! */ {
lowered final self::ET1% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1 /* = core::int */
static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1% /* erasure=core::int, declared=! */
return self::ET1|constructor#(id);
static abstract extension-type-member get ET1|m() → core::int;
static abstract extension-type-member set ET1|m(synthesized core::int #externalFieldValue) → void;
static extension-type-member method ET2|constructor#<T extends core::Object? = dynamic>(self::ET2|constructor#::T% id) → self::ET2<self::ET2|constructor#::T%> /* = self::ET2|constructor#::T% */ {
lowered final self::ET2<self::ET2|constructor#::T%> /* = self::ET2|constructor#::T% */ #this = id;
static extension-type-member method ET2|constructor#<T extends core::Object? = dynamic>(self::ET2|constructor#::T% id) → self::ET2<self::ET2|constructor#::T%>% /* erasure=self::ET2|constructor#::T%, declared=! */ {
lowered final self::ET2<self::ET2|constructor#::T%>% /* erasure=self::ET2|constructor#::T%, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|constructor#_#new#tearOff::T% id) → self::ET2<self::ET2|constructor#_#new#tearOff::T%> /* = self::ET2|constructor#_#new#tearOff::T% */
static extension-type-member method ET2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|constructor#_#new#tearOff::T% id) → self::ET2<self::ET2|constructor#_#new#tearOff::T%>% /* erasure=self::ET2|constructor#_#new#tearOff::T%, declared=! */
return self::ET2|constructor#<self::ET2|constructor#_#new#tearOff::T%>(id);
static abstract extension-type-member method ET2|get#getter<T extends core::Object? = dynamic>(lowered final self::ET2<self::ET2|get#getter::T%> /* = self::ET2|get#getter::T% */ #this) → self::ET2|get#getter::T%;
static extension-type-member method ET3|constructor#(core::int id) → self::ET3 /* = core::int */ {
lowered final self::ET3 /* = core::int */ #this = id;
static abstract extension-type-member method ET2|get#getter<T extends core::Object? = dynamic>(lowered final self::ET2<self::ET2|get#getter::T%>% /* erasure=self::ET2|get#getter::T%, declared=! */ #this) → self::ET2|get#getter::T%;
static extension-type-member method ET3|constructor#(core::int id) → self::ET3% /* erasure=core::int, declared=! */ {
lowered final self::ET3% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET3|constructor#_#new#tearOff(core::int id) → self::ET3 /* = core::int */
static extension-type-member method ET3|constructor#_#new#tearOff(core::int id) → self::ET3% /* erasure=core::int, declared=! */
return self::ET3|constructor#(id);
static abstract extension-type-member method ET3|setter(lowered final self::ET3 /* = core::int */ #this, core::int x) → void;
static extension-type-member method ET3|get#setter(lowered final self::ET3 /* = core::int */ #this) → (core::int) → void
static abstract extension-type-member method ET3|setter(lowered final self::ET3% /* erasure=core::int, declared=! */ #this, core::int x) → void;
static extension-type-member method ET3|get#setter(lowered final self::ET3% /* erasure=core::int, declared=! */ #this) → (core::int) → void
return (core::int x) → void => self::ET3|setter(#this, x);
static extension-type-member method ET4|constructor#<T extends core::Object? = dynamic>(self::ET4|constructor#::T% id) → self::ET4<self::ET4|constructor#::T%> /* = self::ET4|constructor#::T% */ {
lowered final self::ET4<self::ET4|constructor#::T%> /* = self::ET4|constructor#::T% */ #this = id;
static extension-type-member method ET4|constructor#<T extends core::Object? = dynamic>(self::ET4|constructor#::T% id) → self::ET4<self::ET4|constructor#::T%>% /* erasure=self::ET4|constructor#::T%, declared=! */ {
lowered final self::ET4<self::ET4|constructor#::T%>% /* erasure=self::ET4|constructor#::T%, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET4|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|constructor#_#new#tearOff::T% id) → self::ET4<self::ET4|constructor#_#new#tearOff::T%> /* = self::ET4|constructor#_#new#tearOff::T% */
static extension-type-member method ET4|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|constructor#_#new#tearOff::T% id) → self::ET4<self::ET4|constructor#_#new#tearOff::T%>% /* erasure=self::ET4|constructor#_#new#tearOff::T%, declared=! */
return self::ET4|constructor#<self::ET4|constructor#_#new#tearOff::T%>(id);
static abstract extension-type-member method ET4|method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|method::T%> /* = self::ET4|method::T% */ #this) → void;
static extension-type-member method ET4|get#method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|get#method::T%> /* = self::ET4|get#method::T% */ #this) → () → void
static abstract extension-type-member method ET4|method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|method::T%>% /* erasure=self::ET4|method::T%, declared=! */ #this) → void;
static extension-type-member method ET4|get#method<T extends core::Object? = dynamic>(lowered final self::ET4<self::ET4|get#method::T%>% /* erasure=self::ET4|get#method::T%, declared=! */ #this) → () → void
return () → void => self::ET4|method<self::ET4|get#method::T%>(#this);
static extension-type-member method ET5|constructor#(core::int id) → self::ET5 /* = core::int */ {
lowered final self::ET5 /* = core::int */ #this = id;
static extension-type-member method ET5|constructor#(core::int id) → self::ET5% /* erasure=core::int, declared=! */ {
lowered final self::ET5% /* erasure=core::int, declared=! */ #this = id;
return #this;
}
static extension-type-member method ET5|constructor#_#new#tearOff(core::int id) → self::ET5 /* = core::int */
static extension-type-member method ET5|constructor#_#new#tearOff(core::int id) → self::ET5% /* erasure=core::int, declared=! */
return self::ET5|constructor#(id);
static abstract extension-type-member method ET5|+(lowered final self::ET5 /* = core::int */ #this, core::int other) → core::int;
static extension-type-member method ET6|constructor#(self::A id) → self::ET6 /* = self::A */ {
lowered final self::ET6 /* = self::A */ #this = id;
static abstract extension-type-member method ET5|+(lowered final self::ET5% /* erasure=core::int, declared=! */ #this, core::int other) → core::int;
static extension-type-member method ET6|constructor#(self::A id) → self::ET6 /* erasure=self::A */ {
lowered final self::ET6 /* erasure=self::A */ #this = id;
return #this;
}
static extension-type-member method ET6|constructor#_#new#tearOff(self::A id) → self::ET6 /* = self::A */
static extension-type-member method ET6|constructor#_#new#tearOff(self::A id) → self::ET6 /* erasure=self::A */
return self::ET6|constructor#(id);
static abstract extension-type-member method ET6|method(lowered final self::ET6 /* = self::A */ #this) → core::int;
static extension-type-member method ET6|get#method(lowered final self::ET6 /* = self::A */ #this) → () → core::int
static abstract extension-type-member method ET6|method(lowered final self::ET6 /* erasure=self::A */ #this) → core::int;
static extension-type-member method ET6|get#method(lowered final self::ET6 /* erasure=self::A */ #this) → () → core::int
return () → core::int => self::ET6|method(#this);
static abstract extension-type-member method ET6|get#getter(lowered final self::ET6 /* = self::A */ #this) → core::int;
static abstract extension-type-member method ET6|set#setter(lowered final self::ET6 /* = self::A */ #this, core::int v) → void;
static abstract extension-type-member method ET6|get#getter(lowered final self::ET6 /* erasure=self::A */ #this) → core::int;
static abstract extension-type-member method ET6|set#setter(lowered final self::ET6 /* erasure=self::A */ #this, core::int v) → void;
static abstract extension-member get E|m() → core::int;
static abstract extension-member set E|m(synthesized core::int #externalFieldValue) → void;
static abstract extension-member method E|method(lowered final self::A #this) → core::int;

View file

@ -25,27 +25,27 @@ extension type E(self::B it) implements self::B {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
extension type F(self::B it) implements self::E /* = self::B */ {
extension type F(self::B it) implements self::E /* erasure=self::B */ {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::F|constructor#;
constructor tearoff • = self::F|constructor#_#new#tearOff;
}
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
static extension-type-member method E|constructor#(self::B it) → self::E /* erasure=self::B */ {
lowered final self::E /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* erasure=self::B */
return self::E|constructor#(it);
static extension-type-member method F|constructor#(self::B it) → self::F /* = self::B */ {
lowered final self::F /* = self::B */ #this = it;
static extension-type-member method F|constructor#(self::B it) → self::F /* erasure=self::B */ {
lowered final self::F /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* erasure=self::B */
return self::F|constructor#(it);
static method main() → dynamic {
self::B b = new self::B::•();
self::E /* = self::B */ e = self::E|constructor#(b);
self::F /* = self::B */ f = self::F|constructor#(b);
self::E /* erasure=self::B */ e = self::E|constructor#(b);
self::F /* erasure=self::B */ f = self::F|constructor#(b);
self::expect(42, b.{self::A::field}{core::int});
self::expect(42, e.{self::A::field}{core::int});
self::expect(42, f.{self::A::field}{core::int});

View file

@ -25,27 +25,27 @@ extension type E(self::B it) implements self::B {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
extension type F(self::B it) implements self::E /* = self::B */ {
extension type F(self::B it) implements self::E /* erasure=self::B */ {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::F|constructor#;
constructor tearoff • = self::F|constructor#_#new#tearOff;
}
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
static extension-type-member method E|constructor#(self::B it) → self::E /* erasure=self::B */ {
lowered final self::E /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* erasure=self::B */
return self::E|constructor#(it);
static extension-type-member method F|constructor#(self::B it) → self::F /* = self::B */ {
lowered final self::F /* = self::B */ #this = it;
static extension-type-member method F|constructor#(self::B it) → self::F /* erasure=self::B */ {
lowered final self::F /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* erasure=self::B */
return self::F|constructor#(it);
static method main() → dynamic {
self::B b = new self::B::•();
self::E /* = self::B */ e = self::E|constructor#(b);
self::F /* = self::B */ f = self::F|constructor#(b);
self::E /* erasure=self::B */ e = self::E|constructor#(b);
self::F /* erasure=self::B */ f = self::F|constructor#(b);
self::expect(42, b.{self::A::field}{core::int});
self::expect(42, e.{self::A::field}{core::int});
self::expect(42, f.{self::A::field}{core::int});

View file

@ -25,27 +25,27 @@ extension type E(self::B it) implements self::B {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
extension type F(self::B it) implements self::E /* = self::B */ {
extension type F(self::B it) implements self::E /* erasure=self::B */ {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::F|constructor#;
constructor tearoff • = self::F|constructor#_#new#tearOff;
}
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
static extension-type-member method E|constructor#(self::B it) → self::E /* erasure=self::B */ {
lowered final self::E /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* erasure=self::B */
return self::E|constructor#(it);
static extension-type-member method F|constructor#(self::B it) → self::F /* = self::B */ {
lowered final self::F /* = self::B */ #this = it;
static extension-type-member method F|constructor#(self::B it) → self::F /* erasure=self::B */ {
lowered final self::F /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* erasure=self::B */
return self::F|constructor#(it);
static method main() → dynamic {
self::B b = new self::B::•();
self::E /* = self::B */ e = self::E|constructor#(b);
self::F /* = self::B */ f = self::F|constructor#(b);
self::E /* erasure=self::B */ e = self::E|constructor#(b);
self::F /* erasure=self::B */ f = self::F|constructor#(b);
self::expect(42, b.{self::A::field}{core::int});
self::expect(42, e.{self::A::field}{core::int});
self::expect(42, f.{self::A::field}{core::int});

View file

@ -25,27 +25,27 @@ extension type E(self::B it) implements self::B {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
extension type F(self::B it) implements self::E /* = self::B */ {
extension type F(self::B it) implements self::E /* erasure=self::B */ {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::F|constructor#;
constructor tearoff • = self::F|constructor#_#new#tearOff;
}
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
static extension-type-member method E|constructor#(self::B it) → self::E /* erasure=self::B */ {
lowered final self::E /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* erasure=self::B */
return self::E|constructor#(it);
static extension-type-member method F|constructor#(self::B it) → self::F /* = self::B */ {
lowered final self::F /* = self::B */ #this = it;
static extension-type-member method F|constructor#(self::B it) → self::F /* erasure=self::B */ {
lowered final self::F /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* erasure=self::B */
return self::F|constructor#(it);
static method main() → dynamic {
self::B b = new self::B::•();
self::E /* = self::B */ e = self::E|constructor#(b);
self::F /* = self::B */ f = self::F|constructor#(b);
self::E /* erasure=self::B */ e = self::E|constructor#(b);
self::F /* erasure=self::B */ f = self::F|constructor#(b);
self::expect(42, b.{self::A::field}{core::int});
self::expect(42, e.{self::A::field}{core::int});
self::expect(42, f.{self::A::field}{core::int});

View file

@ -22,18 +22,18 @@ extension type E(self::B it) implements self::B {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
extension type F(self::B it) implements self::E /* = self::B */ {
extension type F(self::B it) implements self::E /* erasure=self::B */ {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::F|constructor#;
constructor tearoff • = self::F|constructor#_#new#tearOff;
}
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#(self::B it) → self::E /* erasure=self::B */
;
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* erasure=self::B */
return self::E|constructor#(it);
static extension-type-member method F|constructor#(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#(self::B it) → self::F /* erasure=self::B */
;
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* erasure=self::B */
return self::F|constructor#(it);
static method main() → dynamic
;

View file

@ -25,27 +25,27 @@ extension type E(self::B it) implements self::B {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
extension type F(self::B it) implements self::E /* = self::B */ {
extension type F(self::B it) implements self::E /* erasure=self::B */ {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::F|constructor#;
constructor tearoff • = self::F|constructor#_#new#tearOff;
}
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
static extension-type-member method E|constructor#(self::B it) → self::E /* erasure=self::B */ {
lowered final self::E /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* erasure=self::B */
return self::E|constructor#(it);
static extension-type-member method F|constructor#(self::B it) → self::F /* = self::B */ {
lowered final self::F /* = self::B */ #this = it;
static extension-type-member method F|constructor#(self::B it) → self::F /* erasure=self::B */ {
lowered final self::F /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* erasure=self::B */
return self::F|constructor#(it);
static method main() → dynamic {
self::B b = new self::B::•();
self::E /* = self::B */ e = self::E|constructor#(b);
self::F /* = self::B */ f = self::F|constructor#(b);
self::E /* erasure=self::B */ e = self::E|constructor#(b);
self::F /* erasure=self::B */ f = self::F|constructor#(b);
self::expect(42, b.{self::A::field}{core::int});
self::expect(42, e.{self::A::field}{core::int});
self::expect(42, f.{self::A::field}{core::int});

View file

@ -29,8 +29,8 @@ library;
import self as self;
import "dart:core" as core;
typedef A = self::B /* = core::int */;
typedef C<X extends core::num> = self::D<X> /* = X */;
typedef A = self::B% /* erasure=core::int, declared=! */;
typedef C<X extends core::num> = self::D<X>% /* erasure=X, declared=! */;
typedef E<X extends core::num> = self::F<X>;
class F<Z extends core::Object? = dynamic> extends core::Object {
constructor •(self::F::Z% i) → self::F<self::F::Z%>
@ -58,33 +58,33 @@ extension type D<Y extends core::Object? = dynamic>(Y% i) {
constructor named = self::D|constructor#named;
constructor tearoff named = self::D|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#(core::int i) → self::B /* = core::int */ {
lowered final self::B /* = core::int */ #this = i;
static extension-type-member method B|constructor#(core::int i) → self::B% /* erasure=core::int, declared=! */ {
lowered final self::B% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method B|constructor#_#new#tearOff(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#_#new#tearOff(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#(i);
static extension-type-member method B|constructor#named(core::int i) → self::B /* = core::int */ {
lowered final self::B /* = core::int */ #this = i;
static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=core::int, declared=! */ {
lowered final self::B% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#named(i);
static extension-type-member method B|method(core::int i) → self::B /* = core::int */
static extension-type-member method B|method(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#(i);
static extension-type-member method D|constructor#<Y extends core::Object? = dynamic>(self::D|constructor#::Y% i) → self::D<self::D|constructor#::Y%> /* = self::D|constructor#::Y% */ {
lowered final self::D<self::D|constructor#::Y%> /* = self::D|constructor#::Y% */ #this = i;
static extension-type-member method D|constructor#<Y extends core::Object? = dynamic>(self::D|constructor#::Y% i) → self::D<self::D|constructor#::Y%>% /* erasure=self::D|constructor#::Y%, declared=! */ {
lowered final self::D<self::D|constructor#::Y%>% /* erasure=self::D|constructor#::Y%, declared=! */ #this = i;
return #this;
}
static extension-type-member method D|constructor#_#new#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#new#tearOff::Y% i) → self::D<self::D|constructor#_#new#tearOff::Y%> /* = self::D|constructor#_#new#tearOff::Y% */
static extension-type-member method D|constructor#_#new#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#new#tearOff::Y% i) → self::D<self::D|constructor#_#new#tearOff::Y%>% /* erasure=self::D|constructor#_#new#tearOff::Y%, declared=! */
return self::D|constructor#<self::D|constructor#_#new#tearOff::Y%>(i);
static extension-type-member method D|constructor#named<Y extends core::Object? = dynamic>(self::D|constructor#named::Y% i) → self::D<self::D|constructor#named::Y%> /* = self::D|constructor#named::Y% */ {
lowered final self::D<self::D|constructor#named::Y%> /* = self::D|constructor#named::Y% */ #this = i;
static extension-type-member method D|constructor#named<Y extends core::Object? = dynamic>(self::D|constructor#named::Y% i) → self::D<self::D|constructor#named::Y%>% /* erasure=self::D|constructor#named::Y%, declared=! */ {
lowered final self::D<self::D|constructor#named::Y%>% /* erasure=self::D|constructor#named::Y%, declared=! */ #this = i;
return #this;
}
static extension-type-member method D|constructor#_#named#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#named#tearOff::Y% i) → self::D<self::D|constructor#_#named#tearOff::Y%> /* = self::D|constructor#_#named#tearOff::Y% */
static extension-type-member method D|constructor#_#named#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#named#tearOff::Y% i) → self::D<self::D|constructor#_#named#tearOff::Y%>% /* erasure=self::D|constructor#_#named#tearOff::Y%, declared=! */
return self::D|constructor#named<self::D|constructor#_#named#tearOff::Y%>(i);
static extension-type-member method D|method<Y extends core::Object? = dynamic>(self::D|method::Y% i) → self::D<self::D|method::Y%> /* = self::D|method::Y% */
static extension-type-member method D|method<Y extends core::Object? = dynamic>(self::D|method::Y% i) → self::D<self::D|method::Y%>% /* erasure=self::D|method::Y%, declared=! */
return self::D|constructor#<self::D|method::Y%>(i);
static method method() → dynamic {
self::B|constructor#(0);
@ -136,9 +136,9 @@ static method method() → dynamic {
new F.method(2); // Error
^^^^^^";
}
static method _#C#new#tearOff<X extends core::num>(self::_#C#new#tearOff::X i) → self::D<self::_#C#new#tearOff::X> /* = self::_#C#new#tearOff::X */
static method _#C#new#tearOff<X extends core::num>(self::_#C#new#tearOff::X i) → self::D<self::_#C#new#tearOff::X>% /* erasure=self::_#C#new#tearOff::X, declared=! */
return self::D|constructor#<self::_#C#new#tearOff::X>(i);
static method _#C#named#tearOff<X extends core::num>(self::_#C#named#tearOff::X i) → self::D<self::_#C#named#tearOff::X> /* = self::_#C#named#tearOff::X */
static method _#C#named#tearOff<X extends core::num>(self::_#C#named#tearOff::X i) → self::D<self::_#C#named#tearOff::X>% /* erasure=self::_#C#named#tearOff::X, declared=! */
return self::D|constructor#named<self::_#C#named#tearOff::X>(i);
static method _#E#new#tearOff<X extends core::num>(self::_#E#new#tearOff::X i) → self::F<self::_#E#new#tearOff::X>
return new self::F::•<self::_#E#new#tearOff::X>(i);

View file

@ -29,8 +29,8 @@ library;
import self as self;
import "dart:core" as core;
typedef A = self::B /* = core::int */;
typedef C<X extends core::num> = self::D<X> /* = X */;
typedef A = self::B% /* erasure=core::int, declared=! */;
typedef C<X extends core::num> = self::D<X>% /* erasure=X, declared=! */;
typedef E<X extends core::num> = self::F<X>;
class F<Z extends core::Object? = dynamic> extends core::Object {
constructor •(self::F::Z% i) → self::F<self::F::Z%>
@ -58,33 +58,33 @@ extension type D<Y extends core::Object? = dynamic>(Y% i) {
constructor named = self::D|constructor#named;
constructor tearoff named = self::D|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#(core::int i) → self::B /* = core::int */ {
lowered final self::B /* = core::int */ #this = i;
static extension-type-member method B|constructor#(core::int i) → self::B% /* erasure=core::int, declared=! */ {
lowered final self::B% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method B|constructor#_#new#tearOff(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#_#new#tearOff(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#(i);
static extension-type-member method B|constructor#named(core::int i) → self::B /* = core::int */ {
lowered final self::B /* = core::int */ #this = i;
static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=core::int, declared=! */ {
lowered final self::B% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#named(i);
static extension-type-member method B|method(core::int i) → self::B /* = core::int */
static extension-type-member method B|method(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#(i);
static extension-type-member method D|constructor#<Y extends core::Object? = dynamic>(self::D|constructor#::Y% i) → self::D<self::D|constructor#::Y%> /* = self::D|constructor#::Y% */ {
lowered final self::D<self::D|constructor#::Y%> /* = self::D|constructor#::Y% */ #this = i;
static extension-type-member method D|constructor#<Y extends core::Object? = dynamic>(self::D|constructor#::Y% i) → self::D<self::D|constructor#::Y%>% /* erasure=self::D|constructor#::Y%, declared=! */ {
lowered final self::D<self::D|constructor#::Y%>% /* erasure=self::D|constructor#::Y%, declared=! */ #this = i;
return #this;
}
static extension-type-member method D|constructor#_#new#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#new#tearOff::Y% i) → self::D<self::D|constructor#_#new#tearOff::Y%> /* = self::D|constructor#_#new#tearOff::Y% */
static extension-type-member method D|constructor#_#new#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#new#tearOff::Y% i) → self::D<self::D|constructor#_#new#tearOff::Y%>% /* erasure=self::D|constructor#_#new#tearOff::Y%, declared=! */
return self::D|constructor#<self::D|constructor#_#new#tearOff::Y%>(i);
static extension-type-member method D|constructor#named<Y extends core::Object? = dynamic>(self::D|constructor#named::Y% i) → self::D<self::D|constructor#named::Y%> /* = self::D|constructor#named::Y% */ {
lowered final self::D<self::D|constructor#named::Y%> /* = self::D|constructor#named::Y% */ #this = i;
static extension-type-member method D|constructor#named<Y extends core::Object? = dynamic>(self::D|constructor#named::Y% i) → self::D<self::D|constructor#named::Y%>% /* erasure=self::D|constructor#named::Y%, declared=! */ {
lowered final self::D<self::D|constructor#named::Y%>% /* erasure=self::D|constructor#named::Y%, declared=! */ #this = i;
return #this;
}
static extension-type-member method D|constructor#_#named#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#named#tearOff::Y% i) → self::D<self::D|constructor#_#named#tearOff::Y%> /* = self::D|constructor#_#named#tearOff::Y% */
static extension-type-member method D|constructor#_#named#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#named#tearOff::Y% i) → self::D<self::D|constructor#_#named#tearOff::Y%>% /* erasure=self::D|constructor#_#named#tearOff::Y%, declared=! */
return self::D|constructor#named<self::D|constructor#_#named#tearOff::Y%>(i);
static extension-type-member method D|method<Y extends core::Object? = dynamic>(self::D|method::Y% i) → self::D<self::D|method::Y%> /* = self::D|method::Y% */
static extension-type-member method D|method<Y extends core::Object? = dynamic>(self::D|method::Y% i) → self::D<self::D|method::Y%>% /* erasure=self::D|method::Y%, declared=! */
return self::D|constructor#<self::D|method::Y%>(i);
static method method() → dynamic {
self::B|constructor#(0);
@ -136,9 +136,9 @@ static method method() → dynamic {
new F.method(2); // Error
^^^^^^";
}
static method _#C#new#tearOff<X extends core::num>(self::_#C#new#tearOff::X i) → self::D<self::_#C#new#tearOff::X> /* = self::_#C#new#tearOff::X */
static method _#C#new#tearOff<X extends core::num>(self::_#C#new#tearOff::X i) → self::D<self::_#C#new#tearOff::X>% /* erasure=self::_#C#new#tearOff::X, declared=! */
return self::D|constructor#<self::_#C#new#tearOff::X>(i);
static method _#C#named#tearOff<X extends core::num>(self::_#C#named#tearOff::X i) → self::D<self::_#C#named#tearOff::X> /* = self::_#C#named#tearOff::X */
static method _#C#named#tearOff<X extends core::num>(self::_#C#named#tearOff::X i) → self::D<self::_#C#named#tearOff::X>% /* erasure=self::_#C#named#tearOff::X, declared=! */
return self::D|constructor#named<self::_#C#named#tearOff::X>(i);
static method _#E#new#tearOff<X extends core::num>(self::_#E#new#tearOff::X i) → self::F<self::_#E#new#tearOff::X>
return new self::F::•<self::_#E#new#tearOff::X>(i);

View file

@ -29,8 +29,8 @@ library;
import self as self;
import "dart:core" as core;
typedef A = self::B /* = core::int */;
typedef C<X extends core::num> = self::D<X> /* = X */;
typedef A = self::B% /* erasure=core::int, declared=! */;
typedef C<X extends core::num> = self::D<X>% /* erasure=X, declared=! */;
typedef E<X extends core::num> = self::F<X>;
class F<Z extends core::Object? = dynamic> extends core::Object {
constructor •(self::F::Z% i) → self::F<self::F::Z%>
@ -58,33 +58,33 @@ extension type D<Y extends core::Object? = dynamic>(Y% i) {
constructor named = self::D|constructor#named;
constructor tearoff named = self::D|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#(core::int i) → self::B /* = core::int */ {
lowered final self::B /* = core::int */ #this = i;
static extension-type-member method B|constructor#(core::int i) → self::B% /* erasure=core::int, declared=! */ {
lowered final self::B% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method B|constructor#_#new#tearOff(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#_#new#tearOff(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#(i);
static extension-type-member method B|constructor#named(core::int i) → self::B /* = core::int */ {
lowered final self::B /* = core::int */ #this = i;
static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=core::int, declared=! */ {
lowered final self::B% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#named(i);
static extension-type-member method B|method(core::int i) → self::B /* = core::int */
static extension-type-member method B|method(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#(i);
static extension-type-member method D|constructor#<Y extends core::Object? = dynamic>(self::D|constructor#::Y% i) → self::D<self::D|constructor#::Y%> /* = self::D|constructor#::Y% */ {
lowered final self::D<self::D|constructor#::Y%> /* = self::D|constructor#::Y% */ #this = i;
static extension-type-member method D|constructor#<Y extends core::Object? = dynamic>(self::D|constructor#::Y% i) → self::D<self::D|constructor#::Y%>% /* erasure=self::D|constructor#::Y%, declared=! */ {
lowered final self::D<self::D|constructor#::Y%>% /* erasure=self::D|constructor#::Y%, declared=! */ #this = i;
return #this;
}
static extension-type-member method D|constructor#_#new#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#new#tearOff::Y% i) → self::D<self::D|constructor#_#new#tearOff::Y%> /* = self::D|constructor#_#new#tearOff::Y% */
static extension-type-member method D|constructor#_#new#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#new#tearOff::Y% i) → self::D<self::D|constructor#_#new#tearOff::Y%>% /* erasure=self::D|constructor#_#new#tearOff::Y%, declared=! */
return self::D|constructor#<self::D|constructor#_#new#tearOff::Y%>(i);
static extension-type-member method D|constructor#named<Y extends core::Object? = dynamic>(self::D|constructor#named::Y% i) → self::D<self::D|constructor#named::Y%> /* = self::D|constructor#named::Y% */ {
lowered final self::D<self::D|constructor#named::Y%> /* = self::D|constructor#named::Y% */ #this = i;
static extension-type-member method D|constructor#named<Y extends core::Object? = dynamic>(self::D|constructor#named::Y% i) → self::D<self::D|constructor#named::Y%>% /* erasure=self::D|constructor#named::Y%, declared=! */ {
lowered final self::D<self::D|constructor#named::Y%>% /* erasure=self::D|constructor#named::Y%, declared=! */ #this = i;
return #this;
}
static extension-type-member method D|constructor#_#named#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#named#tearOff::Y% i) → self::D<self::D|constructor#_#named#tearOff::Y%> /* = self::D|constructor#_#named#tearOff::Y% */
static extension-type-member method D|constructor#_#named#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#named#tearOff::Y% i) → self::D<self::D|constructor#_#named#tearOff::Y%>% /* erasure=self::D|constructor#_#named#tearOff::Y%, declared=! */
return self::D|constructor#named<self::D|constructor#_#named#tearOff::Y%>(i);
static extension-type-member method D|method<Y extends core::Object? = dynamic>(self::D|method::Y% i) → self::D<self::D|method::Y%> /* = self::D|method::Y% */
static extension-type-member method D|method<Y extends core::Object? = dynamic>(self::D|method::Y% i) → self::D<self::D|method::Y%>% /* erasure=self::D|method::Y%, declared=! */
return self::D|constructor#<self::D|method::Y%>(i);
static method method() → dynamic {
self::B|constructor#(0);
@ -136,9 +136,9 @@ static method method() → dynamic {
new F.method(2); // Error
^^^^^^";
}
static method _#C#new#tearOff<X extends core::num>(self::_#C#new#tearOff::X i) → self::D<self::_#C#new#tearOff::X> /* = self::_#C#new#tearOff::X */
static method _#C#new#tearOff<X extends core::num>(self::_#C#new#tearOff::X i) → self::D<self::_#C#new#tearOff::X>% /* erasure=self::_#C#new#tearOff::X, declared=! */
return self::D|constructor#<self::_#C#new#tearOff::X>(i);
static method _#C#named#tearOff<X extends core::num>(self::_#C#named#tearOff::X i) → self::D<self::_#C#named#tearOff::X> /* = self::_#C#named#tearOff::X */
static method _#C#named#tearOff<X extends core::num>(self::_#C#named#tearOff::X i) → self::D<self::_#C#named#tearOff::X>% /* erasure=self::_#C#named#tearOff::X, declared=! */
return self::D|constructor#named<self::_#C#named#tearOff::X>(i);
static method _#E#new#tearOff<X extends core::num>(self::_#E#new#tearOff::X i) → self::F<self::_#E#new#tearOff::X>
return new self::F::•<self::_#E#new#tearOff::X>(i);

View file

@ -29,8 +29,8 @@ library;
import self as self;
import "dart:core" as core;
typedef A = self::B /* = core::int */;
typedef C<X extends core::num> = self::D<X> /* = X */;
typedef A = self::B% /* erasure=core::int, declared=! */;
typedef C<X extends core::num> = self::D<X>% /* erasure=X, declared=! */;
typedef E<X extends core::num> = self::F<X>;
class F<Z extends core::Object? = dynamic> extends core::Object {
constructor •(self::F::Z% i) → self::F<self::F::Z%>
@ -58,33 +58,33 @@ extension type D<Y extends core::Object? = dynamic>(Y% i) {
constructor named = self::D|constructor#named;
constructor tearoff named = self::D|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#(core::int i) → self::B /* = core::int */ {
lowered final self::B /* = core::int */ #this = i;
static extension-type-member method B|constructor#(core::int i) → self::B% /* erasure=core::int, declared=! */ {
lowered final self::B% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method B|constructor#_#new#tearOff(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#_#new#tearOff(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#(i);
static extension-type-member method B|constructor#named(core::int i) → self::B /* = core::int */ {
lowered final self::B /* = core::int */ #this = i;
static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=core::int, declared=! */ {
lowered final self::B% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#named(i);
static extension-type-member method B|method(core::int i) → self::B /* = core::int */
static extension-type-member method B|method(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#(i);
static extension-type-member method D|constructor#<Y extends core::Object? = dynamic>(self::D|constructor#::Y% i) → self::D<self::D|constructor#::Y%> /* = self::D|constructor#::Y% */ {
lowered final self::D<self::D|constructor#::Y%> /* = self::D|constructor#::Y% */ #this = i;
static extension-type-member method D|constructor#<Y extends core::Object? = dynamic>(self::D|constructor#::Y% i) → self::D<self::D|constructor#::Y%>% /* erasure=self::D|constructor#::Y%, declared=! */ {
lowered final self::D<self::D|constructor#::Y%>% /* erasure=self::D|constructor#::Y%, declared=! */ #this = i;
return #this;
}
static extension-type-member method D|constructor#_#new#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#new#tearOff::Y% i) → self::D<self::D|constructor#_#new#tearOff::Y%> /* = self::D|constructor#_#new#tearOff::Y% */
static extension-type-member method D|constructor#_#new#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#new#tearOff::Y% i) → self::D<self::D|constructor#_#new#tearOff::Y%>% /* erasure=self::D|constructor#_#new#tearOff::Y%, declared=! */
return self::D|constructor#<self::D|constructor#_#new#tearOff::Y%>(i);
static extension-type-member method D|constructor#named<Y extends core::Object? = dynamic>(self::D|constructor#named::Y% i) → self::D<self::D|constructor#named::Y%> /* = self::D|constructor#named::Y% */ {
lowered final self::D<self::D|constructor#named::Y%> /* = self::D|constructor#named::Y% */ #this = i;
static extension-type-member method D|constructor#named<Y extends core::Object? = dynamic>(self::D|constructor#named::Y% i) → self::D<self::D|constructor#named::Y%>% /* erasure=self::D|constructor#named::Y%, declared=! */ {
lowered final self::D<self::D|constructor#named::Y%>% /* erasure=self::D|constructor#named::Y%, declared=! */ #this = i;
return #this;
}
static extension-type-member method D|constructor#_#named#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#named#tearOff::Y% i) → self::D<self::D|constructor#_#named#tearOff::Y%> /* = self::D|constructor#_#named#tearOff::Y% */
static extension-type-member method D|constructor#_#named#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#named#tearOff::Y% i) → self::D<self::D|constructor#_#named#tearOff::Y%>% /* erasure=self::D|constructor#_#named#tearOff::Y%, declared=! */
return self::D|constructor#named<self::D|constructor#_#named#tearOff::Y%>(i);
static extension-type-member method D|method<Y extends core::Object? = dynamic>(self::D|method::Y% i) → self::D<self::D|method::Y%> /* = self::D|method::Y% */
static extension-type-member method D|method<Y extends core::Object? = dynamic>(self::D|method::Y% i) → self::D<self::D|method::Y%>% /* erasure=self::D|method::Y%, declared=! */
return self::D|constructor#<self::D|method::Y%>(i);
static method method() → dynamic {
self::B|constructor#(0);
@ -136,9 +136,9 @@ static method method() → dynamic {
new F.method(2); // Error
^^^^^^";
}
static method _#C#new#tearOff<X extends core::num>(self::_#C#new#tearOff::X i) → self::D<self::_#C#new#tearOff::X> /* = self::_#C#new#tearOff::X */
static method _#C#new#tearOff<X extends core::num>(self::_#C#new#tearOff::X i) → self::D<self::_#C#new#tearOff::X>% /* erasure=self::_#C#new#tearOff::X, declared=! */
return self::D|constructor#<self::_#C#new#tearOff::X>(i);
static method _#C#named#tearOff<X extends core::num>(self::_#C#named#tearOff::X i) → self::D<self::_#C#named#tearOff::X> /* = self::_#C#named#tearOff::X */
static method _#C#named#tearOff<X extends core::num>(self::_#C#named#tearOff::X i) → self::D<self::_#C#named#tearOff::X>% /* erasure=self::_#C#named#tearOff::X, declared=! */
return self::D|constructor#named<self::_#C#named#tearOff::X>(i);
static method _#E#new#tearOff<X extends core::num>(self::_#E#new#tearOff::X i) → self::F<self::_#E#new#tearOff::X>
return new self::F::•<self::_#E#new#tearOff::X>(i);

View file

@ -2,8 +2,8 @@ library;
import self as self;
import "dart:core" as core;
typedef A = self::B /* = core::int */;
typedef C<X extends core::num> = self::D<X> /* = X */;
typedef A = self::B% /* erasure=core::int, declared=! */;
typedef C<X extends core::num> = self::D<X>% /* erasure=X, declared=! */;
typedef E<X extends core::num> = self::F<X>;
class F<Z extends core::Object? = dynamic> extends core::Object {
constructor •(self::F::Z% i) → self::F<self::F::Z%>
@ -29,31 +29,31 @@ extension type D<Y extends core::Object? = dynamic>(Y% i) {
constructor named = self::D|constructor#named;
constructor tearoff named = self::D|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#(core::int i) → self::B% /* erasure=core::int, declared=! */
;
static extension-type-member method B|constructor#_#new#tearOff(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#_#new#tearOff(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#(i);
static extension-type-member method B|constructor#named(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=core::int, declared=! */
;
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#named(i);
static extension-type-member method B|method(core::int i) → self::B /* = core::int */
static extension-type-member method B|method(core::int i) → self::B% /* erasure=core::int, declared=! */
;
static extension-type-member method D|constructor#<Y extends core::Object? = dynamic>(self::D|constructor#::Y% i) → self::D<self::D|constructor#::Y%> /* = self::D|constructor#::Y% */
static extension-type-member method D|constructor#<Y extends core::Object? = dynamic>(self::D|constructor#::Y% i) → self::D<self::D|constructor#::Y%>% /* erasure=self::D|constructor#::Y%, declared=! */
;
static extension-type-member method D|constructor#_#new#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#new#tearOff::Y% i) → self::D<self::D|constructor#_#new#tearOff::Y%> /* = self::D|constructor#_#new#tearOff::Y% */
static extension-type-member method D|constructor#_#new#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#new#tearOff::Y% i) → self::D<self::D|constructor#_#new#tearOff::Y%>% /* erasure=self::D|constructor#_#new#tearOff::Y%, declared=! */
return self::D|constructor#<self::D|constructor#_#new#tearOff::Y%>(i);
static extension-type-member method D|constructor#named<Y extends core::Object? = dynamic>(self::D|constructor#named::Y% i) → self::D<self::D|constructor#named::Y%> /* = self::D|constructor#named::Y% */
static extension-type-member method D|constructor#named<Y extends core::Object? = dynamic>(self::D|constructor#named::Y% i) → self::D<self::D|constructor#named::Y%>% /* erasure=self::D|constructor#named::Y%, declared=! */
;
static extension-type-member method D|constructor#_#named#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#named#tearOff::Y% i) → self::D<self::D|constructor#_#named#tearOff::Y%> /* = self::D|constructor#_#named#tearOff::Y% */
static extension-type-member method D|constructor#_#named#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#named#tearOff::Y% i) → self::D<self::D|constructor#_#named#tearOff::Y%>% /* erasure=self::D|constructor#_#named#tearOff::Y%, declared=! */
return self::D|constructor#named<self::D|constructor#_#named#tearOff::Y%>(i);
static extension-type-member method D|method<Y extends core::Object? = dynamic>(self::D|method::Y% i) → self::D<self::D|method::Y%> /* = self::D|method::Y% */
static extension-type-member method D|method<Y extends core::Object? = dynamic>(self::D|method::Y% i) → self::D<self::D|method::Y%>% /* erasure=self::D|method::Y%, declared=! */
;
static method method() → dynamic
;
static method _#C#new#tearOff<X extends core::num>(self::_#C#new#tearOff::X i) → self::D<self::_#C#new#tearOff::X> /* = self::_#C#new#tearOff::X */
static method _#C#new#tearOff<X extends core::num>(self::_#C#new#tearOff::X i) → self::D<self::_#C#new#tearOff::X>% /* erasure=self::_#C#new#tearOff::X, declared=! */
return self::D|constructor#<self::_#C#new#tearOff::X>(i);
static method _#C#named#tearOff<X extends core::num>(self::_#C#named#tearOff::X i) → self::D<self::_#C#named#tearOff::X> /* = self::_#C#named#tearOff::X */
static method _#C#named#tearOff<X extends core::num>(self::_#C#named#tearOff::X i) → self::D<self::_#C#named#tearOff::X>% /* erasure=self::_#C#named#tearOff::X, declared=! */
return self::D|constructor#named<self::_#C#named#tearOff::X>(i);
static method _#E#new#tearOff<X extends core::num>(self::_#E#new#tearOff::X i) → self::F<self::_#E#new#tearOff::X>
return new self::F::•<self::_#E#new#tearOff::X>(i);

View file

@ -29,8 +29,8 @@ library;
import self as self;
import "dart:core" as core;
typedef A = self::B /* = core::int */;
typedef C<X extends core::num> = self::D<X> /* = X */;
typedef A = self::B% /* erasure=core::int, declared=! */;
typedef C<X extends core::num> = self::D<X>% /* erasure=X, declared=! */;
typedef E<X extends core::num> = self::F<X>;
class F<Z extends core::Object? = dynamic> extends core::Object {
constructor •(self::F::Z% i) → self::F<self::F::Z%>
@ -58,33 +58,33 @@ extension type D<Y extends core::Object? = dynamic>(Y% i) {
constructor named = self::D|constructor#named;
constructor tearoff named = self::D|constructor#_#named#tearOff;
}
static extension-type-member method B|constructor#(core::int i) → self::B /* = core::int */ {
lowered final self::B /* = core::int */ #this = i;
static extension-type-member method B|constructor#(core::int i) → self::B% /* erasure=core::int, declared=! */ {
lowered final self::B% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method B|constructor#_#new#tearOff(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#_#new#tearOff(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#(i);
static extension-type-member method B|constructor#named(core::int i) → self::B /* = core::int */ {
lowered final self::B /* = core::int */ #this = i;
static extension-type-member method B|constructor#named(core::int i) → self::B% /* erasure=core::int, declared=! */ {
lowered final self::B% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B /* = core::int */
static extension-type-member method B|constructor#_#named#tearOff(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#named(i);
static extension-type-member method B|method(core::int i) → self::B /* = core::int */
static extension-type-member method B|method(core::int i) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#(i);
static extension-type-member method D|constructor#<Y extends core::Object? = dynamic>(self::D|constructor#::Y% i) → self::D<self::D|constructor#::Y%> /* = self::D|constructor#::Y% */ {
lowered final self::D<self::D|constructor#::Y%> /* = self::D|constructor#::Y% */ #this = i;
static extension-type-member method D|constructor#<Y extends core::Object? = dynamic>(self::D|constructor#::Y% i) → self::D<self::D|constructor#::Y%>% /* erasure=self::D|constructor#::Y%, declared=! */ {
lowered final self::D<self::D|constructor#::Y%>% /* erasure=self::D|constructor#::Y%, declared=! */ #this = i;
return #this;
}
static extension-type-member method D|constructor#_#new#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#new#tearOff::Y% i) → self::D<self::D|constructor#_#new#tearOff::Y%> /* = self::D|constructor#_#new#tearOff::Y% */
static extension-type-member method D|constructor#_#new#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#new#tearOff::Y% i) → self::D<self::D|constructor#_#new#tearOff::Y%>% /* erasure=self::D|constructor#_#new#tearOff::Y%, declared=! */
return self::D|constructor#<self::D|constructor#_#new#tearOff::Y%>(i);
static extension-type-member method D|constructor#named<Y extends core::Object? = dynamic>(self::D|constructor#named::Y% i) → self::D<self::D|constructor#named::Y%> /* = self::D|constructor#named::Y% */ {
lowered final self::D<self::D|constructor#named::Y%> /* = self::D|constructor#named::Y% */ #this = i;
static extension-type-member method D|constructor#named<Y extends core::Object? = dynamic>(self::D|constructor#named::Y% i) → self::D<self::D|constructor#named::Y%>% /* erasure=self::D|constructor#named::Y%, declared=! */ {
lowered final self::D<self::D|constructor#named::Y%>% /* erasure=self::D|constructor#named::Y%, declared=! */ #this = i;
return #this;
}
static extension-type-member method D|constructor#_#named#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#named#tearOff::Y% i) → self::D<self::D|constructor#_#named#tearOff::Y%> /* = self::D|constructor#_#named#tearOff::Y% */
static extension-type-member method D|constructor#_#named#tearOff<Y extends core::Object? = dynamic>(self::D|constructor#_#named#tearOff::Y% i) → self::D<self::D|constructor#_#named#tearOff::Y%>% /* erasure=self::D|constructor#_#named#tearOff::Y%, declared=! */
return self::D|constructor#named<self::D|constructor#_#named#tearOff::Y%>(i);
static extension-type-member method D|method<Y extends core::Object? = dynamic>(self::D|method::Y% i) → self::D<self::D|method::Y%> /* = self::D|method::Y% */
static extension-type-member method D|method<Y extends core::Object? = dynamic>(self::D|method::Y% i) → self::D<self::D|method::Y%>% /* erasure=self::D|method::Y%, declared=! */
return self::D|constructor#<self::D|method::Y%>(i);
static method method() → dynamic {
self::B|constructor#(0);
@ -136,9 +136,9 @@ static method method() → dynamic {
new F.method(2); // Error
^^^^^^";
}
static method _#C#new#tearOff<X extends core::num>(self::_#C#new#tearOff::X i) → self::D<self::_#C#new#tearOff::X> /* = self::_#C#new#tearOff::X */
static method _#C#new#tearOff<X extends core::num>(self::_#C#new#tearOff::X i) → self::D<self::_#C#new#tearOff::X>% /* erasure=self::_#C#new#tearOff::X, declared=! */
return self::D|constructor#<self::_#C#new#tearOff::X>(i);
static method _#C#named#tearOff<X extends core::num>(self::_#C#named#tearOff::X i) → self::D<self::_#C#named#tearOff::X> /* = self::_#C#named#tearOff::X */
static method _#C#named#tearOff<X extends core::num>(self::_#C#named#tearOff::X i) → self::D<self::_#C#named#tearOff::X>% /* erasure=self::_#C#named#tearOff::X, declared=! */
return self::D|constructor#named<self::_#C#named#tearOff::X>(i);
static method _#E#new#tearOff<X extends core::num>(self::_#E#new#tearOff::X i) → self::F<self::_#E#new#tearOff::X>
return new self::F::•<self::_#E#new#tearOff::X>(i);

View file

@ -12,22 +12,22 @@ extension type A(core::int i) {
constructor constructor = self::A|constructor#constructor;
constructor tearoff constructor = self::A|constructor#_#constructor#tearOff;
}
static extension-type-member method A|constructor#(@#C2 core::int i) → self::A /* = core::int */ {
lowered final self::A /* = core::int */ #this = i;
static extension-type-member method A|constructor#(@#C2 core::int i) → self::A% /* erasure=core::int, declared=! */ {
lowered final self::A% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method A|constructor#_#new#tearOff(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#_#new#tearOff(core::int i) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#(i);
@#C2
static extension-type-member method A|constructor#constructor(core::int i) → self::A /* = core::int */ {
lowered final self::A /* = core::int */ #this = i;
static extension-type-member method A|constructor#constructor(core::int i) → self::A% /* erasure=core::int, declared=! */ {
lowered final self::A% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method A|constructor#_#constructor#tearOff(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#_#constructor#tearOff(core::int i) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#constructor(i);
@#C2
static extension-type-member method A|m(lowered final self::A /* = core::int */ #this) → void {}
static extension-type-member method A|get#m(lowered final self::A /* = core::int */ #this) → () → void
static extension-type-member method A|m(lowered final self::A% /* erasure=core::int, declared=! */ #this) → void {}
static extension-type-member method A|get#m(lowered final self::A% /* erasure=core::int, declared=! */ #this) → () → void
return () → void => self::A|m(#this);
constants {

View file

@ -12,22 +12,22 @@ extension type A(core::int i) {
constructor constructor = self::A|constructor#constructor;
constructor tearoff constructor = self::A|constructor#_#constructor#tearOff;
}
static extension-type-member method A|constructor#(@#C2 core::int i) → self::A /* = core::int */ {
lowered final self::A /* = core::int */ #this = i;
static extension-type-member method A|constructor#(@#C2 core::int i) → self::A% /* erasure=core::int, declared=! */ {
lowered final self::A% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method A|constructor#_#new#tearOff(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#_#new#tearOff(core::int i) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#(i);
@#C2
static extension-type-member method A|constructor#constructor(core::int i) → self::A /* = core::int */ {
lowered final self::A /* = core::int */ #this = i;
static extension-type-member method A|constructor#constructor(core::int i) → self::A% /* erasure=core::int, declared=! */ {
lowered final self::A% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method A|constructor#_#constructor#tearOff(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#_#constructor#tearOff(core::int i) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#constructor(i);
@#C2
static extension-type-member method A|m(lowered final self::A /* = core::int */ #this) → void {}
static extension-type-member method A|get#m(lowered final self::A /* = core::int */ #this) → () → void
static extension-type-member method A|m(lowered final self::A% /* erasure=core::int, declared=! */ #this) → void {}
static extension-type-member method A|get#m(lowered final self::A% /* erasure=core::int, declared=! */ #this) → () → void
return () → void => self::A|m(#this);
constants {

View file

@ -12,22 +12,22 @@ extension type A(core::int i) {
constructor constructor = self::A|constructor#constructor;
constructor tearoff constructor = self::A|constructor#_#constructor#tearOff;
}
static extension-type-member method A|constructor#(@#C2 core::int i) → self::A /* = core::int */ {
lowered final self::A /* = core::int */ #this = i;
static extension-type-member method A|constructor#(@#C2 core::int i) → self::A% /* erasure=core::int, declared=! */ {
lowered final self::A% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method A|constructor#_#new#tearOff(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#_#new#tearOff(core::int i) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#(i);
@#C2
static extension-type-member method A|constructor#constructor(core::int i) → self::A /* = core::int */ {
lowered final self::A /* = core::int */ #this = i;
static extension-type-member method A|constructor#constructor(core::int i) → self::A% /* erasure=core::int, declared=! */ {
lowered final self::A% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method A|constructor#_#constructor#tearOff(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#_#constructor#tearOff(core::int i) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#constructor(i);
@#C2
static extension-type-member method A|m(lowered final self::A /* = core::int */ #this) → void {}
static extension-type-member method A|get#m(lowered final self::A /* = core::int */ #this) → () → void
static extension-type-member method A|m(lowered final self::A% /* erasure=core::int, declared=! */ #this) → void {}
static extension-type-member method A|get#m(lowered final self::A% /* erasure=core::int, declared=! */ #this) → () → void
return () → void => self::A|m(#this);
constants {

View file

@ -12,22 +12,22 @@ extension type A(core::int i) {
constructor constructor = self::A|constructor#constructor;
constructor tearoff constructor = self::A|constructor#_#constructor#tearOff;
}
static extension-type-member method A|constructor#(@#C2 core::int i) → self::A /* = core::int */ {
lowered final self::A /* = core::int */ #this = i;
static extension-type-member method A|constructor#(@#C2 core::int i) → self::A% /* erasure=core::int, declared=! */ {
lowered final self::A% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method A|constructor#_#new#tearOff(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#_#new#tearOff(core::int i) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#(i);
@#C2
static extension-type-member method A|constructor#constructor(core::int i) → self::A /* = core::int */ {
lowered final self::A /* = core::int */ #this = i;
static extension-type-member method A|constructor#constructor(core::int i) → self::A% /* erasure=core::int, declared=! */ {
lowered final self::A% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method A|constructor#_#constructor#tearOff(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#_#constructor#tearOff(core::int i) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#constructor(i);
@#C2
static extension-type-member method A|m(lowered final self::A /* = core::int */ #this) → void {}
static extension-type-member method A|get#m(lowered final self::A /* = core::int */ #this) → () → void
static extension-type-member method A|m(lowered final self::A% /* erasure=core::int, declared=! */ #this) → void {}
static extension-type-member method A|get#m(lowered final self::A% /* erasure=core::int, declared=! */ #this) → () → void
return () → void => self::A|m(#this);
constants {

View file

@ -12,19 +12,19 @@ extension type A(core::int i) {
constructor constructor = self::A|constructor#constructor;
constructor tearoff constructor = self::A|constructor#_#constructor#tearOff;
}
static extension-type-member method A|constructor#(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#(core::int i) → self::A% /* erasure=core::int, declared=! */
;
static extension-type-member method A|constructor#_#new#tearOff(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#_#new#tearOff(core::int i) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#(i);
@core::Deprecated::•("")
static extension-type-member method A|constructor#constructor(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#constructor(core::int i) → self::A% /* erasure=core::int, declared=! */
;
static extension-type-member method A|constructor#_#constructor#tearOff(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#_#constructor#tearOff(core::int i) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#constructor(i);
@core::Deprecated::•("")
static extension-type-member method A|m(lowered final self::A /* = core::int */ #this) → void
static extension-type-member method A|m(lowered final self::A% /* erasure=core::int, declared=! */ #this) → void
;
static extension-type-member method A|get#m(lowered final self::A /* = core::int */ #this) → () → void
static extension-type-member method A|get#m(lowered final self::A% /* erasure=core::int, declared=! */ #this) → () → void
return () → void => self::A|m(#this);

View file

@ -12,22 +12,22 @@ extension type A(core::int i) {
constructor constructor = self::A|constructor#constructor;
constructor tearoff constructor = self::A|constructor#_#constructor#tearOff;
}
static extension-type-member method A|constructor#(@#C2 core::int i) → self::A /* = core::int */ {
lowered final self::A /* = core::int */ #this = i;
static extension-type-member method A|constructor#(@#C2 core::int i) → self::A% /* erasure=core::int, declared=! */ {
lowered final self::A% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method A|constructor#_#new#tearOff(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#_#new#tearOff(core::int i) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#(i);
@#C2
static extension-type-member method A|constructor#constructor(core::int i) → self::A /* = core::int */ {
lowered final self::A /* = core::int */ #this = i;
static extension-type-member method A|constructor#constructor(core::int i) → self::A% /* erasure=core::int, declared=! */ {
lowered final self::A% /* erasure=core::int, declared=! */ #this = i;
return #this;
}
static extension-type-member method A|constructor#_#constructor#tearOff(core::int i) → self::A /* = core::int */
static extension-type-member method A|constructor#_#constructor#tearOff(core::int i) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#constructor(i);
@#C2
static extension-type-member method A|m(lowered final self::A /* = core::int */ #this) → void {}
static extension-type-member method A|get#m(lowered final self::A /* = core::int */ #this) → () → void
static extension-type-member method A|m(lowered final self::A% /* erasure=core::int, declared=! */ #this) → void {}
static extension-type-member method A|get#m(lowered final self::A% /* erasure=core::int, declared=! */ #this) → () → void
return () → void => self::A|m(#this);
constants {

View file

@ -324,7 +324,7 @@ extension type E(self::B it) implements self::A {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
extension type F(self::B it) implements self::E /* = self::B */, self::B {
extension type F(self::B it) implements self::E /* erasure=self::B */, self::B {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::F|constructor#;
constructor tearoff • = self::F|constructor#_#new#tearOff;
@ -339,49 +339,49 @@ extension type G2<T extends core::Object>(T o) implements core::Object {
constructor • = self::G2|constructor#;
constructor tearoff • = self::G2|constructor#_#new#tearOff;
}
static extension-type-member method C|constructor#(core::Object? o) → self::C /* = core::Object? */ {
lowered final self::C /* = core::Object? */ #this = o;
static extension-type-member method C|constructor#(core::Object? o) → self::C% /* erasure=core::Object?, declared=! */ {
lowered final self::C% /* erasure=core::Object?, declared=! */ #this = o;
return #this;
}
static extension-type-member method C|constructor#_#new#tearOff(core::Object? o) → self::C /* = core::Object? */
static extension-type-member method C|constructor#_#new#tearOff(core::Object? o) → self::C% /* erasure=core::Object?, declared=! */
return self::C|constructor#(o);
static extension-type-member method D|constructor#(core::Object o) → self::D /* = core::Object */ {
lowered final self::D /* = core::Object */ #this = o;
static extension-type-member method D|constructor#(core::Object o) → self::D /* erasure=core::Object */ {
lowered final self::D /* erasure=core::Object */ #this = o;
return #this;
}
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* = core::Object */
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* erasure=core::Object */
return self::D|constructor#(o);
static extension-type-member method D2|constructor#(core::Object o) → self::D2 /* = core::Object */ {
lowered final self::D2 /* = core::Object */ #this = o;
static extension-type-member method D2|constructor#(core::Object o) → self::D2% /* erasure=core::Object, declared=! */ {
lowered final self::D2% /* erasure=core::Object, declared=! */ #this = o;
return #this;
}
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2 /* = core::Object */
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2% /* erasure=core::Object, declared=! */
return self::D2|constructor#(o);
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
static extension-type-member method E|constructor#(self::B it) → self::E /* erasure=self::B */ {
lowered final self::E /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* erasure=self::B */
return self::E|constructor#(it);
static extension-type-member method F|constructor#(self::B it) → self::F /* = self::B */ {
lowered final self::F /* = self::B */ #this = it;
static extension-type-member method F|constructor#(self::B it) → self::F /* erasure=self::B */ {
lowered final self::F /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* erasure=self::B */
return self::F|constructor#(it);
static extension-type-member method G|constructor#<T extends core::Object? = dynamic>(self::G|constructor#::T% o) → self::G<self::G|constructor#::T%> /* = self::G|constructor#::T% */ {
lowered final self::G<self::G|constructor#::T%> /* = self::G|constructor#::T% */ #this = o;
static extension-type-member method G|constructor#<T extends core::Object? = dynamic>(self::G|constructor#::T% o) → self::G<self::G|constructor#::T%>% /* erasure=self::G|constructor#::T%, declared=! */ {
lowered final self::G<self::G|constructor#::T%>% /* erasure=self::G|constructor#::T%, declared=! */ #this = o;
return #this;
}
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%> /* = self::G|constructor#_#new#tearOff::T% */
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%>% /* erasure=self::G|constructor#_#new#tearOff::T%, declared=! */
return self::G|constructor#<self::G|constructor#_#new#tearOff::T%>(o);
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ #this = o;
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* erasure=self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* erasure=self::G2|constructor#::T */ #this = o;
return #this;
}
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* = self::G2|constructor#_#new#tearOff::T */
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* erasure=self::G2|constructor#_#new#tearOff::T */
return self::G2|constructor#<self::G2|constructor#_#new#tearOff::T>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::D2 /* = core::Object */ d2, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2, self::G2<self::test::T3> /* = self::test::T3 */ g3) → dynamic {
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C% /* erasure=core::Object?, declared=! */ c, self::D /* erasure=core::Object */ d, self::D2% /* erasure=core::Object, declared=! */ d2, self::E /* erasure=self::B */ e, self::F /* erasure=self::B */ f, self::G<self::test::T1%>% /* erasure=self::test::T1%, declared=! */ g1, self::G<self::test::T2>% /* erasure=self::test::T2, declared=! */ g2, self::G2<self::test::T3> /* erasure=self::test::T3 */ g3) → dynamic {
o = o;
o = a;
o = b;
@ -465,113 +465,113 @@ static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 ex
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
- 'Object' is from 'dart:core'.
c = o; // Error
^" in o as{TypeError} self::C /* = core::Object? */;
^" in o as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = a; // Error
^" in a as{TypeError} self::C /* = core::Object? */;
^" in a as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = b; // Error
^" in b as{TypeError} self::C /* = core::Object? */;
^" in b as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = c;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = d; // Error
^" in d as{TypeError} self::C /* = core::Object? */;
^" in d as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = e; // Error
^" in e as{TypeError} self::C /* = core::Object? */;
^" in e as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = f; // Error
^" in f as{TypeError} self::C /* = core::Object? */;
^" in f as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = g1; // Error
^" in g1 as{TypeError} self::C /* = core::Object? */;
^" in g1 as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = g2; // Error
^" in g2 as{TypeError} self::C /* = core::Object? */;
^" in g2 as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
- 'Object' is from 'dart:core'.
d = o; // Error
^" in o as{TypeError} self::D /* = core::Object */;
^" in o as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = a; // Error
^" in a as{TypeError} self::D /* = core::Object */;
^" in a as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = b; // Error
^" in b as{TypeError} self::D /* = core::Object */;
^" in b as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = c; // Error
^" in c as{TypeError} self::D /* = core::Object */;
^" in c as{TypeError} self::D /* erasure=core::Object */;
d = d;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = e; // Error
^" in e as{TypeError} self::D /* = core::Object */;
^" in e as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = f; // Error
^" in f as{TypeError} self::D /* = core::Object */;
^" in f as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = g1; // Error
^" in g1 as{TypeError} self::D /* = core::Object */;
^" in g1 as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = g2; // Error
^" in g2 as{TypeError} self::D /* = core::Object */;
^" in g2 as{TypeError} self::D /* erasure=core::Object */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
- 'Object' is from 'dart:core'.
e = o; // Error
^" in o as{TypeError} self::E /* = self::B */;
^" in o as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = a; // Error
^" in a as{TypeError} self::E /* = self::B */;
^" in a as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = b; // Error
^" in b as{TypeError} self::E /* = self::B */;
^" in b as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = c; // Error
^" in c as{TypeError} self::E /* = self::B */;
^" in c as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = d; // Error
^" in d as{TypeError} self::E /* = self::B */;
^" in d as{TypeError} self::E /* erasure=self::B */;
e = e;
e = f;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = g1; // Error
^" in g1 as{TypeError} self::E /* = self::B */;
^" in g1 as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = g2; // Error
^" in g2 as{TypeError} self::E /* = self::B */;
^" in g2 as{TypeError} self::E /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
- 'Object' is from 'dart:core'.
f = o; // Error
^" in o as{TypeError} self::F /* = self::B */;
^" in o as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = a; // Error
^" in a as{TypeError} self::F /* = self::B */;
^" in a as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = b; // Error
^" in b as{TypeError} self::F /* = self::B */;
^" in b as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = c; // Error
^" in c as{TypeError} self::F /* = self::B */;
^" in c as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = d; // Error
^" in d as{TypeError} self::F /* = self::B */;
^" in d as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = e; // Error
^" in e as{TypeError} self::F /* = self::B */;
^" in e as{TypeError} self::F /* erasure=self::B */;
f = f;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = g1; // Error
^" in g1 as{TypeError} self::F /* = self::B */;
^" in g1 as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = g2; // Error
^" in g2 as{TypeError} self::F /* = self::B */;
^" in g2 as{TypeError} self::F /* erasure=self::B */;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
- 'Object' is from 'dart:core'.
g1 = o; // Error

View file

@ -324,7 +324,7 @@ extension type E(self::B it) implements self::A {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
extension type F(self::B it) implements self::E /* = self::B */, self::B {
extension type F(self::B it) implements self::E /* erasure=self::B */, self::B {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::F|constructor#;
constructor tearoff • = self::F|constructor#_#new#tearOff;
@ -339,71 +339,71 @@ extension type G2<T extends core::Object>(T o) implements core::Object {
constructor • = self::G2|constructor#;
constructor tearoff • = self::G2|constructor#_#new#tearOff;
}
static extension-type-member method C|constructor#(core::Object? o) → self::C /* = core::Object? */ {
lowered final self::C /* = core::Object? */ #this = o;
static extension-type-member method C|constructor#(core::Object? o) → self::C% /* erasure=core::Object?, declared=! */ {
lowered final self::C% /* erasure=core::Object?, declared=! */ #this = o;
return #this;
}
static extension-type-member method C|constructor#_#new#tearOff(core::Object? o) → self::C /* = core::Object? */
static extension-type-member method C|constructor#_#new#tearOff(core::Object? o) → self::C% /* erasure=core::Object?, declared=! */
return self::C|constructor#(o);
static extension-type-member method D|constructor#(core::Object o) → self::D /* = core::Object */ {
lowered final self::D /* = core::Object */ #this = o;
static extension-type-member method D|constructor#(core::Object o) → self::D /* erasure=core::Object */ {
lowered final self::D /* erasure=core::Object */ #this = o;
return #this;
}
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* = core::Object */
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* erasure=core::Object */
return self::D|constructor#(o);
static extension-type-member method D2|constructor#(core::Object o) → self::D2 /* = core::Object */ {
lowered final self::D2 /* = core::Object */ #this = o;
static extension-type-member method D2|constructor#(core::Object o) → self::D2% /* erasure=core::Object, declared=! */ {
lowered final self::D2% /* erasure=core::Object, declared=! */ #this = o;
return #this;
}
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2 /* = core::Object */
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2% /* erasure=core::Object, declared=! */
return self::D2|constructor#(o);
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
static extension-type-member method E|constructor#(self::B it) → self::E /* erasure=self::B */ {
lowered final self::E /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* erasure=self::B */
return self::E|constructor#(it);
static extension-type-member method F|constructor#(self::B it) → self::F /* = self::B */ {
lowered final self::F /* = self::B */ #this = it;
static extension-type-member method F|constructor#(self::B it) → self::F /* erasure=self::B */ {
lowered final self::F /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* erasure=self::B */
return self::F|constructor#(it);
static extension-type-member method G|constructor#<T extends core::Object? = dynamic>(self::G|constructor#::T% o) → self::G<self::G|constructor#::T%> /* = self::G|constructor#::T% */ {
lowered final self::G<self::G|constructor#::T%> /* = self::G|constructor#::T% */ #this = o;
static extension-type-member method G|constructor#<T extends core::Object? = dynamic>(self::G|constructor#::T% o) → self::G<self::G|constructor#::T%>% /* erasure=self::G|constructor#::T%, declared=! */ {
lowered final self::G<self::G|constructor#::T%>% /* erasure=self::G|constructor#::T%, declared=! */ #this = o;
return #this;
}
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%> /* = self::G|constructor#_#new#tearOff::T% */
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%>% /* erasure=self::G|constructor#_#new#tearOff::T%, declared=! */
return self::G|constructor#<self::G|constructor#_#new#tearOff::T%>(o);
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ #this = o;
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* erasure=self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* erasure=self::G2|constructor#::T */ #this = o;
return #this;
}
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* = self::G2|constructor#_#new#tearOff::T */
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* erasure=self::G2|constructor#_#new#tearOff::T */
return self::G2|constructor#<self::G2|constructor#_#new#tearOff::T>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::D2 /* = core::Object */ d2, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2, self::G2<self::test::T3> /* = self::test::T3 */ g3) → dynamic {
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C% /* erasure=core::Object?, declared=! */ c, self::D /* erasure=core::Object */ d, self::D2% /* erasure=core::Object, declared=! */ d2, self::E /* erasure=self::B */ e, self::F /* erasure=self::B */ f, self::G<self::test::T1%>% /* erasure=self::test::T1%, declared=! */ g1, self::G<self::test::T2>% /* erasure=self::test::T2, declared=! */ g2, self::G2<self::test::T3> /* erasure=self::test::T3 */ g3) → dynamic {
o = o;
o = a;
o = b;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:39:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = c; // Error
^" in let self::C /* = core::Object? */ #t1 = c in #t1 == null ?{core::Object} #t1 as{TypeError} core::Object : #t1{core::Object};
^" in let self::C% /* erasure=core::Object?, declared=! */ #t1 = c in #t1 == null ?{core::Object} #t1 as{TypeError} core::Object : #t1{core::Object};
o = d;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:41:7: Error: A value of type 'D2' can't be assigned to a variable of type 'Object' because 'D2' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = d2; // Error
^" in let self::D2 /* = core::Object */ #t2 = d2 in #t2 == null ?{core::Object} #t2 as{TypeError} core::Object : #t2{core::Object};
^" in let self::D2% /* erasure=core::Object, declared=! */ #t2 = d2 in #t2 == null ?{core::Object} #t2 as{TypeError} core::Object : #t2{core::Object};
o = e;
o = f;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = g1; // Error
^" in let self::G<self::test::T1%> /* = self::test::T1% */ #t3 = g1 in #t3 == null ?{core::Object} #t3 as{TypeError} core::Object : #t3{core::Object};
^" in let self::G<self::test::T1%>% /* erasure=self::test::T1%, declared=! */ #t3 = g1 in #t3 == null ?{core::Object} #t3 as{TypeError} core::Object : #t3{core::Object};
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:45:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'Object' because 'G<T2>' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = g2; // Error
^" in let self::G<self::test::T2> /* = self::test::T2 */ #t4 = g2 in #t4 == null ?{core::Object} #t4 as{TypeError} core::Object : #t4{core::Object};
^" in let self::G<self::test::T2>% /* erasure=self::test::T2, declared=! */ #t4 = g2 in #t4 == null ?{core::Object} #t4 as{TypeError} core::Object : #t4{core::Object};
o = g3;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
- 'Object' is from 'dart:core'.
@ -465,113 +465,113 @@ static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 ex
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
- 'Object' is from 'dart:core'.
c = o; // Error
^" in o as{TypeError} self::C /* = core::Object? */;
^" in o as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = a; // Error
^" in a as{TypeError} self::C /* = core::Object? */;
^" in a as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = b; // Error
^" in b as{TypeError} self::C /* = core::Object? */;
^" in b as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = c;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = d; // Error
^" in d as{TypeError} self::C /* = core::Object? */;
^" in d as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = e; // Error
^" in e as{TypeError} self::C /* = core::Object? */;
^" in e as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = f; // Error
^" in f as{TypeError} self::C /* = core::Object? */;
^" in f as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = g1; // Error
^" in g1 as{TypeError} self::C /* = core::Object? */;
^" in g1 as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = g2; // Error
^" in g2 as{TypeError} self::C /* = core::Object? */;
^" in g2 as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
- 'Object' is from 'dart:core'.
d = o; // Error
^" in o as{TypeError} self::D /* = core::Object */;
^" in o as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = a; // Error
^" in a as{TypeError} self::D /* = core::Object */;
^" in a as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = b; // Error
^" in b as{TypeError} self::D /* = core::Object */;
^" in b as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = c; // Error
^" in c as{TypeError} self::D /* = core::Object */;
^" in c as{TypeError} self::D /* erasure=core::Object */;
d = d;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = e; // Error
^" in e as{TypeError} self::D /* = core::Object */;
^" in e as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = f; // Error
^" in f as{TypeError} self::D /* = core::Object */;
^" in f as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = g1; // Error
^" in g1 as{TypeError} self::D /* = core::Object */;
^" in g1 as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = g2; // Error
^" in g2 as{TypeError} self::D /* = core::Object */;
^" in g2 as{TypeError} self::D /* erasure=core::Object */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
- 'Object' is from 'dart:core'.
e = o; // Error
^" in o as{TypeError} self::E /* = self::B */;
^" in o as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = a; // Error
^" in a as{TypeError} self::E /* = self::B */;
^" in a as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = b; // Error
^" in b as{TypeError} self::E /* = self::B */;
^" in b as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = c; // Error
^" in c as{TypeError} self::E /* = self::B */;
^" in c as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = d; // Error
^" in d as{TypeError} self::E /* = self::B */;
^" in d as{TypeError} self::E /* erasure=self::B */;
e = e;
e = f;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = g1; // Error
^" in g1 as{TypeError} self::E /* = self::B */;
^" in g1 as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = g2; // Error
^" in g2 as{TypeError} self::E /* = self::B */;
^" in g2 as{TypeError} self::E /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
- 'Object' is from 'dart:core'.
f = o; // Error
^" in o as{TypeError} self::F /* = self::B */;
^" in o as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = a; // Error
^" in a as{TypeError} self::F /* = self::B */;
^" in a as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = b; // Error
^" in b as{TypeError} self::F /* = self::B */;
^" in b as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = c; // Error
^" in c as{TypeError} self::F /* = self::B */;
^" in c as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = d; // Error
^" in d as{TypeError} self::F /* = self::B */;
^" in d as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = e; // Error
^" in e as{TypeError} self::F /* = self::B */;
^" in e as{TypeError} self::F /* erasure=self::B */;
f = f;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = g1; // Error
^" in g1 as{TypeError} self::F /* = self::B */;
^" in g1 as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = g2; // Error
^" in g2 as{TypeError} self::F /* = self::B */;
^" in g2 as{TypeError} self::F /* erasure=self::B */;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
- 'Object' is from 'dart:core'.
g1 = o; // Error

View file

@ -324,7 +324,7 @@ extension type E(self::B it) implements self::A {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
extension type F(self::B it) implements self::E /* = self::B */, self::B {
extension type F(self::B it) implements self::E /* erasure=self::B */, self::B {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::F|constructor#;
constructor tearoff • = self::F|constructor#_#new#tearOff;
@ -339,49 +339,49 @@ extension type G2<T extends core::Object>(T o) implements core::Object {
constructor • = self::G2|constructor#;
constructor tearoff • = self::G2|constructor#_#new#tearOff;
}
static extension-type-member method C|constructor#(core::Object? o) → self::C /* = core::Object? */ {
lowered final self::C /* = core::Object? */ #this = o;
static extension-type-member method C|constructor#(core::Object? o) → self::C% /* erasure=core::Object?, declared=! */ {
lowered final self::C% /* erasure=core::Object?, declared=! */ #this = o;
return #this;
}
static extension-type-member method C|constructor#_#new#tearOff(core::Object? o) → self::C /* = core::Object? */
static extension-type-member method C|constructor#_#new#tearOff(core::Object? o) → self::C% /* erasure=core::Object?, declared=! */
return self::C|constructor#(o);
static extension-type-member method D|constructor#(core::Object o) → self::D /* = core::Object */ {
lowered final self::D /* = core::Object */ #this = o;
static extension-type-member method D|constructor#(core::Object o) → self::D /* erasure=core::Object */ {
lowered final self::D /* erasure=core::Object */ #this = o;
return #this;
}
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* = core::Object */
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* erasure=core::Object */
return self::D|constructor#(o);
static extension-type-member method D2|constructor#(core::Object o) → self::D2 /* = core::Object */ {
lowered final self::D2 /* = core::Object */ #this = o;
static extension-type-member method D2|constructor#(core::Object o) → self::D2% /* erasure=core::Object, declared=! */ {
lowered final self::D2% /* erasure=core::Object, declared=! */ #this = o;
return #this;
}
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2 /* = core::Object */
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2% /* erasure=core::Object, declared=! */
return self::D2|constructor#(o);
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
static extension-type-member method E|constructor#(self::B it) → self::E /* erasure=self::B */ {
lowered final self::E /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* erasure=self::B */
return self::E|constructor#(it);
static extension-type-member method F|constructor#(self::B it) → self::F /* = self::B */ {
lowered final self::F /* = self::B */ #this = it;
static extension-type-member method F|constructor#(self::B it) → self::F /* erasure=self::B */ {
lowered final self::F /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* erasure=self::B */
return self::F|constructor#(it);
static extension-type-member method G|constructor#<T extends core::Object? = dynamic>(self::G|constructor#::T% o) → self::G<self::G|constructor#::T%> /* = self::G|constructor#::T% */ {
lowered final self::G<self::G|constructor#::T%> /* = self::G|constructor#::T% */ #this = o;
static extension-type-member method G|constructor#<T extends core::Object? = dynamic>(self::G|constructor#::T% o) → self::G<self::G|constructor#::T%>% /* erasure=self::G|constructor#::T%, declared=! */ {
lowered final self::G<self::G|constructor#::T%>% /* erasure=self::G|constructor#::T%, declared=! */ #this = o;
return #this;
}
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%> /* = self::G|constructor#_#new#tearOff::T% */
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%>% /* erasure=self::G|constructor#_#new#tearOff::T%, declared=! */
return self::G|constructor#<self::G|constructor#_#new#tearOff::T%>(o);
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ #this = o;
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* erasure=self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* erasure=self::G2|constructor#::T */ #this = o;
return #this;
}
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* = self::G2|constructor#_#new#tearOff::T */
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* erasure=self::G2|constructor#_#new#tearOff::T */
return self::G2|constructor#<self::G2|constructor#_#new#tearOff::T>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::D2 /* = core::Object */ d2, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2, self::G2<self::test::T3> /* = self::test::T3 */ g3) → dynamic {
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C% /* erasure=core::Object?, declared=! */ c, self::D /* erasure=core::Object */ d, self::D2% /* erasure=core::Object, declared=! */ d2, self::E /* erasure=self::B */ e, self::F /* erasure=self::B */ f, self::G<self::test::T1%>% /* erasure=self::test::T1%, declared=! */ g1, self::G<self::test::T2>% /* erasure=self::test::T2, declared=! */ g2, self::G2<self::test::T3> /* erasure=self::test::T3 */ g3) → dynamic {
o = o;
o = a;
o = b;
@ -465,113 +465,113 @@ static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 ex
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
- 'Object' is from 'dart:core'.
c = o; // Error
^" in o as{TypeError} self::C /* = core::Object? */;
^" in o as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = a; // Error
^" in a as{TypeError} self::C /* = core::Object? */;
^" in a as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = b; // Error
^" in b as{TypeError} self::C /* = core::Object? */;
^" in b as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = c;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = d; // Error
^" in d as{TypeError} self::C /* = core::Object? */;
^" in d as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = e; // Error
^" in e as{TypeError} self::C /* = core::Object? */;
^" in e as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = f; // Error
^" in f as{TypeError} self::C /* = core::Object? */;
^" in f as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = g1; // Error
^" in g1 as{TypeError} self::C /* = core::Object? */;
^" in g1 as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = g2; // Error
^" in g2 as{TypeError} self::C /* = core::Object? */;
^" in g2 as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
- 'Object' is from 'dart:core'.
d = o; // Error
^" in o as{TypeError} self::D /* = core::Object */;
^" in o as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = a; // Error
^" in a as{TypeError} self::D /* = core::Object */;
^" in a as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = b; // Error
^" in b as{TypeError} self::D /* = core::Object */;
^" in b as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = c; // Error
^" in c as{TypeError} self::D /* = core::Object */;
^" in c as{TypeError} self::D /* erasure=core::Object */;
d = d;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = e; // Error
^" in e as{TypeError} self::D /* = core::Object */;
^" in e as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = f; // Error
^" in f as{TypeError} self::D /* = core::Object */;
^" in f as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = g1; // Error
^" in g1 as{TypeError} self::D /* = core::Object */;
^" in g1 as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = g2; // Error
^" in g2 as{TypeError} self::D /* = core::Object */;
^" in g2 as{TypeError} self::D /* erasure=core::Object */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
- 'Object' is from 'dart:core'.
e = o; // Error
^" in o as{TypeError} self::E /* = self::B */;
^" in o as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = a; // Error
^" in a as{TypeError} self::E /* = self::B */;
^" in a as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = b; // Error
^" in b as{TypeError} self::E /* = self::B */;
^" in b as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = c; // Error
^" in c as{TypeError} self::E /* = self::B */;
^" in c as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = d; // Error
^" in d as{TypeError} self::E /* = self::B */;
^" in d as{TypeError} self::E /* erasure=self::B */;
e = e;
e = f;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = g1; // Error
^" in g1 as{TypeError} self::E /* = self::B */;
^" in g1 as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = g2; // Error
^" in g2 as{TypeError} self::E /* = self::B */;
^" in g2 as{TypeError} self::E /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
- 'Object' is from 'dart:core'.
f = o; // Error
^" in o as{TypeError} self::F /* = self::B */;
^" in o as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = a; // Error
^" in a as{TypeError} self::F /* = self::B */;
^" in a as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = b; // Error
^" in b as{TypeError} self::F /* = self::B */;
^" in b as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = c; // Error
^" in c as{TypeError} self::F /* = self::B */;
^" in c as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = d; // Error
^" in d as{TypeError} self::F /* = self::B */;
^" in d as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = e; // Error
^" in e as{TypeError} self::F /* = self::B */;
^" in e as{TypeError} self::F /* erasure=self::B */;
f = f;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = g1; // Error
^" in g1 as{TypeError} self::F /* = self::B */;
^" in g1 as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = g2; // Error
^" in g2 as{TypeError} self::F /* = self::B */;
^" in g2 as{TypeError} self::F /* erasure=self::B */;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
- 'Object' is from 'dart:core'.
g1 = o; // Error

View file

@ -324,7 +324,7 @@ extension type E(self::B it) implements self::A {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
extension type F(self::B it) implements self::E /* = self::B */, self::B {
extension type F(self::B it) implements self::E /* erasure=self::B */, self::B {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::F|constructor#;
constructor tearoff • = self::F|constructor#_#new#tearOff;
@ -339,49 +339,49 @@ extension type G2<T extends core::Object>(T o) implements core::Object {
constructor • = self::G2|constructor#;
constructor tearoff • = self::G2|constructor#_#new#tearOff;
}
static extension-type-member method C|constructor#(core::Object? o) → self::C /* = core::Object? */ {
lowered final self::C /* = core::Object? */ #this = o;
static extension-type-member method C|constructor#(core::Object? o) → self::C% /* erasure=core::Object?, declared=! */ {
lowered final self::C% /* erasure=core::Object?, declared=! */ #this = o;
return #this;
}
static extension-type-member method C|constructor#_#new#tearOff(core::Object? o) → self::C /* = core::Object? */
static extension-type-member method C|constructor#_#new#tearOff(core::Object? o) → self::C% /* erasure=core::Object?, declared=! */
return self::C|constructor#(o);
static extension-type-member method D|constructor#(core::Object o) → self::D /* = core::Object */ {
lowered final self::D /* = core::Object */ #this = o;
static extension-type-member method D|constructor#(core::Object o) → self::D /* erasure=core::Object */ {
lowered final self::D /* erasure=core::Object */ #this = o;
return #this;
}
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* = core::Object */
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* erasure=core::Object */
return self::D|constructor#(o);
static extension-type-member method D2|constructor#(core::Object o) → self::D2 /* = core::Object */ {
lowered final self::D2 /* = core::Object */ #this = o;
static extension-type-member method D2|constructor#(core::Object o) → self::D2% /* erasure=core::Object, declared=! */ {
lowered final self::D2% /* erasure=core::Object, declared=! */ #this = o;
return #this;
}
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2 /* = core::Object */
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2% /* erasure=core::Object, declared=! */
return self::D2|constructor#(o);
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
static extension-type-member method E|constructor#(self::B it) → self::E /* erasure=self::B */ {
lowered final self::E /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* erasure=self::B */
return self::E|constructor#(it);
static extension-type-member method F|constructor#(self::B it) → self::F /* = self::B */ {
lowered final self::F /* = self::B */ #this = it;
static extension-type-member method F|constructor#(self::B it) → self::F /* erasure=self::B */ {
lowered final self::F /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* erasure=self::B */
return self::F|constructor#(it);
static extension-type-member method G|constructor#<T extends core::Object? = dynamic>(self::G|constructor#::T% o) → self::G<self::G|constructor#::T%> /* = self::G|constructor#::T% */ {
lowered final self::G<self::G|constructor#::T%> /* = self::G|constructor#::T% */ #this = o;
static extension-type-member method G|constructor#<T extends core::Object? = dynamic>(self::G|constructor#::T% o) → self::G<self::G|constructor#::T%>% /* erasure=self::G|constructor#::T%, declared=! */ {
lowered final self::G<self::G|constructor#::T%>% /* erasure=self::G|constructor#::T%, declared=! */ #this = o;
return #this;
}
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%> /* = self::G|constructor#_#new#tearOff::T% */
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%>% /* erasure=self::G|constructor#_#new#tearOff::T%, declared=! */
return self::G|constructor#<self::G|constructor#_#new#tearOff::T%>(o);
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ #this = o;
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* erasure=self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* erasure=self::G2|constructor#::T */ #this = o;
return #this;
}
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* = self::G2|constructor#_#new#tearOff::T */
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* erasure=self::G2|constructor#_#new#tearOff::T */
return self::G2|constructor#<self::G2|constructor#_#new#tearOff::T>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::D2 /* = core::Object */ d2, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2, self::G2<self::test::T3> /* = self::test::T3 */ g3) → dynamic {
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C% /* erasure=core::Object?, declared=! */ c, self::D /* erasure=core::Object */ d, self::D2% /* erasure=core::Object, declared=! */ d2, self::E /* erasure=self::B */ e, self::F /* erasure=self::B */ f, self::G<self::test::T1%>% /* erasure=self::test::T1%, declared=! */ g1, self::G<self::test::T2>% /* erasure=self::test::T2, declared=! */ g2, self::G2<self::test::T3> /* erasure=self::test::T3 */ g3) → dynamic {
o = o;
o = a;
o = b;
@ -465,113 +465,113 @@ static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 ex
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
- 'Object' is from 'dart:core'.
c = o; // Error
^" in o as{TypeError} self::C /* = core::Object? */;
^" in o as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = a; // Error
^" in a as{TypeError} self::C /* = core::Object? */;
^" in a as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = b; // Error
^" in b as{TypeError} self::C /* = core::Object? */;
^" in b as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = c;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = d; // Error
^" in d as{TypeError} self::C /* = core::Object? */;
^" in d as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = e; // Error
^" in e as{TypeError} self::C /* = core::Object? */;
^" in e as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = f; // Error
^" in f as{TypeError} self::C /* = core::Object? */;
^" in f as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = g1; // Error
^" in g1 as{TypeError} self::C /* = core::Object? */;
^" in g1 as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = g2; // Error
^" in g2 as{TypeError} self::C /* = core::Object? */;
^" in g2 as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
- 'Object' is from 'dart:core'.
d = o; // Error
^" in o as{TypeError} self::D /* = core::Object */;
^" in o as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = a; // Error
^" in a as{TypeError} self::D /* = core::Object */;
^" in a as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = b; // Error
^" in b as{TypeError} self::D /* = core::Object */;
^" in b as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = c; // Error
^" in c as{TypeError} self::D /* = core::Object */;
^" in c as{TypeError} self::D /* erasure=core::Object */;
d = d;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = e; // Error
^" in e as{TypeError} self::D /* = core::Object */;
^" in e as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = f; // Error
^" in f as{TypeError} self::D /* = core::Object */;
^" in f as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = g1; // Error
^" in g1 as{TypeError} self::D /* = core::Object */;
^" in g1 as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = g2; // Error
^" in g2 as{TypeError} self::D /* = core::Object */;
^" in g2 as{TypeError} self::D /* erasure=core::Object */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
- 'Object' is from 'dart:core'.
e = o; // Error
^" in o as{TypeError} self::E /* = self::B */;
^" in o as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = a; // Error
^" in a as{TypeError} self::E /* = self::B */;
^" in a as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = b; // Error
^" in b as{TypeError} self::E /* = self::B */;
^" in b as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = c; // Error
^" in c as{TypeError} self::E /* = self::B */;
^" in c as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = d; // Error
^" in d as{TypeError} self::E /* = self::B */;
^" in d as{TypeError} self::E /* erasure=self::B */;
e = e;
e = f;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = g1; // Error
^" in g1 as{TypeError} self::E /* = self::B */;
^" in g1 as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = g2; // Error
^" in g2 as{TypeError} self::E /* = self::B */;
^" in g2 as{TypeError} self::E /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
- 'Object' is from 'dart:core'.
f = o; // Error
^" in o as{TypeError} self::F /* = self::B */;
^" in o as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = a; // Error
^" in a as{TypeError} self::F /* = self::B */;
^" in a as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = b; // Error
^" in b as{TypeError} self::F /* = self::B */;
^" in b as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = c; // Error
^" in c as{TypeError} self::F /* = self::B */;
^" in c as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = d; // Error
^" in d as{TypeError} self::F /* = self::B */;
^" in d as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = e; // Error
^" in e as{TypeError} self::F /* = self::B */;
^" in e as{TypeError} self::F /* erasure=self::B */;
f = f;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = g1; // Error
^" in g1 as{TypeError} self::F /* = self::B */;
^" in g1 as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = g2; // Error
^" in g2 as{TypeError} self::F /* = self::B */;
^" in g2 as{TypeError} self::F /* erasure=self::B */;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
- 'Object' is from 'dart:core'.
g1 = o; // Error

View file

@ -30,7 +30,7 @@ extension type E(self::B it) implements self::A {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
extension type F(self::B it) implements self::E /* = self::B */, self::B {
extension type F(self::B it) implements self::E /* erasure=self::B */, self::B {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::F|constructor#;
constructor tearoff • = self::F|constructor#_#new#tearOff;
@ -45,33 +45,33 @@ extension type G2<T extends core::Object>(T o) implements core::Object {
constructor • = self::G2|constructor#;
constructor tearoff • = self::G2|constructor#_#new#tearOff;
}
static extension-type-member method C|constructor#(core::Object? o) → self::C /* = core::Object? */
static extension-type-member method C|constructor#(core::Object? o) → self::C% /* erasure=core::Object?, declared=! */
;
static extension-type-member method C|constructor#_#new#tearOff(core::Object? o) → self::C /* = core::Object? */
static extension-type-member method C|constructor#_#new#tearOff(core::Object? o) → self::C% /* erasure=core::Object?, declared=! */
return self::C|constructor#(o);
static extension-type-member method D|constructor#(core::Object o) → self::D /* = core::Object */
static extension-type-member method D|constructor#(core::Object o) → self::D /* erasure=core::Object */
;
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* = core::Object */
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* erasure=core::Object */
return self::D|constructor#(o);
static extension-type-member method D2|constructor#(core::Object o) → self::D2 /* = core::Object */
static extension-type-member method D2|constructor#(core::Object o) → self::D2% /* erasure=core::Object, declared=! */
;
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2 /* = core::Object */
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2% /* erasure=core::Object, declared=! */
return self::D2|constructor#(o);
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#(self::B it) → self::E /* erasure=self::B */
;
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* erasure=self::B */
return self::E|constructor#(it);
static extension-type-member method F|constructor#(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#(self::B it) → self::F /* erasure=self::B */
;
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* erasure=self::B */
return self::F|constructor#(it);
static extension-type-member method G|constructor#<T extends core::Object? = dynamic>(self::G|constructor#::T% o) → self::G<self::G|constructor#::T%> /* = self::G|constructor#::T% */
static extension-type-member method G|constructor#<T extends core::Object? = dynamic>(self::G|constructor#::T% o) → self::G<self::G|constructor#::T%>% /* erasure=self::G|constructor#::T%, declared=! */
;
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%> /* = self::G|constructor#_#new#tearOff::T% */
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%>% /* erasure=self::G|constructor#_#new#tearOff::T%, declared=! */
return self::G|constructor#<self::G|constructor#_#new#tearOff::T%>(o);
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* erasure=self::G2|constructor#::T */
;
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* = self::G2|constructor#_#new#tearOff::T */
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* erasure=self::G2|constructor#_#new#tearOff::T */
return self::G2|constructor#<self::G2|constructor#_#new#tearOff::T>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::D2 /* = core::Object */ d2, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2, self::G2<self::test::T3> /* = self::test::T3 */ g3) → dynamic
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C% /* erasure=core::Object?, declared=! */ c, self::D /* erasure=core::Object */ d, self::D2% /* erasure=core::Object, declared=! */ d2, self::E /* erasure=self::B */ e, self::F /* erasure=self::B */ f, self::G<self::test::T1%>% /* erasure=self::test::T1%, declared=! */ g1, self::G<self::test::T2>% /* erasure=self::test::T2, declared=! */ g2, self::G2<self::test::T3> /* erasure=self::test::T3 */ g3) → dynamic
;

View file

@ -324,7 +324,7 @@ extension type E(self::B it) implements self::A {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
extension type F(self::B it) implements self::E /* = self::B */, self::B {
extension type F(self::B it) implements self::E /* erasure=self::B */, self::B {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::F|constructor#;
constructor tearoff • = self::F|constructor#_#new#tearOff;
@ -339,49 +339,49 @@ extension type G2<T extends core::Object>(T o) implements core::Object {
constructor • = self::G2|constructor#;
constructor tearoff • = self::G2|constructor#_#new#tearOff;
}
static extension-type-member method C|constructor#(core::Object? o) → self::C /* = core::Object? */ {
lowered final self::C /* = core::Object? */ #this = o;
static extension-type-member method C|constructor#(core::Object? o) → self::C% /* erasure=core::Object?, declared=! */ {
lowered final self::C% /* erasure=core::Object?, declared=! */ #this = o;
return #this;
}
static extension-type-member method C|constructor#_#new#tearOff(core::Object? o) → self::C /* = core::Object? */
static extension-type-member method C|constructor#_#new#tearOff(core::Object? o) → self::C% /* erasure=core::Object?, declared=! */
return self::C|constructor#(o);
static extension-type-member method D|constructor#(core::Object o) → self::D /* = core::Object */ {
lowered final self::D /* = core::Object */ #this = o;
static extension-type-member method D|constructor#(core::Object o) → self::D /* erasure=core::Object */ {
lowered final self::D /* erasure=core::Object */ #this = o;
return #this;
}
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* = core::Object */
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* erasure=core::Object */
return self::D|constructor#(o);
static extension-type-member method D2|constructor#(core::Object o) → self::D2 /* = core::Object */ {
lowered final self::D2 /* = core::Object */ #this = o;
static extension-type-member method D2|constructor#(core::Object o) → self::D2% /* erasure=core::Object, declared=! */ {
lowered final self::D2% /* erasure=core::Object, declared=! */ #this = o;
return #this;
}
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2 /* = core::Object */
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2% /* erasure=core::Object, declared=! */
return self::D2|constructor#(o);
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
static extension-type-member method E|constructor#(self::B it) → self::E /* erasure=self::B */ {
lowered final self::E /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* = self::B */
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* erasure=self::B */
return self::E|constructor#(it);
static extension-type-member method F|constructor#(self::B it) → self::F /* = self::B */ {
lowered final self::F /* = self::B */ #this = it;
static extension-type-member method F|constructor#(self::B it) → self::F /* erasure=self::B */ {
lowered final self::F /* erasure=self::B */ #this = it;
return #this;
}
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* = self::B */
static extension-type-member method F|constructor#_#new#tearOff(self::B it) → self::F /* erasure=self::B */
return self::F|constructor#(it);
static extension-type-member method G|constructor#<T extends core::Object? = dynamic>(self::G|constructor#::T% o) → self::G<self::G|constructor#::T%> /* = self::G|constructor#::T% */ {
lowered final self::G<self::G|constructor#::T%> /* = self::G|constructor#::T% */ #this = o;
static extension-type-member method G|constructor#<T extends core::Object? = dynamic>(self::G|constructor#::T% o) → self::G<self::G|constructor#::T%>% /* erasure=self::G|constructor#::T%, declared=! */ {
lowered final self::G<self::G|constructor#::T%>% /* erasure=self::G|constructor#::T%, declared=! */ #this = o;
return #this;
}
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%> /* = self::G|constructor#_#new#tearOff::T% */
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%>% /* erasure=self::G|constructor#_#new#tearOff::T%, declared=! */
return self::G|constructor#<self::G|constructor#_#new#tearOff::T%>(o);
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ #this = o;
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* erasure=self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* erasure=self::G2|constructor#::T */ #this = o;
return #this;
}
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* = self::G2|constructor#_#new#tearOff::T */
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* erasure=self::G2|constructor#_#new#tearOff::T */
return self::G2|constructor#<self::G2|constructor#_#new#tearOff::T>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::D2 /* = core::Object */ d2, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2, self::G2<self::test::T3> /* = self::test::T3 */ g3) → dynamic {
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C% /* erasure=core::Object?, declared=! */ c, self::D /* erasure=core::Object */ d, self::D2% /* erasure=core::Object, declared=! */ d2, self::E /* erasure=self::B */ e, self::F /* erasure=self::B */ f, self::G<self::test::T1%>% /* erasure=self::test::T1%, declared=! */ g1, self::G<self::test::T2>% /* erasure=self::test::T2, declared=! */ g2, self::G2<self::test::T3> /* erasure=self::test::T3 */ g3) → dynamic {
o = o;
o = a;
o = b;
@ -465,113 +465,113 @@ static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 ex
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
- 'Object' is from 'dart:core'.
c = o; // Error
^" in o as{TypeError} self::C /* = core::Object? */;
^" in o as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = a; // Error
^" in a as{TypeError} self::C /* = core::Object? */;
^" in a as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = b; // Error
^" in b as{TypeError} self::C /* = core::Object? */;
^" in b as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = c;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = d; // Error
^" in d as{TypeError} self::C /* = core::Object? */;
^" in d as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = e; // Error
^" in e as{TypeError} self::C /* = core::Object? */;
^" in e as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = f; // Error
^" in f as{TypeError} self::C /* = core::Object? */;
^" in f as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = g1; // Error
^" in g1 as{TypeError} self::C /* = core::Object? */;
^" in g1 as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = g2; // Error
^" in g2 as{TypeError} self::C /* = core::Object? */;
^" in g2 as{TypeError} self::C% /* erasure=core::Object?, declared=! */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
- 'Object' is from 'dart:core'.
d = o; // Error
^" in o as{TypeError} self::D /* = core::Object */;
^" in o as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = a; // Error
^" in a as{TypeError} self::D /* = core::Object */;
^" in a as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = b; // Error
^" in b as{TypeError} self::D /* = core::Object */;
^" in b as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = c; // Error
^" in c as{TypeError} self::D /* = core::Object */;
^" in c as{TypeError} self::D /* erasure=core::Object */;
d = d;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = e; // Error
^" in e as{TypeError} self::D /* = core::Object */;
^" in e as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = f; // Error
^" in f as{TypeError} self::D /* = core::Object */;
^" in f as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = g1; // Error
^" in g1 as{TypeError} self::D /* = core::Object */;
^" in g1 as{TypeError} self::D /* erasure=core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = g2; // Error
^" in g2 as{TypeError} self::D /* = core::Object */;
^" in g2 as{TypeError} self::D /* erasure=core::Object */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
- 'Object' is from 'dart:core'.
e = o; // Error
^" in o as{TypeError} self::E /* = self::B */;
^" in o as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = a; // Error
^" in a as{TypeError} self::E /* = self::B */;
^" in a as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = b; // Error
^" in b as{TypeError} self::E /* = self::B */;
^" in b as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = c; // Error
^" in c as{TypeError} self::E /* = self::B */;
^" in c as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = d; // Error
^" in d as{TypeError} self::E /* = self::B */;
^" in d as{TypeError} self::E /* erasure=self::B */;
e = e;
e = f;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = g1; // Error
^" in g1 as{TypeError} self::E /* = self::B */;
^" in g1 as{TypeError} self::E /* erasure=self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = g2; // Error
^" in g2 as{TypeError} self::E /* = self::B */;
^" in g2 as{TypeError} self::E /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
- 'Object' is from 'dart:core'.
f = o; // Error
^" in o as{TypeError} self::F /* = self::B */;
^" in o as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = a; // Error
^" in a as{TypeError} self::F /* = self::B */;
^" in a as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = b; // Error
^" in b as{TypeError} self::F /* = self::B */;
^" in b as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = c; // Error
^" in c as{TypeError} self::F /* = self::B */;
^" in c as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = d; // Error
^" in d as{TypeError} self::F /* = self::B */;
^" in d as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = e; // Error
^" in e as{TypeError} self::F /* = self::B */;
^" in e as{TypeError} self::F /* erasure=self::B */;
f = f;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = g1; // Error
^" in g1 as{TypeError} self::F /* = self::B */;
^" in g1 as{TypeError} self::F /* erasure=self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = g2; // Error
^" in g2 as{TypeError} self::F /* = self::B */;
^" in g2 as{TypeError} self::F /* erasure=self::B */;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
- 'Object' is from 'dart:core'.
g1 = o; // Error

View file

@ -13,23 +13,23 @@ extension type V2<T extends asy::Future<core::Object>>(T id) implements asy::Fut
constructor • = self::V2|constructor#;
constructor tearoff • = self::V2|constructor#_#new#tearOff;
}
static extension-type-member method V1|constructor#(asy::Future<core::int> id) → self::V1 /* = asy::Future<core::int> */ {
lowered final self::V1 /* = asy::Future<core::int> */ #this = id;
static extension-type-member method V1|constructor#(asy::Future<core::int> id) → self::V1 /* erasure=asy::Future<core::int> */ {
lowered final self::V1 /* erasure=asy::Future<core::int> */ #this = id;
return #this;
}
static extension-type-member method V1|constructor#_#new#tearOff(asy::Future<core::int> id) → self::V1 /* = asy::Future<core::int> */
static extension-type-member method V1|constructor#_#new#tearOff(asy::Future<core::int> id) → self::V1 /* erasure=asy::Future<core::int> */
return self::V1|constructor#(id);
static extension-type-member method V2|constructor#<T extends asy::Future<core::Object>>(self::V2|constructor#::T id) → self::V2<self::V2|constructor#::T> /* = self::V2|constructor#::T */ {
lowered final self::V2<self::V2|constructor#::T> /* = self::V2|constructor#::T */ #this = id;
static extension-type-member method V2|constructor#<T extends asy::Future<core::Object>>(self::V2|constructor#::T id) → self::V2<self::V2|constructor#::T> /* erasure=self::V2|constructor#::T */ {
lowered final self::V2<self::V2|constructor#::T> /* erasure=self::V2|constructor#::T */ #this = id;
return #this;
}
static extension-type-member method V2|constructor#_#new#tearOff<T extends asy::Future<core::Object>>(self::V2|constructor#_#new#tearOff::T id) → self::V2<self::V2|constructor#_#new#tearOff::T> /* = self::V2|constructor#_#new#tearOff::T */
static extension-type-member method V2|constructor#_#new#tearOff<T extends asy::Future<core::Object>>(self::V2|constructor#_#new#tearOff::T id) → self::V2<self::V2|constructor#_#new#tearOff::T> /* erasure=self::V2|constructor#_#new#tearOff::T */
return self::V2|constructor#<self::V2|constructor#_#new#tearOff::T>(id);
static method main() → dynamic async /* emittedValueType= dynamic */ {
self::V1 /* = asy::Future<core::int> */ v1 = self::V1|constructor#(asy::Future::value<core::int>(42));
self::V1 /* erasure=asy::Future<core::int> */ v1 = self::V1|constructor#(asy::Future::value<core::int>(42));
core::int _v1 = await v1;
self::expect(42, _v1);
self::V2<asy::Future<core::String>> /* = asy::Future<core::String> */ v2 = self::V2|constructor#<asy::Future<core::String>>(asy::Future::value<core::String>("42"));
self::V2<asy::Future<core::String>> /* erasure=asy::Future<core::String> */ v2 = self::V2|constructor#<asy::Future<core::String>>(asy::Future::value<core::String>("42"));
core::Object _v2 = await v2;
self::expect("42", _v2);
}

View file

@ -13,23 +13,23 @@ extension type V2<T extends asy::Future<core::Object>>(T id) implements asy::Fut
constructor • = self::V2|constructor#;
constructor tearoff • = self::V2|constructor#_#new#tearOff;
}
static extension-type-member method V1|constructor#(asy::Future<core::int> id) → self::V1 /* = asy::Future<core::int> */ {
lowered final self::V1 /* = asy::Future<core::int> */ #this = id;
static extension-type-member method V1|constructor#(asy::Future<core::int> id) → self::V1 /* erasure=asy::Future<core::int> */ {
lowered final self::V1 /* erasure=asy::Future<core::int> */ #this = id;
return #this;
}
static extension-type-member method V1|constructor#_#new#tearOff(asy::Future<core::int> id) → self::V1 /* = asy::Future<core::int> */
static extension-type-member method V1|constructor#_#new#tearOff(asy::Future<core::int> id) → self::V1 /* erasure=asy::Future<core::int> */
return self::V1|constructor#(id);
static extension-type-member method V2|constructor#<T extends asy::Future<core::Object>>(self::V2|constructor#::T id) → self::V2<self::V2|constructor#::T> /* = self::V2|constructor#::T */ {
lowered final self::V2<self::V2|constructor#::T> /* = self::V2|constructor#::T */ #this = id;
static extension-type-member method V2|constructor#<T extends asy::Future<core::Object>>(self::V2|constructor#::T id) → self::V2<self::V2|constructor#::T> /* erasure=self::V2|constructor#::T */ {
lowered final self::V2<self::V2|constructor#::T> /* erasure=self::V2|constructor#::T */ #this = id;
return #this;
}
static extension-type-member method V2|constructor#_#new#tearOff<T extends asy::Future<core::Object>>(self::V2|constructor#_#new#tearOff::T id) → self::V2<self::V2|constructor#_#new#tearOff::T> /* = self::V2|constructor#_#new#tearOff::T */
static extension-type-member method V2|constructor#_#new#tearOff<T extends asy::Future<core::Object>>(self::V2|constructor#_#new#tearOff::T id) → self::V2<self::V2|constructor#_#new#tearOff::T> /* erasure=self::V2|constructor#_#new#tearOff::T */
return self::V2|constructor#<self::V2|constructor#_#new#tearOff::T>(id);
static method main() → dynamic async /* emittedValueType= dynamic */ {
self::V1 /* = asy::Future<core::int> */ v1 = self::V1|constructor#(asy::Future::value<core::int>(42));
self::V1 /* erasure=asy::Future<core::int> */ v1 = self::V1|constructor#(asy::Future::value<core::int>(42));
core::int _v1 = await v1;
self::expect(42, _v1);
self::V2<asy::Future<core::String>> /* = asy::Future<core::String> */ v2 = self::V2|constructor#<asy::Future<core::String>>(asy::Future::value<core::String>("42"));
self::V2<asy::Future<core::String>> /* erasure=asy::Future<core::String> */ v2 = self::V2|constructor#<asy::Future<core::String>>(asy::Future::value<core::String>("42"));
core::Object _v2 = await v2;
self::expect("42", _v2);
}

View file

@ -13,23 +13,23 @@ extension type V2<T extends asy::Future<core::Object>>(T id) implements asy::Fut
constructor • = self::V2|constructor#;
constructor tearoff • = self::V2|constructor#_#new#tearOff;
}
static extension-type-member method V1|constructor#(asy::Future<core::int> id) → self::V1 /* = asy::Future<core::int> */ {
lowered final self::V1 /* = asy::Future<core::int> */ #this = id;
static extension-type-member method V1|constructor#(asy::Future<core::int> id) → self::V1 /* erasure=asy::Future<core::int> */ {
lowered final self::V1 /* erasure=asy::Future<core::int> */ #this = id;
return #this;
}
static extension-type-member method V1|constructor#_#new#tearOff(asy::Future<core::int> id) → self::V1 /* = asy::Future<core::int> */
static extension-type-member method V1|constructor#_#new#tearOff(asy::Future<core::int> id) → self::V1 /* erasure=asy::Future<core::int> */
return self::V1|constructor#(id);
static extension-type-member method V2|constructor#<T extends asy::Future<core::Object>>(self::V2|constructor#::T id) → self::V2<self::V2|constructor#::T> /* = self::V2|constructor#::T */ {
lowered final self::V2<self::V2|constructor#::T> /* = self::V2|constructor#::T */ #this = id;
static extension-type-member method V2|constructor#<T extends asy::Future<core::Object>>(self::V2|constructor#::T id) → self::V2<self::V2|constructor#::T> /* erasure=self::V2|constructor#::T */ {
lowered final self::V2<self::V2|constructor#::T> /* erasure=self::V2|constructor#::T */ #this = id;
return #this;
}
static extension-type-member method V2|constructor#_#new#tearOff<T extends asy::Future<core::Object>>(self::V2|constructor#_#new#tearOff::T id) → self::V2<self::V2|constructor#_#new#tearOff::T> /* = self::V2|constructor#_#new#tearOff::T */
static extension-type-member method V2|constructor#_#new#tearOff<T extends asy::Future<core::Object>>(self::V2|constructor#_#new#tearOff::T id) → self::V2<self::V2|constructor#_#new#tearOff::T> /* erasure=self::V2|constructor#_#new#tearOff::T */
return self::V2|constructor#<self::V2|constructor#_#new#tearOff::T>(id);
static method main() → dynamic async /* emittedValueType= dynamic */ {
self::V1 /* = asy::Future<core::int> */ v1 = self::V1|constructor#(asy::Future::value<core::int>(42));
self::V1 /* erasure=asy::Future<core::int> */ v1 = self::V1|constructor#(asy::Future::value<core::int>(42));
core::int _v1 = await v1;
self::expect(42, _v1);
self::V2<asy::Future<core::String>> /* = asy::Future<core::String> */ v2 = self::V2|constructor#<asy::Future<core::String>>(asy::Future::value<core::String>("42"));
self::V2<asy::Future<core::String>> /* erasure=asy::Future<core::String> */ v2 = self::V2|constructor#<asy::Future<core::String>>(asy::Future::value<core::String>("42"));
core::Object _v2 = await v2;
self::expect("42", _v2);
}

View file

@ -13,23 +13,23 @@ extension type V2<T extends asy::Future<core::Object>>(T id) implements asy::Fut
constructor • = self::V2|constructor#;
constructor tearoff • = self::V2|constructor#_#new#tearOff;
}
static extension-type-member method V1|constructor#(asy::Future<core::int> id) → self::V1 /* = asy::Future<core::int> */ {
lowered final self::V1 /* = asy::Future<core::int> */ #this = id;
static extension-type-member method V1|constructor#(asy::Future<core::int> id) → self::V1 /* erasure=asy::Future<core::int> */ {
lowered final self::V1 /* erasure=asy::Future<core::int> */ #this = id;
return #this;
}
static extension-type-member method V1|constructor#_#new#tearOff(asy::Future<core::int> id) → self::V1 /* = asy::Future<core::int> */
static extension-type-member method V1|constructor#_#new#tearOff(asy::Future<core::int> id) → self::V1 /* erasure=asy::Future<core::int> */
return self::V1|constructor#(id);
static extension-type-member method V2|constructor#<T extends asy::Future<core::Object>>(self::V2|constructor#::T id) → self::V2<self::V2|constructor#::T> /* = self::V2|constructor#::T */ {
lowered final self::V2<self::V2|constructor#::T> /* = self::V2|constructor#::T */ #this = id;
static extension-type-member method V2|constructor#<T extends asy::Future<core::Object>>(self::V2|constructor#::T id) → self::V2<self::V2|constructor#::T> /* erasure=self::V2|constructor#::T */ {
lowered final self::V2<self::V2|constructor#::T> /* erasure=self::V2|constructor#::T */ #this = id;
return #this;
}
static extension-type-member method V2|constructor#_#new#tearOff<T extends asy::Future<core::Object>>(self::V2|constructor#_#new#tearOff::T id) → self::V2<self::V2|constructor#_#new#tearOff::T> /* = self::V2|constructor#_#new#tearOff::T */
static extension-type-member method V2|constructor#_#new#tearOff<T extends asy::Future<core::Object>>(self::V2|constructor#_#new#tearOff::T id) → self::V2<self::V2|constructor#_#new#tearOff::T> /* erasure=self::V2|constructor#_#new#tearOff::T */
return self::V2|constructor#<self::V2|constructor#_#new#tearOff::T>(id);
static method main() → dynamic async /* emittedValueType= dynamic */ {
self::V1 /* = asy::Future<core::int> */ v1 = self::V1|constructor#(asy::Future::value<core::int>(42));
self::V1 /* erasure=asy::Future<core::int> */ v1 = self::V1|constructor#(asy::Future::value<core::int>(42));
core::int _v1 = await v1;
self::expect(42, _v1);
self::V2<asy::Future<core::String>> /* = asy::Future<core::String> */ v2 = self::V2|constructor#<asy::Future<core::String>>(asy::Future::value<core::String>("42"));
self::V2<asy::Future<core::String>> /* erasure=asy::Future<core::String> */ v2 = self::V2|constructor#<asy::Future<core::String>>(asy::Future::value<core::String>("42"));
core::Object _v2 = await v2;
self::expect("42", _v2);
}

View file

@ -13,13 +13,13 @@ extension type V2<T extends asy::Future<core::Object>>(T id) implements asy::Fut
constructor • = self::V2|constructor#;
constructor tearoff • = self::V2|constructor#_#new#tearOff;
}
static extension-type-member method V1|constructor#(asy::Future<core::int> id) → self::V1 /* = asy::Future<core::int> */
static extension-type-member method V1|constructor#(asy::Future<core::int> id) → self::V1 /* erasure=asy::Future<core::int> */
;
static extension-type-member method V1|constructor#_#new#tearOff(asy::Future<core::int> id) → self::V1 /* = asy::Future<core::int> */
static extension-type-member method V1|constructor#_#new#tearOff(asy::Future<core::int> id) → self::V1 /* erasure=asy::Future<core::int> */
return self::V1|constructor#(id);
static extension-type-member method V2|constructor#<T extends asy::Future<core::Object>>(self::V2|constructor#::T id) → self::V2<self::V2|constructor#::T> /* = self::V2|constructor#::T */
static extension-type-member method V2|constructor#<T extends asy::Future<core::Object>>(self::V2|constructor#::T id) → self::V2<self::V2|constructor#::T> /* erasure=self::V2|constructor#::T */
;
static extension-type-member method V2|constructor#_#new#tearOff<T extends asy::Future<core::Object>>(self::V2|constructor#_#new#tearOff::T id) → self::V2<self::V2|constructor#_#new#tearOff::T> /* = self::V2|constructor#_#new#tearOff::T */
static extension-type-member method V2|constructor#_#new#tearOff<T extends asy::Future<core::Object>>(self::V2|constructor#_#new#tearOff::T id) → self::V2<self::V2|constructor#_#new#tearOff::T> /* erasure=self::V2|constructor#_#new#tearOff::T */
return self::V2|constructor#<self::V2|constructor#_#new#tearOff::T>(id);
static method main() → dynamic async
;

View file

@ -13,23 +13,23 @@ extension type V2<T extends asy::Future<core::Object>>(T id) implements asy::Fut
constructor • = self::V2|constructor#;
constructor tearoff • = self::V2|constructor#_#new#tearOff;
}
static extension-type-member method V1|constructor#(asy::Future<core::int> id) → self::V1 /* = asy::Future<core::int> */ {
lowered final self::V1 /* = asy::Future<core::int> */ #this = id;
static extension-type-member method V1|constructor#(asy::Future<core::int> id) → self::V1 /* erasure=asy::Future<core::int> */ {
lowered final self::V1 /* erasure=asy::Future<core::int> */ #this = id;
return #this;
}
static extension-type-member method V1|constructor#_#new#tearOff(asy::Future<core::int> id) → self::V1 /* = asy::Future<core::int> */
static extension-type-member method V1|constructor#_#new#tearOff(asy::Future<core::int> id) → self::V1 /* erasure=asy::Future<core::int> */
return self::V1|constructor#(id);
static extension-type-member method V2|constructor#<T extends asy::Future<core::Object>>(self::V2|constructor#::T id) → self::V2<self::V2|constructor#::T> /* = self::V2|constructor#::T */ {
lowered final self::V2<self::V2|constructor#::T> /* = self::V2|constructor#::T */ #this = id;
static extension-type-member method V2|constructor#<T extends asy::Future<core::Object>>(self::V2|constructor#::T id) → self::V2<self::V2|constructor#::T> /* erasure=self::V2|constructor#::T */ {
lowered final self::V2<self::V2|constructor#::T> /* erasure=self::V2|constructor#::T */ #this = id;
return #this;
}
static extension-type-member method V2|constructor#_#new#tearOff<T extends asy::Future<core::Object>>(self::V2|constructor#_#new#tearOff::T id) → self::V2<self::V2|constructor#_#new#tearOff::T> /* = self::V2|constructor#_#new#tearOff::T */
static extension-type-member method V2|constructor#_#new#tearOff<T extends asy::Future<core::Object>>(self::V2|constructor#_#new#tearOff::T id) → self::V2<self::V2|constructor#_#new#tearOff::T> /* erasure=self::V2|constructor#_#new#tearOff::T */
return self::V2|constructor#<self::V2|constructor#_#new#tearOff::T>(id);
static method main() → dynamic async /* emittedValueType= dynamic */ {
self::V1 /* = asy::Future<core::int> */ v1 = self::V1|constructor#(asy::Future::value<core::int>(42));
self::V1 /* erasure=asy::Future<core::int> */ v1 = self::V1|constructor#(asy::Future::value<core::int>(42));
core::int _v1 = await v1;
self::expect(42, _v1);
self::V2<asy::Future<core::String>> /* = asy::Future<core::String> */ v2 = self::V2|constructor#<asy::Future<core::String>>(asy::Future::value<core::String>("42"));
self::V2<asy::Future<core::String>> /* erasure=asy::Future<core::String> */ v2 = self::V2|constructor#<asy::Future<core::String>>(asy::Future::value<core::String>("42"));
core::Object _v2 = await v2;
self::expect("42", _v2);
}

View file

@ -19,13 +19,13 @@ class B extends core::Object implements self::A {
: super core::Object::•()
;
@#C1
get hashCode() → self::IntET /* = core::int */
get hashCode() → self::IntET /* erasure=core::int */
return self::IntET|constructor#(super.{core::Object::hashCode});
@#C1
get runtimeType() → self::TypeET /* = core::Type */
get runtimeType() → self::TypeET /* erasure=core::Type */
return self::TypeET|constructor#(super.{core::Object::runtimeType});
@#C1
operator ==(core::Object? other) → self::BoolET /* = core::bool */
operator ==(core::Object? other) → self::BoolET /* erasure=core::bool */
return self::BoolET|constructor#(other =={core::Object::==}{(core::Object) → core::bool} this);
}
extension type ET1(self::B b) implements self::A {
@ -33,7 +33,7 @@ extension type ET1(self::B b) implements self::A {
constructor • = self::ET1|constructor#;
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
}
extension type ET2(self::B b) implements self::ET1 /* = self::B */, self::B {
extension type ET2(self::B b) implements self::ET1 /* erasure=self::B */, self::B {
abstract extension-type-member representation-field get b() → self::B;
constructor • = self::ET2|constructor#;
constructor tearoff • = self::ET2|constructor#_#new#tearOff;
@ -53,47 +53,47 @@ extension type BoolET(core::bool b) implements core::bool {
constructor • = self::BoolET|constructor#;
constructor tearoff • = self::BoolET|constructor#_#new#tearOff;
}
static extension-type-member method ET1|constructor#(self::B b) → self::ET1 /* = self::B */ {
lowered final self::ET1 /* = self::B */ #this = b;
static extension-type-member method ET1|constructor#(self::B b) → self::ET1 /* erasure=self::B */ {
lowered final self::ET1 /* erasure=self::B */ #this = b;
return #this;
}
static extension-type-member method ET1|constructor#_#new#tearOff(self::B b) → self::ET1 /* = self::B */
static extension-type-member method ET1|constructor#_#new#tearOff(self::B b) → self::ET1 /* erasure=self::B */
return self::ET1|constructor#(b);
static extension-type-member method ET2|constructor#(self::B b) → self::ET2 /* = self::B */ {
lowered final self::ET2 /* = self::B */ #this = b;
static extension-type-member method ET2|constructor#(self::B b) → self::ET2 /* erasure=self::B */ {
lowered final self::ET2 /* erasure=self::B */ #this = b;
return #this;
}
static extension-type-member method ET2|constructor#_#new#tearOff(self::B b) → self::ET2 /* = self::B */
static extension-type-member method ET2|constructor#_#new#tearOff(self::B b) → self::ET2 /* erasure=self::B */
return self::ET2|constructor#(b);
static extension-type-member method IntET|constructor#(core::int i) → self::IntET /* = core::int */ {
lowered final self::IntET /* = core::int */ #this = i;
static extension-type-member method IntET|constructor#(core::int i) → self::IntET /* erasure=core::int */ {
lowered final self::IntET /* erasure=core::int */ #this = i;
return #this;
}
static extension-type-member method IntET|constructor#_#new#tearOff(core::int i) → self::IntET /* = core::int */
static extension-type-member method IntET|constructor#_#new#tearOff(core::int i) → self::IntET /* erasure=core::int */
return self::IntET|constructor#(i);
static extension-type-member method TypeET|constructor#(core::Type t) → self::TypeET /* = core::Type */ {
lowered final self::TypeET /* = core::Type */ #this = t;
static extension-type-member method TypeET|constructor#(core::Type t) → self::TypeET /* erasure=core::Type */ {
lowered final self::TypeET /* erasure=core::Type */ #this = t;
return #this;
}
static extension-type-member method TypeET|constructor#_#new#tearOff(core::Type t) → self::TypeET /* = core::Type */
static extension-type-member method TypeET|constructor#_#new#tearOff(core::Type t) → self::TypeET /* erasure=core::Type */
return self::TypeET|constructor#(t);
static extension-type-member method BoolET|constructor#(core::bool b) → self::BoolET /* = core::bool */ {
lowered final self::BoolET /* = core::bool */ #this = b;
static extension-type-member method BoolET|constructor#(core::bool b) → self::BoolET /* erasure=core::bool */ {
lowered final self::BoolET /* erasure=core::bool */ #this = b;
return #this;
}
static extension-type-member method BoolET|constructor#_#new#tearOff(core::bool b) → self::BoolET /* = core::bool */
static extension-type-member method BoolET|constructor#_#new#tearOff(core::bool b) → self::BoolET /* erasure=core::bool */
return self::BoolET|constructor#(b);
static method test() → void {
self::ET2 /* = self::B */ e2 = self::ET2|constructor#(new self::B::•());
self::ET1 /* = self::B */ e1 = e2;
self::ET2 /* erasure=self::B */ e2 = self::ET2|constructor#(new self::B::•());
self::ET1 /* erasure=self::B */ e1 = e2;
core::int hc1 = e1.{core::Object::hashCode}{core::int};
self::IntET /* = core::int */ hc2 = e2.{self::B::hashCode}{self::IntET /* = core::int */};
self::IntET /* erasure=core::int */ hc2 = e2.{self::B::hashCode}{self::IntET /* erasure=core::int */};
core::Type t1 = e1.{core::Object::runtimeType}{core::Type};
self::TypeET /* = core::Type */ t2 = e2.{self::B::runtimeType}{self::TypeET /* = core::Type */};
self::TypeET /* erasure=core::Type */ t2 = e2.{self::B::runtimeType}{self::TypeET /* erasure=core::Type */};
core::bool b1 = e1 =={core::Object::==}{(core::Object) → core::bool} e1;
self::BoolET /* = core::bool */ b2 = invalid-expression "pkg/front_end/testcases/extension_types/built_in_types.dart:43:18: Error: A value of type 'bool' can't be assigned to a variable of type 'BoolET'.
self::BoolET /* erasure=core::bool */ b2 = invalid-expression "pkg/front_end/testcases/extension_types/built_in_types.dart:43:18: Error: A value of type 'bool' can't be assigned to a variable of type 'BoolET'.
BoolET b2 = e2 == e2; /* Error */
^" in (e2 =={self::B::==}{(core::Object?) → self::BoolET /* = core::bool */} e2) as{TypeError} self::BoolET /* = core::bool */;
^" in (e2 =={self::B::==}{(core::Object?) → self::BoolET /* erasure=core::bool */} e2) as{TypeError} self::BoolET /* erasure=core::bool */;
}
constants {

View file

@ -19,13 +19,13 @@ class B extends core::Object implements self::A {
: super core::Object::•()
;
@#C1
get hashCode() → self::IntET /* = core::int */
get hashCode() → self::IntET /* erasure=core::int */
return self::IntET|constructor#(super.{core::Object::hashCode});
@#C1
get runtimeType() → self::TypeET /* = core::Type */
get runtimeType() → self::TypeET /* erasure=core::Type */
return self::TypeET|constructor#(super.{core::Object::runtimeType});
@#C1
operator ==(core::Object? other) → self::BoolET /* = core::bool */
operator ==(core::Object? other) → self::BoolET /* erasure=core::bool */
return self::BoolET|constructor#(other =={core::Object::==}{(core::Object) → core::bool} this);
}
extension type ET1(self::B b) implements self::A {
@ -33,7 +33,7 @@ extension type ET1(self::B b) implements self::A {
constructor • = self::ET1|constructor#;
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
}
extension type ET2(self::B b) implements self::ET1 /* = self::B */, self::B {
extension type ET2(self::B b) implements self::ET1 /* erasure=self::B */, self::B {
abstract extension-type-member representation-field get b() → self::B;
constructor • = self::ET2|constructor#;
constructor tearoff • = self::ET2|constructor#_#new#tearOff;
@ -53,47 +53,47 @@ extension type BoolET(core::bool b) implements core::bool {
constructor • = self::BoolET|constructor#;
constructor tearoff • = self::BoolET|constructor#_#new#tearOff;
}
static extension-type-member method ET1|constructor#(self::B b) → self::ET1 /* = self::B */ {
lowered final self::ET1 /* = self::B */ #this = b;
static extension-type-member method ET1|constructor#(self::B b) → self::ET1 /* erasure=self::B */ {
lowered final self::ET1 /* erasure=self::B */ #this = b;
return #this;
}
static extension-type-member method ET1|constructor#_#new#tearOff(self::B b) → self::ET1 /* = self::B */
static extension-type-member method ET1|constructor#_#new#tearOff(self::B b) → self::ET1 /* erasure=self::B */
return self::ET1|constructor#(b);
static extension-type-member method ET2|constructor#(self::B b) → self::ET2 /* = self::B */ {
lowered final self::ET2 /* = self::B */ #this = b;
static extension-type-member method ET2|constructor#(self::B b) → self::ET2 /* erasure=self::B */ {
lowered final self::ET2 /* erasure=self::B */ #this = b;
return #this;
}
static extension-type-member method ET2|constructor#_#new#tearOff(self::B b) → self::ET2 /* = self::B */
static extension-type-member method ET2|constructor#_#new#tearOff(self::B b) → self::ET2 /* erasure=self::B */
return self::ET2|constructor#(b);
static extension-type-member method IntET|constructor#(core::int i) → self::IntET /* = core::int */ {
lowered final self::IntET /* = core::int */ #this = i;
static extension-type-member method IntET|constructor#(core::int i) → self::IntET /* erasure=core::int */ {
lowered final self::IntET /* erasure=core::int */ #this = i;
return #this;
}
static extension-type-member method IntET|constructor#_#new#tearOff(core::int i) → self::IntET /* = core::int */
static extension-type-member method IntET|constructor#_#new#tearOff(core::int i) → self::IntET /* erasure=core::int */
return self::IntET|constructor#(i);
static extension-type-member method TypeET|constructor#(core::Type t) → self::TypeET /* = core::Type */ {
lowered final self::TypeET /* = core::Type */ #this = t;
static extension-type-member method TypeET|constructor#(core::Type t) → self::TypeET /* erasure=core::Type */ {
lowered final self::TypeET /* erasure=core::Type */ #this = t;
return #this;
}
static extension-type-member method TypeET|constructor#_#new#tearOff(core::Type t) → self::TypeET /* = core::Type */
static extension-type-member method TypeET|constructor#_#new#tearOff(core::Type t) → self::TypeET /* erasure=core::Type */
return self::TypeET|constructor#(t);
static extension-type-member method BoolET|constructor#(core::bool b) → self::BoolET /* = core::bool */ {
lowered final self::BoolET /* = core::bool */ #this = b;
static extension-type-member method BoolET|constructor#(core::bool b) → self::BoolET /* erasure=core::bool */ {
lowered final self::BoolET /* erasure=core::bool */ #this = b;
return #this;
}
static extension-type-member method BoolET|constructor#_#new#tearOff(core::bool b) → self::BoolET /* = core::bool */
static extension-type-member method BoolET|constructor#_#new#tearOff(core::bool b) → self::BoolET /* erasure=core::bool */
return self::BoolET|constructor#(b);
static method test() → void {
self::ET2 /* = self::B */ e2 = self::ET2|constructor#(new self::B::•());
self::ET1 /* = self::B */ e1 = e2;
self::ET2 /* erasure=self::B */ e2 = self::ET2|constructor#(new self::B::•());
self::ET1 /* erasure=self::B */ e1 = e2;
core::int hc1 = e1.{core::Object::hashCode}{core::int};
self::IntET /* = core::int */ hc2 = e2.{self::B::hashCode}{self::IntET /* = core::int */};
self::IntET /* erasure=core::int */ hc2 = e2.{self::B::hashCode}{self::IntET /* erasure=core::int */};
core::Type t1 = e1.{core::Object::runtimeType}{core::Type};
self::TypeET /* = core::Type */ t2 = e2.{self::B::runtimeType}{self::TypeET /* = core::Type */};
self::TypeET /* erasure=core::Type */ t2 = e2.{self::B::runtimeType}{self::TypeET /* erasure=core::Type */};
core::bool b1 = e1 =={core::Object::==}{(core::Object) → core::bool} e1;
self::BoolET /* = core::bool */ b2 = invalid-expression "pkg/front_end/testcases/extension_types/built_in_types.dart:43:18: Error: A value of type 'bool' can't be assigned to a variable of type 'BoolET'.
self::BoolET /* erasure=core::bool */ b2 = invalid-expression "pkg/front_end/testcases/extension_types/built_in_types.dart:43:18: Error: A value of type 'bool' can't be assigned to a variable of type 'BoolET'.
BoolET b2 = e2 == e2; /* Error */
^" in (e2 =={self::B::==}{(core::Object?) → self::BoolET /* = core::bool */} e2) as{TypeError,Unchecked} self::BoolET /* = core::bool */;
^" in (e2 =={self::B::==}{(core::Object?) → self::BoolET /* erasure=core::bool */} e2) as{TypeError,Unchecked} self::BoolET /* erasure=core::bool */;
}
constants {

View file

@ -19,13 +19,13 @@ class B extends core::Object implements self::A {
: super core::Object::•()
;
@#C1
get hashCode() → self::IntET /* = core::int */
get hashCode() → self::IntET /* erasure=core::int */
return self::IntET|constructor#(super.{core::Object::hashCode});
@#C1
get runtimeType() → self::TypeET /* = core::Type */
get runtimeType() → self::TypeET /* erasure=core::Type */
return self::TypeET|constructor#(super.{core::Object::runtimeType});
@#C1
operator ==(core::Object? other) → self::BoolET /* = core::bool */
operator ==(core::Object? other) → self::BoolET /* erasure=core::bool */
return self::BoolET|constructor#(other =={core::Object::==}{(core::Object) → core::bool} this);
}
extension type ET1(self::B b) implements self::A {
@ -33,7 +33,7 @@ extension type ET1(self::B b) implements self::A {
constructor • = self::ET1|constructor#;
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
}
extension type ET2(self::B b) implements self::ET1 /* = self::B */, self::B {
extension type ET2(self::B b) implements self::ET1 /* erasure=self::B */, self::B {
abstract extension-type-member representation-field get b() → self::B;
constructor • = self::ET2|constructor#;
constructor tearoff • = self::ET2|constructor#_#new#tearOff;
@ -53,47 +53,47 @@ extension type BoolET(core::bool b) implements core::bool {
constructor • = self::BoolET|constructor#;
constructor tearoff • = self::BoolET|constructor#_#new#tearOff;
}
static extension-type-member method ET1|constructor#(self::B b) → self::ET1 /* = self::B */ {
lowered final self::ET1 /* = self::B */ #this = b;
static extension-type-member method ET1|constructor#(self::B b) → self::ET1 /* erasure=self::B */ {
lowered final self::ET1 /* erasure=self::B */ #this = b;
return #this;
}
static extension-type-member method ET1|constructor#_#new#tearOff(self::B b) → self::ET1 /* = self::B */
static extension-type-member method ET1|constructor#_#new#tearOff(self::B b) → self::ET1 /* erasure=self::B */
return self::ET1|constructor#(b);
static extension-type-member method ET2|constructor#(self::B b) → self::ET2 /* = self::B */ {
lowered final self::ET2 /* = self::B */ #this = b;
static extension-type-member method ET2|constructor#(self::B b) → self::ET2 /* erasure=self::B */ {
lowered final self::ET2 /* erasure=self::B */ #this = b;
return #this;
}
static extension-type-member method ET2|constructor#_#new#tearOff(self::B b) → self::ET2 /* = self::B */
static extension-type-member method ET2|constructor#_#new#tearOff(self::B b) → self::ET2 /* erasure=self::B */
return self::ET2|constructor#(b);
static extension-type-member method IntET|constructor#(core::int i) → self::IntET /* = core::int */ {
lowered final self::IntET /* = core::int */ #this = i;
static extension-type-member method IntET|constructor#(core::int i) → self::IntET /* erasure=core::int */ {
lowered final self::IntET /* erasure=core::int */ #this = i;
return #this;
}
static extension-type-member method IntET|constructor#_#new#tearOff(core::int i) → self::IntET /* = core::int */
static extension-type-member method IntET|constructor#_#new#tearOff(core::int i) → self::IntET /* erasure=core::int */
return self::IntET|constructor#(i);
static extension-type-member method TypeET|constructor#(core::Type t) → self::TypeET /* = core::Type */ {
lowered final self::TypeET /* = core::Type */ #this = t;
static extension-type-member method TypeET|constructor#(core::Type t) → self::TypeET /* erasure=core::Type */ {
lowered final self::TypeET /* erasure=core::Type */ #this = t;
return #this;
}
static extension-type-member method TypeET|constructor#_#new#tearOff(core::Type t) → self::TypeET /* = core::Type */
static extension-type-member method TypeET|constructor#_#new#tearOff(core::Type t) → self::TypeET /* erasure=core::Type */
return self::TypeET|constructor#(t);
static extension-type-member method BoolET|constructor#(core::bool b) → self::BoolET /* = core::bool */ {
lowered final self::BoolET /* = core::bool */ #this = b;
static extension-type-member method BoolET|constructor#(core::bool b) → self::BoolET /* erasure=core::bool */ {
lowered final self::BoolET /* erasure=core::bool */ #this = b;
return #this;
}
static extension-type-member method BoolET|constructor#_#new#tearOff(core::bool b) → self::BoolET /* = core::bool */
static extension-type-member method BoolET|constructor#_#new#tearOff(core::bool b) → self::BoolET /* erasure=core::bool */
return self::BoolET|constructor#(b);
static method test() → void {
self::ET2 /* = self::B */ e2 = self::ET2|constructor#(new self::B::•());
self::ET1 /* = self::B */ e1 = e2;
self::ET2 /* erasure=self::B */ e2 = self::ET2|constructor#(new self::B::•());
self::ET1 /* erasure=self::B */ e1 = e2;
core::int hc1 = e1.{core::Object::hashCode}{core::int};
self::IntET /* = core::int */ hc2 = e2.{self::B::hashCode}{self::IntET /* = core::int */};
self::IntET /* erasure=core::int */ hc2 = e2.{self::B::hashCode}{self::IntET /* erasure=core::int */};
core::Type t1 = e1.{core::Object::runtimeType}{core::Type};
self::TypeET /* = core::Type */ t2 = e2.{self::B::runtimeType}{self::TypeET /* = core::Type */};
self::TypeET /* erasure=core::Type */ t2 = e2.{self::B::runtimeType}{self::TypeET /* erasure=core::Type */};
core::bool b1 = e1 =={core::Object::==}{(core::Object) → core::bool} e1;
self::BoolET /* = core::bool */ b2 = invalid-expression "pkg/front_end/testcases/extension_types/built_in_types.dart:43:18: Error: A value of type 'bool' can't be assigned to a variable of type 'BoolET'.
self::BoolET /* erasure=core::bool */ b2 = invalid-expression "pkg/front_end/testcases/extension_types/built_in_types.dart:43:18: Error: A value of type 'bool' can't be assigned to a variable of type 'BoolET'.
BoolET b2 = e2 == e2; /* Error */
^" in (e2 =={self::B::==}{(core::Object?) → self::BoolET /* = core::bool */} e2) as{TypeError} self::BoolET /* = core::bool */;
^" in (e2 =={self::B::==}{(core::Object?) → self::BoolET /* erasure=core::bool */} e2) as{TypeError} self::BoolET /* erasure=core::bool */;
}
constants {

View file

@ -19,13 +19,13 @@ class B extends core::Object implements self::A {
: super core::Object::•()
;
@#C1
get hashCode() → self::IntET /* = core::int */
get hashCode() → self::IntET /* erasure=core::int */
return self::IntET|constructor#(super.{core::Object::hashCode});
@#C1
get runtimeType() → self::TypeET /* = core::Type */
get runtimeType() → self::TypeET /* erasure=core::Type */
return self::TypeET|constructor#(super.{core::Object::runtimeType});
@#C1
operator ==(core::Object? other) → self::BoolET /* = core::bool */
operator ==(core::Object? other) → self::BoolET /* erasure=core::bool */
return self::BoolET|constructor#(other =={core::Object::==}{(core::Object) → core::bool} this);
}
extension type ET1(self::B b) implements self::A {
@ -33,7 +33,7 @@ extension type ET1(self::B b) implements self::A {
constructor • = self::ET1|constructor#;
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
}
extension type ET2(self::B b) implements self::ET1 /* = self::B */, self::B {
extension type ET2(self::B b) implements self::ET1 /* erasure=self::B */, self::B {
abstract extension-type-member representation-field get b() → self::B;
constructor • = self::ET2|constructor#;
constructor tearoff • = self::ET2|constructor#_#new#tearOff;
@ -53,47 +53,47 @@ extension type BoolET(core::bool b) implements core::bool {
constructor • = self::BoolET|constructor#;
constructor tearoff • = self::BoolET|constructor#_#new#tearOff;
}
static extension-type-member method ET1|constructor#(self::B b) → self::ET1 /* = self::B */ {
lowered final self::ET1 /* = self::B */ #this = b;
static extension-type-member method ET1|constructor#(self::B b) → self::ET1 /* erasure=self::B */ {
lowered final self::ET1 /* erasure=self::B */ #this = b;
return #this;
}
static extension-type-member method ET1|constructor#_#new#tearOff(self::B b) → self::ET1 /* = self::B */
static extension-type-member method ET1|constructor#_#new#tearOff(self::B b) → self::ET1 /* erasure=self::B */
return self::ET1|constructor#(b);
static extension-type-member method ET2|constructor#(self::B b) → self::ET2 /* = self::B */ {
lowered final self::ET2 /* = self::B */ #this = b;
static extension-type-member method ET2|constructor#(self::B b) → self::ET2 /* erasure=self::B */ {
lowered final self::ET2 /* erasure=self::B */ #this = b;
return #this;
}
static extension-type-member method ET2|constructor#_#new#tearOff(self::B b) → self::ET2 /* = self::B */
static extension-type-member method ET2|constructor#_#new#tearOff(self::B b) → self::ET2 /* erasure=self::B */
return self::ET2|constructor#(b);
static extension-type-member method IntET|constructor#(core::int i) → self::IntET /* = core::int */ {
lowered final self::IntET /* = core::int */ #this = i;
static extension-type-member method IntET|constructor#(core::int i) → self::IntET /* erasure=core::int */ {
lowered final self::IntET /* erasure=core::int */ #this = i;
return #this;
}
static extension-type-member method IntET|constructor#_#new#tearOff(core::int i) → self::IntET /* = core::int */
static extension-type-member method IntET|constructor#_#new#tearOff(core::int i) → self::IntET /* erasure=core::int */
return self::IntET|constructor#(i);
static extension-type-member method TypeET|constructor#(core::Type t) → self::TypeET /* = core::Type */ {
lowered final self::TypeET /* = core::Type */ #this = t;
static extension-type-member method TypeET|constructor#(core::Type t) → self::TypeET /* erasure=core::Type */ {
lowered final self::TypeET /* erasure=core::Type */ #this = t;
return #this;
}
static extension-type-member method TypeET|constructor#_#new#tearOff(core::Type t) → self::TypeET /* = core::Type */
static extension-type-member method TypeET|constructor#_#new#tearOff(core::Type t) → self::TypeET /* erasure=core::Type */
return self::TypeET|constructor#(t);
static extension-type-member method BoolET|constructor#(core::bool b) → self::BoolET /* = core::bool */ {
lowered final self::BoolET /* = core::bool */ #this = b;
static extension-type-member method BoolET|constructor#(core::bool b) → self::BoolET /* erasure=core::bool */ {
lowered final self::BoolET /* erasure=core::bool */ #this = b;
return #this;
}
static extension-type-member method BoolET|constructor#_#new#tearOff(core::bool b) → self::BoolET /* = core::bool */
static extension-type-member method BoolET|constructor#_#new#tearOff(core::bool b) → self::BoolET /* erasure=core::bool */
return self::BoolET|constructor#(b);
static method test() → void {
self::ET2 /* = self::B */ e2 = self::ET2|constructor#(new self::B::•());
self::ET1 /* = self::B */ e1 = e2;
self::ET2 /* erasure=self::B */ e2 = self::ET2|constructor#(new self::B::•());
self::ET1 /* erasure=self::B */ e1 = e2;
core::int hc1 = e1.{core::Object::hashCode}{core::int};
self::IntET /* = core::int */ hc2 = e2.{self::B::hashCode}{self::IntET /* = core::int */};
self::IntET /* erasure=core::int */ hc2 = e2.{self::B::hashCode}{self::IntET /* erasure=core::int */};
core::Type t1 = e1.{core::Object::runtimeType}{core::Type};
self::TypeET /* = core::Type */ t2 = e2.{self::B::runtimeType}{self::TypeET /* = core::Type */};
self::TypeET /* erasure=core::Type */ t2 = e2.{self::B::runtimeType}{self::TypeET /* erasure=core::Type */};
core::bool b1 = e1 =={core::Object::==}{(core::Object) → core::bool} e1;
self::BoolET /* = core::bool */ b2 = invalid-expression "pkg/front_end/testcases/extension_types/built_in_types.dart:43:18: Error: A value of type 'bool' can't be assigned to a variable of type 'BoolET'.
self::BoolET /* erasure=core::bool */ b2 = invalid-expression "pkg/front_end/testcases/extension_types/built_in_types.dart:43:18: Error: A value of type 'bool' can't be assigned to a variable of type 'BoolET'.
BoolET b2 = e2 == e2; /* Error */
^" in (e2 =={self::B::==}{(core::Object?) → self::BoolET /* = core::bool */} e2) as{TypeError} self::BoolET /* = core::bool */;
^" in (e2 =={self::B::==}{(core::Object?) → self::BoolET /* erasure=core::bool */} e2) as{TypeError} self::BoolET /* erasure=core::bool */;
}
constants {

View file

@ -10,13 +10,13 @@ class B extends core::Object implements self::A {
synthetic constructor •() → self::B
;
@core::override
get hashCode() → self::IntET /* = core::int */
get hashCode() → self::IntET /* erasure=core::int */
;
@core::override
get runtimeType() → self::TypeET /* = core::Type */
get runtimeType() → self::TypeET /* erasure=core::Type */
;
@core::override
operator ==(core::Object? other) → self::BoolET /* = core::bool */
operator ==(core::Object? other) → self::BoolET /* erasure=core::bool */
;
}
extension type ET1(self::B b) implements self::A {
@ -24,7 +24,7 @@ extension type ET1(self::B b) implements self::A {
constructor • = self::ET1|constructor#;
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
}
extension type ET2(self::B b) implements self::ET1 /* = self::B */, self::B {
extension type ET2(self::B b) implements self::ET1 /* erasure=self::B */, self::B {
abstract extension-type-member representation-field get b() → self::B;
constructor • = self::ET2|constructor#;
constructor tearoff • = self::ET2|constructor#_#new#tearOff;
@ -44,25 +44,25 @@ extension type BoolET(core::bool b) implements core::bool {
constructor • = self::BoolET|constructor#;
constructor tearoff • = self::BoolET|constructor#_#new#tearOff;
}
static extension-type-member method ET1|constructor#(self::B b) → self::ET1 /* = self::B */
static extension-type-member method ET1|constructor#(self::B b) → self::ET1 /* erasure=self::B */
;
static extension-type-member method ET1|constructor#_#new#tearOff(self::B b) → self::ET1 /* = self::B */
static extension-type-member method ET1|constructor#_#new#tearOff(self::B b) → self::ET1 /* erasure=self::B */
return self::ET1|constructor#(b);
static extension-type-member method ET2|constructor#(self::B b) → self::ET2 /* = self::B */
static extension-type-member method ET2|constructor#(self::B b) → self::ET2 /* erasure=self::B */
;
static extension-type-member method ET2|constructor#_#new#tearOff(self::B b) → self::ET2 /* = self::B */
static extension-type-member method ET2|constructor#_#new#tearOff(self::B b) → self::ET2 /* erasure=self::B */
return self::ET2|constructor#(b);
static extension-type-member method IntET|constructor#(core::int i) → self::IntET /* = core::int */
static extension-type-member method IntET|constructor#(core::int i) → self::IntET /* erasure=core::int */
;
static extension-type-member method IntET|constructor#_#new#tearOff(core::int i) → self::IntET /* = core::int */
static extension-type-member method IntET|constructor#_#new#tearOff(core::int i) → self::IntET /* erasure=core::int */
return self::IntET|constructor#(i);
static extension-type-member method TypeET|constructor#(core::Type t) → self::TypeET /* = core::Type */
static extension-type-member method TypeET|constructor#(core::Type t) → self::TypeET /* erasure=core::Type */
;
static extension-type-member method TypeET|constructor#_#new#tearOff(core::Type t) → self::TypeET /* = core::Type */
static extension-type-member method TypeET|constructor#_#new#tearOff(core::Type t) → self::TypeET /* erasure=core::Type */
return self::TypeET|constructor#(t);
static extension-type-member method BoolET|constructor#(core::bool b) → self::BoolET /* = core::bool */
static extension-type-member method BoolET|constructor#(core::bool b) → self::BoolET /* erasure=core::bool */
;
static extension-type-member method BoolET|constructor#_#new#tearOff(core::bool b) → self::BoolET /* = core::bool */
static extension-type-member method BoolET|constructor#_#new#tearOff(core::bool b) → self::BoolET /* erasure=core::bool */
return self::BoolET|constructor#(b);
static method test() → void
;

View file

@ -19,13 +19,13 @@ class B extends core::Object implements self::A {
: super core::Object::•()
;
@#C1
get hashCode() → self::IntET /* = core::int */
get hashCode() → self::IntET /* erasure=core::int */
return self::IntET|constructor#(super.{core::Object::hashCode});
@#C1
get runtimeType() → self::TypeET /* = core::Type */
get runtimeType() → self::TypeET /* erasure=core::Type */
return self::TypeET|constructor#(super.{core::Object::runtimeType});
@#C1
operator ==(core::Object? other) → self::BoolET /* = core::bool */
operator ==(core::Object? other) → self::BoolET /* erasure=core::bool */
return self::BoolET|constructor#(other =={core::Object::==}{(core::Object) → core::bool} this);
}
extension type ET1(self::B b) implements self::A {
@ -33,7 +33,7 @@ extension type ET1(self::B b) implements self::A {
constructor • = self::ET1|constructor#;
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
}
extension type ET2(self::B b) implements self::ET1 /* = self::B */, self::B {
extension type ET2(self::B b) implements self::ET1 /* erasure=self::B */, self::B {
abstract extension-type-member representation-field get b() → self::B;
constructor • = self::ET2|constructor#;
constructor tearoff • = self::ET2|constructor#_#new#tearOff;
@ -53,47 +53,47 @@ extension type BoolET(core::bool b) implements core::bool {
constructor • = self::BoolET|constructor#;
constructor tearoff • = self::BoolET|constructor#_#new#tearOff;
}
static extension-type-member method ET1|constructor#(self::B b) → self::ET1 /* = self::B */ {
lowered final self::ET1 /* = self::B */ #this = b;
static extension-type-member method ET1|constructor#(self::B b) → self::ET1 /* erasure=self::B */ {
lowered final self::ET1 /* erasure=self::B */ #this = b;
return #this;
}
static extension-type-member method ET1|constructor#_#new#tearOff(self::B b) → self::ET1 /* = self::B */
static extension-type-member method ET1|constructor#_#new#tearOff(self::B b) → self::ET1 /* erasure=self::B */
return self::ET1|constructor#(b);
static extension-type-member method ET2|constructor#(self::B b) → self::ET2 /* = self::B */ {
lowered final self::ET2 /* = self::B */ #this = b;
static extension-type-member method ET2|constructor#(self::B b) → self::ET2 /* erasure=self::B */ {
lowered final self::ET2 /* erasure=self::B */ #this = b;
return #this;
}
static extension-type-member method ET2|constructor#_#new#tearOff(self::B b) → self::ET2 /* = self::B */
static extension-type-member method ET2|constructor#_#new#tearOff(self::B b) → self::ET2 /* erasure=self::B */
return self::ET2|constructor#(b);
static extension-type-member method IntET|constructor#(core::int i) → self::IntET /* = core::int */ {
lowered final self::IntET /* = core::int */ #this = i;
static extension-type-member method IntET|constructor#(core::int i) → self::IntET /* erasure=core::int */ {
lowered final self::IntET /* erasure=core::int */ #this = i;
return #this;
}
static extension-type-member method IntET|constructor#_#new#tearOff(core::int i) → self::IntET /* = core::int */
static extension-type-member method IntET|constructor#_#new#tearOff(core::int i) → self::IntET /* erasure=core::int */
return self::IntET|constructor#(i);
static extension-type-member method TypeET|constructor#(core::Type t) → self::TypeET /* = core::Type */ {
lowered final self::TypeET /* = core::Type */ #this = t;
static extension-type-member method TypeET|constructor#(core::Type t) → self::TypeET /* erasure=core::Type */ {
lowered final self::TypeET /* erasure=core::Type */ #this = t;
return #this;
}
static extension-type-member method TypeET|constructor#_#new#tearOff(core::Type t) → self::TypeET /* = core::Type */
static extension-type-member method TypeET|constructor#_#new#tearOff(core::Type t) → self::TypeET /* erasure=core::Type */
return self::TypeET|constructor#(t);
static extension-type-member method BoolET|constructor#(core::bool b) → self::BoolET /* = core::bool */ {
lowered final self::BoolET /* = core::bool */ #this = b;
static extension-type-member method BoolET|constructor#(core::bool b) → self::BoolET /* erasure=core::bool */ {
lowered final self::BoolET /* erasure=core::bool */ #this = b;
return #this;
}
static extension-type-member method BoolET|constructor#_#new#tearOff(core::bool b) → self::BoolET /* = core::bool */
static extension-type-member method BoolET|constructor#_#new#tearOff(core::bool b) → self::BoolET /* erasure=core::bool */
return self::BoolET|constructor#(b);
static method test() → void {
self::ET2 /* = self::B */ e2 = self::ET2|constructor#(new self::B::•());
self::ET1 /* = self::B */ e1 = e2;
self::ET2 /* erasure=self::B */ e2 = self::ET2|constructor#(new self::B::•());
self::ET1 /* erasure=self::B */ e1 = e2;
core::int hc1 = e1.{core::Object::hashCode}{core::int};
self::IntET /* = core::int */ hc2 = e2.{self::B::hashCode}{self::IntET /* = core::int */};
self::IntET /* erasure=core::int */ hc2 = e2.{self::B::hashCode}{self::IntET /* erasure=core::int */};
core::Type t1 = e1.{core::Object::runtimeType}{core::Type};
self::TypeET /* = core::Type */ t2 = e2.{self::B::runtimeType}{self::TypeET /* = core::Type */};
self::TypeET /* erasure=core::Type */ t2 = e2.{self::B::runtimeType}{self::TypeET /* erasure=core::Type */};
core::bool b1 = e1 =={core::Object::==}{(core::Object) → core::bool} e1;
self::BoolET /* = core::bool */ b2 = invalid-expression "pkg/front_end/testcases/extension_types/built_in_types.dart:43:18: Error: A value of type 'bool' can't be assigned to a variable of type 'BoolET'.
self::BoolET /* erasure=core::bool */ b2 = invalid-expression "pkg/front_end/testcases/extension_types/built_in_types.dart:43:18: Error: A value of type 'bool' can't be assigned to a variable of type 'BoolET'.
BoolET b2 = e2 == e2; /* Error */
^" in (e2 =={self::B::==}{(core::Object?) → self::BoolET /* = core::bool */} e2) as{TypeError,Unchecked} self::BoolET /* = core::bool */;
^" in (e2 =={self::B::==}{(core::Object?) → self::BoolET /* erasure=core::bool */} e2) as{TypeError,Unchecked} self::BoolET /* erasure=core::bool */;
}
constants {

View file

@ -19,13 +19,13 @@ extension type E(<T extends core::Object? = dynamic>(T%) → T% call) {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
static extension-type-member method E|constructor#(<T extends core::Object? = dynamic>(T%) → T% call) → self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ {
lowered final self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ #this = call;
static extension-type-member method E|constructor#(<T extends core::Object? = dynamic>(T%) → T% call) → self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ {
lowered final self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ #this = call;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(<T extends core::Object? = dynamic>(T%) → T% call) → self::E /* = <T extends core::Object? = dynamic>(T%) → T% */
static extension-type-member method E|constructor#_#new#tearOff(<T extends core::Object? = dynamic>(T%) → T% call) → self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */
return self::E|constructor#(call);
static method method(self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ e) → dynamic {
static method method(self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ e) → dynamic {
(core::int) → core::int a = invalid-expression "pkg/front_end/testcases/extension_types/call.dart:8:26: Error: The static type of the explicit instantiation operand must be a generic function type but is 'E'.
Try changing the operand or remove the type arguments.
int Function(int) a = e<int>; // Error

View file

@ -19,13 +19,13 @@ extension type E(<T extends core::Object? = dynamic>(T%) → T% call) {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
static extension-type-member method E|constructor#(<T extends core::Object? = dynamic>(T%) → T% call) → self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ {
lowered final self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ #this = call;
static extension-type-member method E|constructor#(<T extends core::Object? = dynamic>(T%) → T% call) → self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ {
lowered final self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ #this = call;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(<T extends core::Object? = dynamic>(T%) → T% call) → self::E /* = <T extends core::Object? = dynamic>(T%) → T% */
static extension-type-member method E|constructor#_#new#tearOff(<T extends core::Object? = dynamic>(T%) → T% call) → self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */
return self::E|constructor#(call);
static method method(self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ e) → dynamic {
static method method(self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ e) → dynamic {
(core::int) → core::int a = invalid-expression "pkg/front_end/testcases/extension_types/call.dart:8:26: Error: The static type of the explicit instantiation operand must be a generic function type but is 'E'.
Try changing the operand or remove the type arguments.
int Function(int) a = e<int>; // Error

View file

@ -19,13 +19,13 @@ extension type E(<T extends core::Object? = dynamic>(T%) → T% call) {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
static extension-type-member method E|constructor#(<T extends core::Object? = dynamic>(T%) → T% call) → self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ {
lowered final self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ #this = call;
static extension-type-member method E|constructor#(<T extends core::Object? = dynamic>(T%) → T% call) → self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ {
lowered final self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ #this = call;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(<T extends core::Object? = dynamic>(T%) → T% call) → self::E /* = <T extends core::Object? = dynamic>(T%) → T% */
static extension-type-member method E|constructor#_#new#tearOff(<T extends core::Object? = dynamic>(T%) → T% call) → self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */
return self::E|constructor#(call);
static method method(self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ e) → dynamic {
static method method(self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ e) → dynamic {
(core::int) → core::int a = invalid-expression "pkg/front_end/testcases/extension_types/call.dart:8:26: Error: The static type of the explicit instantiation operand must be a generic function type but is 'E'.
Try changing the operand or remove the type arguments.
int Function(int) a = e<int>; // Error

View file

@ -19,13 +19,13 @@ extension type E(<T extends core::Object? = dynamic>(T%) → T% call) {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
static extension-type-member method E|constructor#(<T extends core::Object? = dynamic>(T%) → T% call) → self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ {
lowered final self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ #this = call;
static extension-type-member method E|constructor#(<T extends core::Object? = dynamic>(T%) → T% call) → self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ {
lowered final self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ #this = call;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(<T extends core::Object? = dynamic>(T%) → T% call) → self::E /* = <T extends core::Object? = dynamic>(T%) → T% */
static extension-type-member method E|constructor#_#new#tearOff(<T extends core::Object? = dynamic>(T%) → T% call) → self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */
return self::E|constructor#(call);
static method method(self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ e) → dynamic {
static method method(self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ e) → dynamic {
(core::int) → core::int a = invalid-expression "pkg/front_end/testcases/extension_types/call.dart:8:26: Error: The static type of the explicit instantiation operand must be a generic function type but is 'E'.
Try changing the operand or remove the type arguments.
int Function(int) a = e<int>; // Error

View file

@ -7,9 +7,9 @@ extension type E(<T extends core::Object? = dynamic>(T%) → T% call) {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
static extension-type-member method E|constructor#(<T extends core::Object? = dynamic>(T%) → T% call) → self::E /* = <T extends core::Object? = dynamic>(T%) → T% */
static extension-type-member method E|constructor#(<T extends core::Object? = dynamic>(T%) → T% call) → self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */
;
static extension-type-member method E|constructor#_#new#tearOff(<T extends core::Object? = dynamic>(T%) → T% call) → self::E /* = <T extends core::Object? = dynamic>(T%) → T% */
static extension-type-member method E|constructor#_#new#tearOff(<T extends core::Object? = dynamic>(T%) → T% call) → self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */
return self::E|constructor#(call);
static method method(self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ e) → dynamic
static method method(self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ e) → dynamic
;

View file

@ -19,13 +19,13 @@ extension type E(<T extends core::Object? = dynamic>(T%) → T% call) {
constructor • = self::E|constructor#;
constructor tearoff • = self::E|constructor#_#new#tearOff;
}
static extension-type-member method E|constructor#(<T extends core::Object? = dynamic>(T%) → T% call) → self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ {
lowered final self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ #this = call;
static extension-type-member method E|constructor#(<T extends core::Object? = dynamic>(T%) → T% call) → self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ {
lowered final self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ #this = call;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(<T extends core::Object? = dynamic>(T%) → T% call) → self::E /* = <T extends core::Object? = dynamic>(T%) → T% */
static extension-type-member method E|constructor#_#new#tearOff(<T extends core::Object? = dynamic>(T%) → T% call) → self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */
return self::E|constructor#(call);
static method method(self::E /* = <T extends core::Object? = dynamic>(T%) → T% */ e) → dynamic {
static method method(self::E% /* erasure=<T extends core::Object? = dynamic>(T%) → T%, declared=! */ e) → dynamic {
(core::int) → core::int a = invalid-expression "pkg/front_end/testcases/extension_types/call.dart:8:26: Error: The static type of the explicit instantiation operand must be a generic function type but is 'E'.
Try changing the operand or remove the type arguments.
int Function(int) a = e<int>; // Error

Some files were not shown because too many files have changed in this diff Show more