blob: d456a788f69dbd2e709775affdbff6446b0ce7d9 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/extension_type_declarations.dart:14:13: Error: Extension types can't declare instance fields
// Try removing the field declaration or making it a static field
// final int field = 42;
// ^^^^^
//
import self as self;
import "dart:core" as core;
extension type ExtensionType1(core::int it) {
abstract extension-type-member representation-field get it() core::int;
constructor = self::ExtensionType1|constructor#;
constructor tearoff = self::ExtensionType1|constructor#_#new#tearOff;
}
extension type ExtensionType2(core::int it) implements self::ExtensionType1% /* erasure=core::int, declared=! */, core::int {
abstract extension-type-member representation-field get it() core::int;
constructor = self::ExtensionType2|constructor#;
constructor tearoff = self::ExtensionType2|constructor#_#new#tearOff;
}
extension type ExtensionType3<T extends core::num>(T it) {
abstract extension-type-member representation-field get it() T;
constructor = self::ExtensionType3|constructor#;
constructor tearoff = self::ExtensionType3|constructor#_#new#tearOff;
}
extension type ExtensionType4(core::int it) {
abstract extension-type-member representation-field get it() core::int;
abstract extension-type-member representation-field get field() core::int;
get getter = self::ExtensionType4|get#getter;
method method = self::ExtensionType4|method;
method tearoff method = self::ExtensionType4|get#method;
operator [] = self::ExtensionType4|[];
operator []= = self::ExtensionType4|[]=;
static field staticField = self::ExtensionType4|staticField;
static get staticGetter = get self::ExtensionType4|staticGetter;
static method staticMethod = self::ExtensionType4|staticMethod;
set setter = self::ExtensionType4|set#setter;
static set staticSetter = set self::ExtensionType4|staticSetter;
constructor = self::ExtensionType4|constructor#;
constructor tearoff = self::ExtensionType4|constructor#_#new#tearOff;
constructor constructor = self::ExtensionType4|constructor#constructor;
constructor tearoff constructor = self::ExtensionType4|constructor#_#constructor#tearOff;
constructor redirect = self::ExtensionType4|constructor#redirect;
constructor tearoff redirect = self::ExtensionType4|constructor#_#redirect#tearOff;
static factory fact = self::ExtensionType4|constructor#fact;
static factory tearoff fact = self::ExtensionType4|constructor#_#fact#tearOff;
static redirecting-factory redirectingFactory = self::ExtensionType4|constructor#redirectingFactory;
static redirecting-factory tearoff redirectingFactory = self::ExtensionType4|constructor#_#redirectingFactory#tearOff;
}
extension type ExtensionType5(core::int it) {
abstract extension-type-member representation-field get it() core::int;
constructor = self::ExtensionType5|constructor#;
constructor tearoff = self::ExtensionType5|constructor#_#new#tearOff;
}
extension type ExtensionType6(core::int it) {
abstract extension-type-member representation-field get it() core::int;
constructor id = self::ExtensionType6|constructor#id;
constructor tearoff id = self::ExtensionType6|constructor#_#id#tearOff;
}
extension type ExtensionType7<T extends core::num>(core::int it) {
abstract extension-type-member representation-field get it() core::int;
constructor id = self::ExtensionType7|constructor#id;
constructor tearoff id = self::ExtensionType7|constructor#_#id#tearOff;
}
static field core::int ExtensionType4|staticField = 42;
static extension-type-member method ExtensionType1|constructor#(core::int it) → self::ExtensionType1% /* erasure=core::int, declared=! */ {
lowered final self::ExtensionType1% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method ExtensionType1|constructor#_#new#tearOff(core::int it) → self::ExtensionType1% /* erasure=core::int, declared=! */
return self::ExtensionType1|constructor#(it);
static extension-type-member method ExtensionType2|constructor#(core::int it) → self::ExtensionType2 /* erasure=core::int */ {
lowered final self::ExtensionType2 /* erasure=core::int */ #this = it;
return #this;
}
static extension-type-member method ExtensionType2|constructor#_#new#tearOff(core::int it) → self::ExtensionType2 /* erasure=core::int */
return self::ExtensionType2|constructor#(it);
static extension-type-member method ExtensionType3|constructor#<T extends core::num>(self::ExtensionType3|constructor#::T it) → self::ExtensionType3<self::ExtensionType3|constructor#::T>% /* erasure=self::ExtensionType3|constructor#::T, declared=! */ {
lowered final self::ExtensionType3<self::ExtensionType3|constructor#::T>% /* erasure=self::ExtensionType3|constructor#::T, declared=! */ #this = it;
return #this;
}
static extension-type-member method ExtensionType3|constructor#_#new#tearOff<T extends core::num>(self::ExtensionType3|constructor#_#new#tearOff::T it) → self::ExtensionType3<self::ExtensionType3|constructor#_#new#tearOff::T>% /* erasure=self::ExtensionType3|constructor#_#new#tearOff::T, declared=! */
return self::ExtensionType3|constructor#<self::ExtensionType3|constructor#_#new#tearOff::T>(it);
static extension-type-member method ExtensionType4|constructor#(core::int it) → self::ExtensionType4% /* erasure=core::int, declared=! */ {
lowered final self::ExtensionType4% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method ExtensionType4|constructor#_#new#tearOff(core::int it) → self::ExtensionType4% /* erasure=core::int, declared=! */
return self::ExtensionType4|constructor#(it);
static extension-type-member method ExtensionType4|constructor#constructor(core::int it) → self::ExtensionType4% /* erasure=core::int, declared=! */ {
lowered final self::ExtensionType4% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method ExtensionType4|constructor#_#constructor#tearOff(core::int it) → self::ExtensionType4% /* erasure=core::int, declared=! */
return self::ExtensionType4|constructor#constructor(it);
static extension-type-member method ExtensionType4|constructor#redirect(core::int it) → self::ExtensionType4% /* erasure=core::int, declared=! */ {
lowered final self::ExtensionType4% /* erasure=core::int, declared=! */ #this;
#this = self::ExtensionType4|constructor#(it);
return #this;
}
static extension-type-member method ExtensionType4|constructor#_#redirect#tearOff(core::int it) → self::ExtensionType4% /* erasure=core::int, declared=! */
return self::ExtensionType4|constructor#redirect(it);
static extension-type-member method ExtensionType4|constructor#fact(core::int it) → self::ExtensionType4% /* erasure=core::int, declared=! */
return self::ExtensionType4|constructor#(it);
static extension-type-member method ExtensionType4|constructor#_#fact#tearOff(core::int it) → self::ExtensionType4% /* erasure=core::int, declared=! */
return self::ExtensionType4|constructor#fact(it);
static extension-type-member method ExtensionType4|constructor#redirectingFactory(core::int it) → self::ExtensionType4% /* erasure=core::int, declared=! */ /* redirection-target: self::ExtensionType4|constructor# */
return self::ExtensionType4|constructor#(it);
static extension-type-member method ExtensionType4|constructor#_#redirectingFactory#tearOff(core::int it) → self::ExtensionType4% /* erasure=core::int, declared=! */
return self::ExtensionType4|constructor#(it);
static extension-type-member method ExtensionType4|get#getter(lowered final self::ExtensionType4% /* erasure=core::int, declared=! */ #this) → core::int
return #this as{Unchecked} core::int;
static extension-type-member method ExtensionType4|set#setter(lowered final self::ExtensionType4% /* erasure=core::int, declared=! */ #this, core::int value) → void {}
static extension-type-member method ExtensionType4|method(lowered final self::ExtensionType4% /* erasure=core::int, declared=! */ #this) → core::int
return #this as{Unchecked} core::int;
static extension-type-member method ExtensionType4|get#method(lowered final self::ExtensionType4% /* erasure=core::int, declared=! */ #this) → () → core::int
return () core::int => self::ExtensionType4|method(#this);
static extension-type-member method ExtensionType4|[](lowered final self::ExtensionType4% /* erasure=core::int, declared=! */ #this, core::int index) → core::int
return #this as{Unchecked} core::int;
static extension-type-member method ExtensionType4|[]=(lowered final self::ExtensionType4% /* erasure=core::int, declared=! */ #this, core::int index, core::int value) → void {}
static extension-type-member get ExtensionType4|staticGetter() core::int
return 42;
static extension-type-member set ExtensionType4|staticSetter(core::int value) void {}
static extension-type-member method ExtensionType4|staticMethod() core::int
return 42;
static extension-type-member method ExtensionType5|constructor#(core::int it) → self::ExtensionType5% /* erasure=core::int, declared=! */ {
lowered final self::ExtensionType5% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method ExtensionType5|constructor#_#new#tearOff(core::int it) → self::ExtensionType5% /* erasure=core::int, declared=! */
return self::ExtensionType5|constructor#(it);
static extension-type-member method ExtensionType6|constructor#id(core::int it) → self::ExtensionType6% /* erasure=core::int, declared=! */ {
lowered final self::ExtensionType6% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method ExtensionType6|constructor#_#id#tearOff(core::int it) → self::ExtensionType6% /* erasure=core::int, declared=! */
return self::ExtensionType6|constructor#id(it);
static extension-type-member method ExtensionType7|constructor#id<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#id::T>% /* erasure=core::int, declared=! */ {
lowered final self::ExtensionType7<self::ExtensionType7|constructor#id::T>% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method ExtensionType7|constructor#_#id#tearOff<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#_#id#tearOff::T>% /* erasure=core::int, declared=! */
return self::ExtensionType7|constructor#id<self::ExtensionType7|constructor#_#id#tearOff::T>(it);