| 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); |