blob: 7be5c2af055416a9b448e655f9bb6003bcaf8782 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:67:12: Error: Conflicts with member 'method4'.
// void set method4(int value) {} /* Error */
// ^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:66:8: Error: Conflicts with setter 'method4'.
// void method4() {} /* Error */
// ^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:7:16: Error: The extension type 'ExtensionType1a' can't inherit the member 'method1' as both an extension type member and a non-extension type member.
// Try declaring a member 'method1' in 'ExtensionType1a' to resolve the conflict.
// extension type ExtensionType1a(ClassA c) /* Error */
// ^^^^^^^^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:11:8: Context: This is the inherited extension type member.
// void method1() {
// ^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:7:8: Context: This is the inherited non-extension type member.
// void method1() {}
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:15:16: Error: The extension type 'ExtensionType2a' can't inherit the member 'method1' as both an extension type member and a non-extension type member.
// Try declaring a member 'method1' in 'ExtensionType2a' to resolve the conflict.
// extension type ExtensionType2a(ClassC c) /* Error */
// ^^^^^^^^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:11:8: Context: This is one of the inherited extension type members.
// void method1() {
// ^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:25:8: Context: This is one of the inherited extension type members.
// void method1() {
// ^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:31:8: Context: This is the inherited non-extension type member.
// void method1() {}
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:23:16: Error: The extension type 'ExtensionType3a' can't inherit the member 'method1' as both an extension type member and a non-extension type member.
// Try declaring a member 'method1' in 'ExtensionType3a' to resolve the conflict.
// extension type ExtensionType3a(ClassC c) /* Error */
// ^^^^^^^^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:11:8: Context: This is the inherited extension type member.
// void method1() {
// ^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:7:8: Context: This is one of the inherited non-extension type members.
// void method1() {}
// ^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:21:8: Context: This is one of the inherited non-extension type members.
// void method1() {}
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:31:16: Error: The extension type 'ExtensionType4a' can't inherit the member 'method1' from more than one extension type.
// Try declaring a member 'method1' in 'ExtensionType4a' to resolve the conflict.
// extension type ExtensionType4a(ClassC c) /* Error */
// ^^^^^^^^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:11:8: Context: This is one of the inherited extension type members.
// void method1() {
// ^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:25:8: Context: This is one of the inherited extension type members.
// void method1() {
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:67:12: Error: 'method4' is already declared in this scope.
// void set method4(int value) {} /* Error */
// ^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:66:8: Context: Previous declaration of 'method4'.
// void method4() {} /* Error */
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:70:16: Error: Can't inherit members that conflict with each other.
// extension type ExtensionType9a(ClassJK n) /* Error */
// ^^^^^^^^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:75:8: Context: This is one inherited member.
// void method4() {}
// ^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:79:12: Context: This is the other inherited member.
// void set method4(int value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:79:16: Error: Can't inherit members that conflict with each other.
// extension type ExtensionType10a(ClassJK i) /* Error */
// ^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:85:8: Context: This is one inherited member.
// void method4() {}
// ^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:89:12: Context: This is the other inherited member.
// void set method4(int value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:89:11: Error: The type 'int' of the getter 'ExtensionType11.property' is not a subtype of the type 'String' of the setter 'ExtensionType11.property'.
// int get property => 42; /* Error */
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:90:12: Context: This is the declaration of the setter 'ExtensionType11.property'.
// void set property(String value) {} /* Error */
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:93:16: Error: The type 'int' of the inherited getter 'ClassL.property' is not a subtype of the type 'String' of the inherited setter 'ClassM.property'.
// extension type ExtensionType12a(ClassLM n) /* Error */
// ^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:93:11: Context: This is the declaration of the getter 'ClassL.property'.
// int get property => 42;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:97:12: Context: This is the declaration of the setter 'ClassM.property'.
// void set property(String value) {}
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:98:12: Error: The type 'int' of the inherited getter 'ClassL.property' is not a subtype of the type 'bool' of the setter 'ExtensionType12b.property'.
// void set property(bool value) {} /* Error */
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:93:11: Context: This is the declaration of the getter 'ClassL.property'.
// int get property => 42;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:103:12: Error: The type 'bool' of the getter 'ExtensionType12c.property' is not a subtype of the type 'String' of the inherited setter 'ClassM.property'.
// bool get property => true; /* Error */
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:97:12: Context: This is the declaration of the setter 'ClassM.property'.
// void set property(String value) {}
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:112:16: Error: The type 'int' of the inherited getter 'ExtensionTypeL.property' is not a subtype of the type 'String' of the inherited setter 'ExtensionTypeM.property'.
// extension type ExtensionType13a(ClassLM i) /* Error */
// ^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:103:11: Context: This is the declaration of the getter 'ExtensionTypeL.property'.
// int get property => 42;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:107:12: Context: This is the declaration of the setter 'ExtensionTypeM.property'.
// void set property(String value) {}
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:117:12: Error: The type 'int' of the inherited getter 'ExtensionTypeL.property' is not a subtype of the type 'bool' of the setter 'ExtensionType13b.property'.
// void set property(bool value) {} /* Error */
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:103:11: Context: This is the declaration of the getter 'ExtensionTypeL.property'.
// int get property => 42;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:122:12: Error: The type 'bool' of the getter 'ExtensionType13c.property' is not a subtype of the type 'String' of the inherited setter 'ExtensionTypeM.property'.
// bool get property => true; /* Error */
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:107:12: Context: This is the declaration of the setter 'ExtensionTypeM.property'.
// void set property(String value) {}
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:42:16: Error: Extension type 'ExtensionType6a' inherits multiple members named 'method2' with incompatible signatures.
// Try adding a declaration of 'method2' to 'ExtensionType6a'.
// extension type ExtensionType6a(ClassF c) /* Error */
// ^^^^^^^^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:45:5: Context: This is one of the inherited members.
// A method2() => new A();
// ^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:49:5: Context: This is one of the inherited members.
// B method2() => new B();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:50:16: Error: Extension type 'ExtensionType7a' inherits multiple members named 'method2' with incompatible signatures.
// Try adding a declaration of 'method2' to 'ExtensionType7a'.
// extension type ExtensionType7a(ClassF c) /* Error */
// ^^^^^^^^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:45:5: Context: This is one of the inherited members.
// A method2() => new A();
// ^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:49:5: Context: This is one of the inherited members.
// B method2() => new B();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:89:11: Error: The type 'int' of the getter 'property' is not a subtype of the type 'String' of the setter 'property'.
// int get property => 42; /* Error */
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts.dart:90:12: Context: This is the declaration of the setter 'property'.
// void set property(String value) {} /* Error */
// ^^^^^^^^
//
import self as self;
import "implements_conflicts_lib.dart" as imp;
import "dart:core" as core;
import "org-dartlang-testcase:///implements_conflicts_lib.dart";
extension type ExtensionType1a(imp::ClassA c) implements imp::ClassA, imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */ {
abstract extension-type-member representation-field get c() imp::ClassA;
constructor = self::ExtensionType1a|constructor#;
constructor tearoff = self::ExtensionType1a|constructor#_#new#tearOff;
}
extension type ExtensionType1b(imp::ClassA c) implements imp::ClassA, imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */ {
abstract extension-type-member representation-field get c() imp::ClassA;
method method1 = self::ExtensionType1b|method1;
method tearoff method1 = self::ExtensionType1b|get#method1;
constructor = self::ExtensionType1b|constructor#;
constructor tearoff = self::ExtensionType1b|constructor#_#new#tearOff;
}
extension type ExtensionType2a(imp::ClassC c) implements imp::ClassC, imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */, imp::ExtensionTypeB% /* erasure=imp::ClassB, declared=! */ {
abstract extension-type-member representation-field get c() imp::ClassC;
constructor = self::ExtensionType2a|constructor#;
constructor tearoff = self::ExtensionType2a|constructor#_#new#tearOff;
}
extension type ExtensionType2b(imp::ClassC c) implements imp::ClassC, imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */, imp::ExtensionTypeB% /* erasure=imp::ClassB, declared=! */ {
abstract extension-type-member representation-field get c() imp::ClassC;
method method1 = self::ExtensionType2b|method1;
method tearoff method1 = self::ExtensionType2b|get#method1;
constructor = self::ExtensionType2b|constructor#;
constructor tearoff = self::ExtensionType2b|constructor#_#new#tearOff;
}
extension type ExtensionType3a(imp::ClassC c) implements imp::ClassA, imp::ClassB, imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */ {
abstract extension-type-member representation-field get c() imp::ClassC;
constructor = self::ExtensionType3a|constructor#;
constructor tearoff = self::ExtensionType3a|constructor#_#new#tearOff;
}
extension type ExtensionType3b(imp::ClassC c) implements imp::ClassA, imp::ClassB, imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */ {
abstract extension-type-member representation-field get c() imp::ClassC;
method method1 = self::ExtensionType3b|method1;
method tearoff method1 = self::ExtensionType3b|get#method1;
constructor = self::ExtensionType3b|constructor#;
constructor tearoff = self::ExtensionType3b|constructor#_#new#tearOff;
}
extension type ExtensionType4a(imp::ClassC c) implements imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */, imp::ExtensionTypeB% /* erasure=imp::ClassB, declared=! */ {
abstract extension-type-member representation-field get c() imp::ClassC;
constructor = self::ExtensionType4a|constructor#;
constructor tearoff = self::ExtensionType4a|constructor#_#new#tearOff;
}
extension type ExtensionType4b(imp::ClassC c) implements imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */, imp::ExtensionTypeB% /* erasure=imp::ClassB, declared=! */ {
abstract extension-type-member representation-field get c() imp::ClassC;
method method1 = self::ExtensionType4b|method1;
method tearoff method1 = self::ExtensionType4b|get#method1;
constructor = self::ExtensionType4b|constructor#;
constructor tearoff = self::ExtensionType4b|constructor#_#new#tearOff;
}
extension type ExtensionType5(imp::ClassC c) implements imp::ExtensionTypeA1% /* erasure=imp::ClassA, declared=! */, imp::ExtensionTypeA2% /* erasure=imp::ClassA, declared=! */ {
abstract extension-type-member representation-field get c() imp::ClassC;
constructor = self::ExtensionType5|constructor#;
constructor tearoff = self::ExtensionType5|constructor#_#new#tearOff;
}
extension type ExtensionType6a(imp::ClassF c) implements imp::ClassD, imp::ClassE {
abstract extension-type-member representation-field get c() imp::ClassF;
constructor = self::ExtensionType6a|constructor#;
constructor tearoff = self::ExtensionType6a|constructor#_#new#tearOff;
}
extension type ExtensionType6b(imp::ClassF c) implements imp::ClassD, imp::ClassE {
abstract extension-type-member representation-field get c() imp::ClassF;
method method2 = self::ExtensionType6b|method2;
method tearoff method2 = self::ExtensionType6b|get#method2;
constructor = self::ExtensionType6b|constructor#;
constructor tearoff = self::ExtensionType6b|constructor#_#new#tearOff;
}
extension type ExtensionType7a(imp::ClassF c) implements imp::ExtensionTypeD /* erasure=imp::ClassD */, imp::ExtensionTypeE /* erasure=imp::ClassE */ {
abstract extension-type-member representation-field get c() imp::ClassF;
constructor = self::ExtensionType7a|constructor#;
constructor tearoff = self::ExtensionType7a|constructor#_#new#tearOff;
}
extension type ExtensionType7b(imp::ClassF c) implements imp::ExtensionTypeD /* erasure=imp::ClassD */, imp::ExtensionTypeE /* erasure=imp::ClassE */ {
abstract extension-type-member representation-field get c() imp::ClassF;
method method2 = self::ExtensionType7b|method2;
method tearoff method2 = self::ExtensionType7b|get#method2;
constructor = self::ExtensionType7b|constructor#;
constructor tearoff = self::ExtensionType7b|constructor#_#new#tearOff;
}
extension type ExtensionType8a(imp::ClassI c) implements imp::ClassG, imp::ClassH {
abstract extension-type-member representation-field get c() imp::ClassI;
abstract member-signature method method3() (core::Object?, core::Object?); -> imp::ClassG::method3
constructor = self::ExtensionType8a|constructor#;
constructor tearoff = self::ExtensionType8a|constructor#_#new#tearOff;
}
extension type ExtensionType8b(imp::ClassI c) implements imp::ExtensionTypeG /* erasure=imp::ClassG */, imp::ExtensionTypeH /* erasure=imp::ClassH */ {
abstract extension-type-member representation-field get c() imp::ClassI;
abstract member-signature method method3() (core::Object?, core::Object?); -> imp::ClassG::method3
constructor = self::ExtensionType8b|constructor#;
constructor tearoff = self::ExtensionType8b|constructor#_#new#tearOff;
}
extension type ExtensionType9(core::int i) {
abstract extension-type-member representation-field get i() core::int;
method method4 = self::ExtensionType9|method4;
method tearoff method4 = self::ExtensionType9|get#method4;
set method4 = self::ExtensionType9|set#method4;
constructor = self::ExtensionType9|constructor#;
constructor tearoff = self::ExtensionType9|constructor#_#new#tearOff;
}
extension type ExtensionType9a(imp::ClassJK n) implements imp::ClassJ, imp::ClassK {
abstract extension-type-member representation-field get n() imp::ClassJK;
constructor = self::ExtensionType9a|constructor#;
constructor tearoff = self::ExtensionType9a|constructor#_#new#tearOff;
}
extension type ExtensionType9b(imp::ClassJK n) implements imp::ClassJ, imp::ClassK {
abstract extension-type-member representation-field get n() imp::ClassJK;
get method4 = self::ExtensionType9b|get#method4;
set method4 = self::ExtensionType9b|set#method4;
constructor = self::ExtensionType9b|constructor#;
constructor tearoff = self::ExtensionType9b|constructor#_#new#tearOff;
}
extension type ExtensionType10a(imp::ClassJK i) implements imp::ExtensionTypeJ% /* erasure=imp::ClassJ, declared=! */, imp::ExtensionTypeK% /* erasure=imp::ClassK, declared=! */ {
abstract extension-type-member representation-field get i() imp::ClassJK;
constructor = self::ExtensionType10a|constructor#;
constructor tearoff = self::ExtensionType10a|constructor#_#new#tearOff;
}
extension type ExtensionType10b(imp::ClassJK i) implements imp::ExtensionTypeJ% /* erasure=imp::ClassJ, declared=! */, imp::ExtensionTypeK% /* erasure=imp::ClassK, declared=! */ {
abstract extension-type-member representation-field get i() imp::ClassJK;
get method4 = self::ExtensionType10b|get#method4;
set method4 = self::ExtensionType10b|set#method4;
constructor = self::ExtensionType10b|constructor#;
constructor tearoff = self::ExtensionType10b|constructor#_#new#tearOff;
}
extension type ExtensionType11(core::int n) {
abstract extension-type-member representation-field get n() core::int;
get property = self::ExtensionType11|get#property;
set property = self::ExtensionType11|set#property;
constructor = self::ExtensionType11|constructor#;
constructor tearoff = self::ExtensionType11|constructor#_#new#tearOff;
}
extension type ExtensionType12a(imp::ClassLM n) implements imp::ClassL, imp::ClassM {
abstract extension-type-member representation-field get n() imp::ClassLM;
constructor = self::ExtensionType12a|constructor#;
constructor tearoff = self::ExtensionType12a|constructor#_#new#tearOff;
}
extension type ExtensionType12b(imp::ClassL n) implements imp::ClassL {
abstract extension-type-member representation-field get n() imp::ClassL;
set property = self::ExtensionType12b|set#property;
constructor = self::ExtensionType12b|constructor#;
constructor tearoff = self::ExtensionType12b|constructor#_#new#tearOff;
}
extension type ExtensionType12c(imp::ClassM n) implements imp::ClassM {
abstract extension-type-member representation-field get n() imp::ClassM;
get property = self::ExtensionType12c|get#property;
constructor = self::ExtensionType12c|constructor#;
constructor tearoff = self::ExtensionType12c|constructor#_#new#tearOff;
}
extension type ExtensionType12d(imp::ClassLM n) implements imp::ClassL, imp::ClassM {
abstract extension-type-member representation-field get n() imp::ClassLM;
get property = self::ExtensionType12d|get#property;
set property = self::ExtensionType12d|set#property;
constructor = self::ExtensionType12d|constructor#;
constructor tearoff = self::ExtensionType12d|constructor#_#new#tearOff;
}
extension type ExtensionType13a(imp::ClassLM i) implements imp::ExtensionTypeL% /* erasure=imp::ClassL, declared=! */, imp::ExtensionTypeM% /* erasure=imp::ClassM, declared=! */ {
abstract extension-type-member representation-field get i() imp::ClassLM;
constructor = self::ExtensionType13a|constructor#;
constructor tearoff = self::ExtensionType13a|constructor#_#new#tearOff;
}
extension type ExtensionType13b(imp::ClassL i) implements imp::ExtensionTypeL% /* erasure=imp::ClassL, declared=! */ {
abstract extension-type-member representation-field get i() imp::ClassL;
set property = self::ExtensionType13b|set#property;
constructor = self::ExtensionType13b|constructor#;
constructor tearoff = self::ExtensionType13b|constructor#_#new#tearOff;
}
extension type ExtensionType13c(imp::ClassM i) implements imp::ExtensionTypeM% /* erasure=imp::ClassM, declared=! */ {
abstract extension-type-member representation-field get i() imp::ClassM;
get property = self::ExtensionType13c|get#property;
constructor = self::ExtensionType13c|constructor#;
constructor tearoff = self::ExtensionType13c|constructor#_#new#tearOff;
}
extension type ExtensionType13d(imp::ClassLM i) implements imp::ExtensionTypeL% /* erasure=imp::ClassL, declared=! */, imp::ExtensionTypeM% /* erasure=imp::ClassM, declared=! */ {
abstract extension-type-member representation-field get i() imp::ClassLM;
get property = self::ExtensionType13d|get#property;
set property = self::ExtensionType13d|set#property;
constructor = self::ExtensionType13d|constructor#;
constructor tearoff = self::ExtensionType13d|constructor#_#new#tearOff;
}
extension type ExtensionType14a(imp::ExtensionTypeLN /* erasure=imp::ClassLN */ n) implements imp::ClassL, imp::ExtensionTypeN% /* erasure=imp::ClassN, declared=! */ {
abstract extension-type-member representation-field get n() imp::ExtensionTypeLN /* erasure=imp::ClassLN */;
constructor = self::ExtensionType14a|constructor#;
constructor tearoff = self::ExtensionType14a|constructor#_#new#tearOff;
}
extension type ExtensionType14b(imp::ExtensionTypeLN /* erasure=imp::ClassLN */ n) implements imp::ExtensionTypeL% /* erasure=imp::ClassL, declared=! */, imp::ClassN {
abstract extension-type-member representation-field get n() imp::ExtensionTypeLN /* erasure=imp::ClassLN */;
constructor = self::ExtensionType14b|constructor#;
constructor tearoff = self::ExtensionType14b|constructor#_#new#tearOff;
}
extension type ExtensionType14c(imp::ClassL n) implements imp::ClassL {
abstract extension-type-member representation-field get n() imp::ClassL;
set property = self::ExtensionType14c|set#property;
constructor = self::ExtensionType14c|constructor#;
constructor tearoff = self::ExtensionType14c|constructor#_#new#tearOff;
}
extension type ExtensionType14d(imp::ExtensionTypeLN /* erasure=imp::ClassLN */ n) implements imp::ExtensionTypeL% /* erasure=imp::ClassL, declared=! */, imp::ClassN {
abstract extension-type-member representation-field get n() imp::ExtensionTypeLN /* erasure=imp::ClassLN */;
get property = self::ExtensionType14d|get#property;
set property = self::ExtensionType14d|set#property;
constructor = self::ExtensionType14d|constructor#;
constructor tearoff = self::ExtensionType14d|constructor#_#new#tearOff;
}
extension type ExtensionType14e(imp::ExtensionTypeLN /* erasure=imp::ClassLN */ n) implements imp::ClassL, imp::ExtensionTypeN% /* erasure=imp::ClassN, declared=! */ {
abstract extension-type-member representation-field get n() imp::ExtensionTypeLN /* erasure=imp::ClassLN */;
get property = self::ExtensionType14e|get#property;
set property = self::ExtensionType14e|set#property;
constructor = self::ExtensionType14e|constructor#;
constructor tearoff = self::ExtensionType14e|constructor#_#new#tearOff;
}
static extension-type-member method ExtensionType1a|constructor#(imp::ClassA c) → self::ExtensionType1a /* erasure=imp::ClassA */
;
static extension-type-member method ExtensionType1a|constructor#_#new#tearOff(imp::ClassA c) → self::ExtensionType1a /* erasure=imp::ClassA */
return self::ExtensionType1a|constructor#(c);
static extension-type-member method ExtensionType1b|constructor#(imp::ClassA c) → self::ExtensionType1b /* erasure=imp::ClassA */
;
static extension-type-member method ExtensionType1b|constructor#_#new#tearOff(imp::ClassA c) → self::ExtensionType1b /* erasure=imp::ClassA */
return self::ExtensionType1b|constructor#(c);
static extension-type-member method ExtensionType1b|method1(lowered final self::ExtensionType1b /* erasure=imp::ClassA */ #this) → void
;
static extension-type-member method ExtensionType1b|get#method1(lowered final self::ExtensionType1b /* erasure=imp::ClassA */ #this) → () → void
return () void => self::ExtensionType1b|method1(#this);
static extension-type-member method ExtensionType2a|constructor#(imp::ClassC c) → self::ExtensionType2a /* erasure=imp::ClassC */
;
static extension-type-member method ExtensionType2a|constructor#_#new#tearOff(imp::ClassC c) → self::ExtensionType2a /* erasure=imp::ClassC */
return self::ExtensionType2a|constructor#(c);
static extension-type-member method ExtensionType2b|constructor#(imp::ClassC c) → self::ExtensionType2b /* erasure=imp::ClassC */
;
static extension-type-member method ExtensionType2b|constructor#_#new#tearOff(imp::ClassC c) → self::ExtensionType2b /* erasure=imp::ClassC */
return self::ExtensionType2b|constructor#(c);
static extension-type-member method ExtensionType2b|method1(lowered final self::ExtensionType2b /* erasure=imp::ClassC */ #this) → void
;
static extension-type-member method ExtensionType2b|get#method1(lowered final self::ExtensionType2b /* erasure=imp::ClassC */ #this) → () → void
return () void => self::ExtensionType2b|method1(#this);
static extension-type-member method ExtensionType3a|constructor#(imp::ClassC c) → self::ExtensionType3a /* erasure=imp::ClassC */
;
static extension-type-member method ExtensionType3a|constructor#_#new#tearOff(imp::ClassC c) → self::ExtensionType3a /* erasure=imp::ClassC */
return self::ExtensionType3a|constructor#(c);
static extension-type-member method ExtensionType3b|constructor#(imp::ClassC c) → self::ExtensionType3b /* erasure=imp::ClassC */
;
static extension-type-member method ExtensionType3b|constructor#_#new#tearOff(imp::ClassC c) → self::ExtensionType3b /* erasure=imp::ClassC */
return self::ExtensionType3b|constructor#(c);
static extension-type-member method ExtensionType3b|method1(lowered final self::ExtensionType3b /* erasure=imp::ClassC */ #this) → void
;
static extension-type-member method ExtensionType3b|get#method1(lowered final self::ExtensionType3b /* erasure=imp::ClassC */ #this) → () → void
return () void => self::ExtensionType3b|method1(#this);
static extension-type-member method ExtensionType4a|constructor#(imp::ClassC c) → self::ExtensionType4a% /* erasure=imp::ClassC, declared=! */
;
static extension-type-member method ExtensionType4a|constructor#_#new#tearOff(imp::ClassC c) → self::ExtensionType4a% /* erasure=imp::ClassC, declared=! */
return self::ExtensionType4a|constructor#(c);
static extension-type-member method ExtensionType4b|constructor#(imp::ClassC c) → self::ExtensionType4b% /* erasure=imp::ClassC, declared=! */
;
static extension-type-member method ExtensionType4b|constructor#_#new#tearOff(imp::ClassC c) → self::ExtensionType4b% /* erasure=imp::ClassC, declared=! */
return self::ExtensionType4b|constructor#(c);
static extension-type-member method ExtensionType4b|method1(lowered final self::ExtensionType4b% /* erasure=imp::ClassC, declared=! */ #this) → void
;
static extension-type-member method ExtensionType4b|get#method1(lowered final self::ExtensionType4b% /* erasure=imp::ClassC, declared=! */ #this) → () → void
return () void => self::ExtensionType4b|method1(#this);
static extension-type-member method ExtensionType5|constructor#(imp::ClassC c) → self::ExtensionType5% /* erasure=imp::ClassC, declared=! */
;
static extension-type-member method ExtensionType5|constructor#_#new#tearOff(imp::ClassC c) → self::ExtensionType5% /* erasure=imp::ClassC, declared=! */
return self::ExtensionType5|constructor#(c);
static extension-type-member method ExtensionType6a|constructor#(imp::ClassF c) → self::ExtensionType6a /* erasure=imp::ClassF */
;
static extension-type-member method ExtensionType6a|constructor#_#new#tearOff(imp::ClassF c) → self::ExtensionType6a /* erasure=imp::ClassF */
return self::ExtensionType6a|constructor#(c);
static extension-type-member method ExtensionType6b|constructor#(imp::ClassF c) → self::ExtensionType6b /* erasure=imp::ClassF */
;
static extension-type-member method ExtensionType6b|constructor#_#new#tearOff(imp::ClassF c) → self::ExtensionType6b /* erasure=imp::ClassF */
return self::ExtensionType6b|constructor#(c);
static extension-type-member method ExtensionType6b|method2(lowered final self::ExtensionType6b /* erasure=imp::ClassF */ #this) → void
;
static extension-type-member method ExtensionType6b|get#method2(lowered final self::ExtensionType6b /* erasure=imp::ClassF */ #this) → () → void
return () void => self::ExtensionType6b|method2(#this);
static extension-type-member method ExtensionType7a|constructor#_#new#tearOff(imp::ClassF c) → self::ExtensionType7a /* erasure=imp::ClassF */
return self::ExtensionType7a|constructor#(c);
static extension-type-member method ExtensionType7a|constructor#(imp::ClassF c) → self::ExtensionType7a /* erasure=imp::ClassF */
;
static extension-type-member method ExtensionType7b|constructor#(imp::ClassF c) → self::ExtensionType7b /* erasure=imp::ClassF */
;
static extension-type-member method ExtensionType7b|constructor#_#new#tearOff(imp::ClassF c) → self::ExtensionType7b /* erasure=imp::ClassF */
return self::ExtensionType7b|constructor#(c);
static extension-type-member method ExtensionType7b|method2(lowered final self::ExtensionType7b /* erasure=imp::ClassF */ #this) → void
;
static extension-type-member method ExtensionType7b|get#method2(lowered final self::ExtensionType7b /* erasure=imp::ClassF */ #this) → () → void
return () void => self::ExtensionType7b|method2(#this);
static extension-type-member method ExtensionType8a|constructor#(imp::ClassI c) → self::ExtensionType8a /* erasure=imp::ClassI */
;
static extension-type-member method ExtensionType8a|constructor#_#new#tearOff(imp::ClassI c) → self::ExtensionType8a /* erasure=imp::ClassI */
return self::ExtensionType8a|constructor#(c);
static extension-type-member method ExtensionType8b|constructor#(imp::ClassI c) → self::ExtensionType8b /* erasure=imp::ClassI */
;
static extension-type-member method ExtensionType8b|constructor#_#new#tearOff(imp::ClassI c) → self::ExtensionType8b /* erasure=imp::ClassI */
return self::ExtensionType8b|constructor#(c);
static extension-type-member method ExtensionType9|constructor#(core::int i) → self::ExtensionType9% /* erasure=core::int, declared=! */
;
static extension-type-member method ExtensionType9|constructor#_#new#tearOff(core::int i) → self::ExtensionType9% /* erasure=core::int, declared=! */
return self::ExtensionType9|constructor#(i);
static extension-type-member method ExtensionType9|method4(lowered final self::ExtensionType9% /* erasure=core::int, declared=! */ #this) → void
;
static extension-type-member method ExtensionType9|get#method4(lowered final self::ExtensionType9% /* erasure=core::int, declared=! */ #this) → () → void
return () void => self::ExtensionType9|method4(#this);
static extension-type-member method ExtensionType9|set#method4(lowered final self::ExtensionType9% /* erasure=core::int, declared=! */ #this, core::int value) → void
;
static extension-type-member method ExtensionType9a|constructor#(imp::ClassJK n) → self::ExtensionType9a /* erasure=imp::ClassJK */
;
static extension-type-member method ExtensionType9a|constructor#_#new#tearOff(imp::ClassJK n) → self::ExtensionType9a /* erasure=imp::ClassJK */
return self::ExtensionType9a|constructor#(n);
static extension-type-member method ExtensionType9b|constructor#(imp::ClassJK n) → self::ExtensionType9b /* erasure=imp::ClassJK */
;
static extension-type-member method ExtensionType9b|constructor#_#new#tearOff(imp::ClassJK n) → self::ExtensionType9b /* erasure=imp::ClassJK */
return self::ExtensionType9b|constructor#(n);
static extension-type-member method ExtensionType9b|get#method4(lowered final self::ExtensionType9b /* erasure=imp::ClassJK */ #this) → core::int
;
static extension-type-member method ExtensionType9b|set#method4(lowered final self::ExtensionType9b /* erasure=imp::ClassJK */ #this, core::int value) → void
;
static extension-type-member method ExtensionType10a|constructor#(imp::ClassJK i) → self::ExtensionType10a% /* erasure=imp::ClassJK, declared=! */
;
static extension-type-member method ExtensionType10a|constructor#_#new#tearOff(imp::ClassJK i) → self::ExtensionType10a% /* erasure=imp::ClassJK, declared=! */
return self::ExtensionType10a|constructor#(i);
static extension-type-member method ExtensionType10b|constructor#(imp::ClassJK i) → self::ExtensionType10b% /* erasure=imp::ClassJK, declared=! */
;
static extension-type-member method ExtensionType10b|constructor#_#new#tearOff(imp::ClassJK i) → self::ExtensionType10b% /* erasure=imp::ClassJK, declared=! */
return self::ExtensionType10b|constructor#(i);
static extension-type-member method ExtensionType10b|get#method4(lowered final self::ExtensionType10b% /* erasure=imp::ClassJK, declared=! */ #this) → core::int
;
static extension-type-member method ExtensionType10b|set#method4(lowered final self::ExtensionType10b% /* erasure=imp::ClassJK, declared=! */ #this, core::int value) → void
;
static extension-type-member method ExtensionType11|constructor#(core::int n) → self::ExtensionType11% /* erasure=core::int, declared=! */
;
static extension-type-member method ExtensionType11|constructor#_#new#tearOff(core::int n) → self::ExtensionType11% /* erasure=core::int, declared=! */
return self::ExtensionType11|constructor#(n);
static extension-type-member method ExtensionType11|get#property(lowered final self::ExtensionType11% /* erasure=core::int, declared=! */ #this) → core::int
;
static extension-type-member method ExtensionType11|set#property(lowered final self::ExtensionType11% /* erasure=core::int, declared=! */ #this, core::String value) → void
;
static extension-type-member method ExtensionType12a|constructor#(imp::ClassLM n) → self::ExtensionType12a /* erasure=imp::ClassLM */
;
static extension-type-member method ExtensionType12a|constructor#_#new#tearOff(imp::ClassLM n) → self::ExtensionType12a /* erasure=imp::ClassLM */
return self::ExtensionType12a|constructor#(n);
static extension-type-member method ExtensionType12b|constructor#(imp::ClassL n) → self::ExtensionType12b /* erasure=imp::ClassL */
;
static extension-type-member method ExtensionType12b|constructor#_#new#tearOff(imp::ClassL n) → self::ExtensionType12b /* erasure=imp::ClassL */
return self::ExtensionType12b|constructor#(n);
static extension-type-member method ExtensionType12b|set#property(lowered final self::ExtensionType12b /* erasure=imp::ClassL */ #this, core::bool value) → void
;
static extension-type-member method ExtensionType12c|constructor#(imp::ClassM n) → self::ExtensionType12c /* erasure=imp::ClassM */
;
static extension-type-member method ExtensionType12c|constructor#_#new#tearOff(imp::ClassM n) → self::ExtensionType12c /* erasure=imp::ClassM */
return self::ExtensionType12c|constructor#(n);
static extension-type-member method ExtensionType12c|get#property(lowered final self::ExtensionType12c /* erasure=imp::ClassM */ #this) → core::bool
;
static extension-type-member method ExtensionType12d|constructor#(imp::ClassLM n) → self::ExtensionType12d /* erasure=imp::ClassLM */
;
static extension-type-member method ExtensionType12d|constructor#_#new#tearOff(imp::ClassLM n) → self::ExtensionType12d /* erasure=imp::ClassLM */
return self::ExtensionType12d|constructor#(n);
static extension-type-member method ExtensionType12d|get#property(lowered final self::ExtensionType12d /* erasure=imp::ClassLM */ #this) → core::bool
;
static extension-type-member method ExtensionType12d|set#property(lowered final self::ExtensionType12d /* erasure=imp::ClassLM */ #this, core::bool value) → void
;
static extension-type-member method ExtensionType13a|constructor#(imp::ClassLM i) → self::ExtensionType13a% /* erasure=imp::ClassLM, declared=! */
;
static extension-type-member method ExtensionType13a|constructor#_#new#tearOff(imp::ClassLM i) → self::ExtensionType13a% /* erasure=imp::ClassLM, declared=! */
return self::ExtensionType13a|constructor#(i);
static extension-type-member method ExtensionType13b|constructor#_#new#tearOff(imp::ClassL i) → self::ExtensionType13b% /* erasure=imp::ClassL, declared=! */
return self::ExtensionType13b|constructor#(i);
static extension-type-member method ExtensionType13b|constructor#(imp::ClassL i) → self::ExtensionType13b% /* erasure=imp::ClassL, declared=! */
;
static extension-type-member method ExtensionType13b|set#property(lowered final self::ExtensionType13b% /* erasure=imp::ClassL, declared=! */ #this, core::bool value) → void
;
static extension-type-member method ExtensionType13c|constructor#(imp::ClassM i) → self::ExtensionType13c% /* erasure=imp::ClassM, declared=! */
;
static extension-type-member method ExtensionType13c|constructor#_#new#tearOff(imp::ClassM i) → self::ExtensionType13c% /* erasure=imp::ClassM, declared=! */
return self::ExtensionType13c|constructor#(i);
static extension-type-member method ExtensionType13c|get#property(lowered final self::ExtensionType13c% /* erasure=imp::ClassM, declared=! */ #this) → core::bool
;
static extension-type-member method ExtensionType13d|constructor#(imp::ClassLM i) → self::ExtensionType13d% /* erasure=imp::ClassLM, declared=! */
;
static extension-type-member method ExtensionType13d|constructor#_#new#tearOff(imp::ClassLM i) → self::ExtensionType13d% /* erasure=imp::ClassLM, declared=! */
return self::ExtensionType13d|constructor#(i);
static extension-type-member method ExtensionType13d|get#property(lowered final self::ExtensionType13d% /* erasure=imp::ClassLM, declared=! */ #this) → core::bool
;
static extension-type-member method ExtensionType13d|set#property(lowered final self::ExtensionType13d% /* erasure=imp::ClassLM, declared=! */ #this, core::bool value) → void
;
static extension-type-member method ExtensionType14a|constructor#(imp::ExtensionTypeLN /* erasure=imp::ClassLN */ n) → self::ExtensionType14a /* erasure=imp::ClassLN */
;
static extension-type-member method ExtensionType14a|constructor#_#new#tearOff(imp::ExtensionTypeLN /* erasure=imp::ClassLN */ n) → self::ExtensionType14a /* erasure=imp::ClassLN */
return self::ExtensionType14a|constructor#(n);
static extension-type-member method ExtensionType14b|constructor#_#new#tearOff(imp::ExtensionTypeLN /* erasure=imp::ClassLN */ n) → self::ExtensionType14b /* erasure=imp::ClassLN */
return self::ExtensionType14b|constructor#(n);
static extension-type-member method ExtensionType14b|constructor#(imp::ExtensionTypeLN /* erasure=imp::ClassLN */ n) → self::ExtensionType14b /* erasure=imp::ClassLN */
;
static extension-type-member method ExtensionType14c|constructor#(imp::ClassL n) → self::ExtensionType14c /* erasure=imp::ClassL */
;
static extension-type-member method ExtensionType14c|constructor#_#new#tearOff(imp::ClassL n) → self::ExtensionType14c /* erasure=imp::ClassL */
return self::ExtensionType14c|constructor#(n);
static extension-type-member method ExtensionType14c|set#property(lowered final self::ExtensionType14c /* erasure=imp::ClassL */ #this, core::int value) → void
;
static extension-type-member method ExtensionType14d|constructor#(imp::ExtensionTypeLN /* erasure=imp::ClassLN */ n) → self::ExtensionType14d /* erasure=imp::ClassLN */
;
static extension-type-member method ExtensionType14d|constructor#_#new#tearOff(imp::ExtensionTypeLN /* erasure=imp::ClassLN */ n) → self::ExtensionType14d /* erasure=imp::ClassLN */
return self::ExtensionType14d|constructor#(n);
static extension-type-member method ExtensionType14d|get#property(lowered final self::ExtensionType14d /* erasure=imp::ClassLN */ #this) → core::int
;
static extension-type-member method ExtensionType14d|set#property(lowered final self::ExtensionType14d /* erasure=imp::ClassLN */ #this, core::int value) → void
;
static extension-type-member method ExtensionType14e|constructor#(imp::ExtensionTypeLN /* erasure=imp::ClassLN */ n) → self::ExtensionType14e /* erasure=imp::ClassLN */
;
static extension-type-member method ExtensionType14e|constructor#_#new#tearOff(imp::ExtensionTypeLN /* erasure=imp::ClassLN */ n) → self::ExtensionType14e /* erasure=imp::ClassLN */
return self::ExtensionType14e|constructor#(n);
static extension-type-member method ExtensionType14e|get#property(lowered final self::ExtensionType14e /* erasure=imp::ClassLN */ #this) → core::int
;
static extension-type-member method ExtensionType14e|set#property(lowered final self::ExtensionType14e /* erasure=imp::ClassLN */ #this, core::int value) → void
;
library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:82:16: Error: Can't inherit members that conflict with each other.
// abstract class ClassJK implements ClassJ, ClassK {}
// ^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:75:8: Context: This is one inherited member.
// void method4() {}
// ^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:79:12: Context: This is the other inherited member.
// void set method4(int value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:120:16: Error: The extension type 'ExtensionTypeLN' can't inherit the member 'property' as both an extension type member and a non-extension type member.
// Try declaring a member 'property' in 'ExtensionTypeLN' to resolve the conflict.
// extension type ExtensionTypeLN(ClassLN i) implements ClassLN, ExtensionTypeN {}
// ^^^^^^^^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:117:12: Context: This is the inherited extension type member.
// void set property(int value) {}
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:111:12: Context: This is the inherited non-extension type member.
// void set property(int value) {}
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:100:16: Error: The type 'int' of the inherited getter 'ClassL.property' is not a subtype of the type 'String' of the inherited setter 'ClassM.property'.
// abstract class ClassLM implements ClassL, ClassM {}
// ^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:93:11: Context: This is the declaration of the getter 'ClassL.property'.
// int get property => 42;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:97:12: Context: This is the declaration of the setter 'ClassM.property'.
// void set property(String value) {}
// ^^^^^^^^
//
import self as imp;
import "dart:core" as core;
class ClassA extends core::Object {
synthetic constructor •() imp::ClassA
;
method method1() void
;
}
class ClassB extends core::Object {
synthetic constructor •() imp::ClassB
;
method method1() void
;
}
class ClassC extends core::Object implements imp::ClassA, imp::ClassB {
synthetic constructor •() imp::ClassC
;
method method1() void
;
}
class A extends core::Object {
synthetic constructor •() imp::A
;
}
class B extends core::Object {
synthetic constructor •() imp::B
;
}
class C extends core::Object implements imp::A, imp::B {
synthetic constructor •() imp::C
;
}
class ClassD extends core::Object {
synthetic constructor •() imp::ClassD
;
method method2() imp::A
;
}
class ClassE extends core::Object {
synthetic constructor •() imp::ClassE
;
method method2() imp::B
;
}
class ClassF extends core::Object implements imp::ClassD, imp::ClassE {
synthetic constructor •() imp::ClassF
;
method method2() imp::C
;
}
class ClassG extends core::Object {
synthetic constructor •() imp::ClassG
;
method method3() (core::Object?, dynamic)
;
}
class ClassH extends core::Object {
synthetic constructor •() imp::ClassH
;
method method3() (dynamic, core::Object?)
;
}
abstract class ClassI extends core::Object implements imp::ClassG, imp::ClassH {
synthetic constructor •() imp::ClassI
;
abstract member-signature method method3() (core::Object?, core::Object?); -> imp::ClassG::method3
}
class ClassJ extends core::Object {
synthetic constructor •() imp::ClassJ
;
method method4() void
;
}
class ClassK extends core::Object {
synthetic constructor •() imp::ClassK
;
set method4(core::int value) void
;
}
abstract class ClassJK extends core::Object implements imp::ClassJ, imp::ClassK {
synthetic constructor •() imp::ClassJK
;
}
class ClassL extends core::Object {
synthetic constructor •() imp::ClassL
;
get property() core::int
;
}
class ClassM extends core::Object {
synthetic constructor •() imp::ClassM
;
set property(core::String value) void
;
}
abstract class ClassLM extends core::Object implements imp::ClassL, imp::ClassM {
synthetic constructor •() imp::ClassLM
;
}
class ClassN extends core::Object {
synthetic constructor •() imp::ClassN
;
set property(core::int value) void
;
}
abstract class ClassLN extends core::Object implements imp::ClassL, imp::ClassN {
synthetic constructor •() imp::ClassLN
;
}
extension type ExtensionTypeA(imp::ClassA c) {
abstract extension-type-member representation-field get c() imp::ClassA;
method method1 = imp::ExtensionTypeA|method1;
method tearoff method1 = imp::ExtensionTypeA|get#method1;
constructor = imp::ExtensionTypeA|constructor#;
constructor tearoff = imp::ExtensionTypeA|constructor#_#new#tearOff;
}
extension type ExtensionTypeA1(imp::ClassA c) implements imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */ {
abstract extension-type-member representation-field get c() imp::ClassA;
constructor = imp::ExtensionTypeA1|constructor#;
constructor tearoff = imp::ExtensionTypeA1|constructor#_#new#tearOff;
}
extension type ExtensionTypeA2(imp::ClassA c) implements imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */ {
abstract extension-type-member representation-field get c() imp::ClassA;
constructor = imp::ExtensionTypeA2|constructor#;
constructor tearoff = imp::ExtensionTypeA2|constructor#_#new#tearOff;
}
extension type ExtensionTypeB(imp::ClassB c) {
abstract extension-type-member representation-field get c() imp::ClassB;
method method1 = imp::ExtensionTypeB|method1;
method tearoff method1 = imp::ExtensionTypeB|get#method1;
constructor = imp::ExtensionTypeB|constructor#;
constructor tearoff = imp::ExtensionTypeB|constructor#_#new#tearOff;
}
extension type ExtensionTypeC(imp::ClassC c) {
abstract extension-type-member representation-field get c() imp::ClassC;
method method1 = imp::ExtensionTypeC|method1;
method tearoff method1 = imp::ExtensionTypeC|get#method1;
constructor = imp::ExtensionTypeC|constructor#;
constructor tearoff = imp::ExtensionTypeC|constructor#_#new#tearOff;
}
extension type ExtensionTypeD(imp::ClassD c) implements imp::ClassD {
abstract extension-type-member representation-field get c() imp::ClassD;
constructor = imp::ExtensionTypeD|constructor#;
constructor tearoff = imp::ExtensionTypeD|constructor#_#new#tearOff;
}
extension type ExtensionTypeE(imp::ClassE c) implements imp::ClassE {
abstract extension-type-member representation-field get c() imp::ClassE;
constructor = imp::ExtensionTypeE|constructor#;
constructor tearoff = imp::ExtensionTypeE|constructor#_#new#tearOff;
}
extension type ExtensionTypeG(imp::ClassG c) implements imp::ClassG {
abstract extension-type-member representation-field get c() imp::ClassG;
constructor = imp::ExtensionTypeG|constructor#;
constructor tearoff = imp::ExtensionTypeG|constructor#_#new#tearOff;
}
extension type ExtensionTypeH(imp::ClassH c) implements imp::ClassH {
abstract extension-type-member representation-field get c() imp::ClassH;
constructor = imp::ExtensionTypeH|constructor#;
constructor tearoff = imp::ExtensionTypeH|constructor#_#new#tearOff;
}
extension type ExtensionTypeJ(imp::ClassJ i) {
abstract extension-type-member representation-field get i() imp::ClassJ;
method method4 = imp::ExtensionTypeJ|method4;
method tearoff method4 = imp::ExtensionTypeJ|get#method4;
constructor = imp::ExtensionTypeJ|constructor#;
constructor tearoff = imp::ExtensionTypeJ|constructor#_#new#tearOff;
}
extension type ExtensionTypeK(imp::ClassK i) {
abstract extension-type-member representation-field get i() imp::ClassK;
set method4 = imp::ExtensionTypeK|set#method4;
constructor = imp::ExtensionTypeK|constructor#;
constructor tearoff = imp::ExtensionTypeK|constructor#_#new#tearOff;
}
extension type ExtensionTypeL(imp::ClassL i) {
abstract extension-type-member representation-field get i() imp::ClassL;
get property = imp::ExtensionTypeL|get#property;
constructor = imp::ExtensionTypeL|constructor#;
constructor tearoff = imp::ExtensionTypeL|constructor#_#new#tearOff;
}
extension type ExtensionTypeM(imp::ClassM i) {
abstract extension-type-member representation-field get i() imp::ClassM;
set property = imp::ExtensionTypeM|set#property;
constructor = imp::ExtensionTypeM|constructor#;
constructor tearoff = imp::ExtensionTypeM|constructor#_#new#tearOff;
}
extension type ExtensionTypeN(imp::ClassN i) {
abstract extension-type-member representation-field get i() imp::ClassN;
set property = imp::ExtensionTypeN|set#property;
constructor = imp::ExtensionTypeN|constructor#;
constructor tearoff = imp::ExtensionTypeN|constructor#_#new#tearOff;
}
extension type ExtensionTypeLN(imp::ClassLN i) implements imp::ClassLN, imp::ExtensionTypeN% /* erasure=imp::ClassN, declared=! */ {
abstract extension-type-member representation-field get i() imp::ClassLN;
constructor = imp::ExtensionTypeLN|constructor#;
constructor tearoff = imp::ExtensionTypeLN|constructor#_#new#tearOff;
}
static extension-type-member method ExtensionTypeA|constructor#(imp::ClassA c) → imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */
;
static extension-type-member method ExtensionTypeA|constructor#_#new#tearOff(imp::ClassA c) → imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */
return imp::ExtensionTypeA|constructor#(c);
static extension-type-member method ExtensionTypeA|get#method1(lowered final imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */ #this) → () → void
return () void => imp::ExtensionTypeA|method1(#this);
static extension-type-member method ExtensionTypeA|method1(lowered final imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */ #this) → void
;
static extension-type-member method ExtensionTypeA1|constructor#(imp::ClassA c) → imp::ExtensionTypeA1% /* erasure=imp::ClassA, declared=! */
;
static extension-type-member method ExtensionTypeA1|constructor#_#new#tearOff(imp::ClassA c) → imp::ExtensionTypeA1% /* erasure=imp::ClassA, declared=! */
return imp::ExtensionTypeA1|constructor#(c);
static extension-type-member method ExtensionTypeA2|constructor#(imp::ClassA c) → imp::ExtensionTypeA2% /* erasure=imp::ClassA, declared=! */
;
static extension-type-member method ExtensionTypeA2|constructor#_#new#tearOff(imp::ClassA c) → imp::ExtensionTypeA2% /* erasure=imp::ClassA, declared=! */
return imp::ExtensionTypeA2|constructor#(c);
static extension-type-member method ExtensionTypeB|constructor#(imp::ClassB c) → imp::ExtensionTypeB% /* erasure=imp::ClassB, declared=! */
;
static extension-type-member method ExtensionTypeB|constructor#_#new#tearOff(imp::ClassB c) → imp::ExtensionTypeB% /* erasure=imp::ClassB, declared=! */
return imp::ExtensionTypeB|constructor#(c);
static extension-type-member method ExtensionTypeB|method1(lowered final imp::ExtensionTypeB% /* erasure=imp::ClassB, declared=! */ #this) → void
;
static extension-type-member method ExtensionTypeB|get#method1(lowered final imp::ExtensionTypeB% /* erasure=imp::ClassB, declared=! */ #this) → () → void
return () void => imp::ExtensionTypeB|method1(#this);
static extension-type-member method ExtensionTypeC|constructor#_#new#tearOff(imp::ClassC c) → imp::ExtensionTypeC% /* erasure=imp::ClassC, declared=! */
return imp::ExtensionTypeC|constructor#(c);
static extension-type-member method ExtensionTypeC|constructor#(imp::ClassC c) → imp::ExtensionTypeC% /* erasure=imp::ClassC, declared=! */
;
static extension-type-member method ExtensionTypeC|get#method1(lowered final imp::ExtensionTypeC% /* erasure=imp::ClassC, declared=! */ #this) → () → void
return () void => imp::ExtensionTypeC|method1(#this);
static extension-type-member method ExtensionTypeC|method1(lowered final imp::ExtensionTypeC% /* erasure=imp::ClassC, declared=! */ #this) → void
;
static extension-type-member method ExtensionTypeD|constructor#(imp::ClassD c) → imp::ExtensionTypeD /* erasure=imp::ClassD */
;
static extension-type-member method ExtensionTypeD|constructor#_#new#tearOff(imp::ClassD c) → imp::ExtensionTypeD /* erasure=imp::ClassD */
return imp::ExtensionTypeD|constructor#(c);
static extension-type-member method ExtensionTypeE|constructor#(imp::ClassE c) → imp::ExtensionTypeE /* erasure=imp::ClassE */
;
static extension-type-member method ExtensionTypeE|constructor#_#new#tearOff(imp::ClassE c) → imp::ExtensionTypeE /* erasure=imp::ClassE */
return imp::ExtensionTypeE|constructor#(c);
static extension-type-member method ExtensionTypeG|constructor#(imp::ClassG c) → imp::ExtensionTypeG /* erasure=imp::ClassG */
;
static extension-type-member method ExtensionTypeG|constructor#_#new#tearOff(imp::ClassG c) → imp::ExtensionTypeG /* erasure=imp::ClassG */
return imp::ExtensionTypeG|constructor#(c);
static extension-type-member method ExtensionTypeH|constructor#(imp::ClassH c) → imp::ExtensionTypeH /* erasure=imp::ClassH */
;
static extension-type-member method ExtensionTypeH|constructor#_#new#tearOff(imp::ClassH c) → imp::ExtensionTypeH /* erasure=imp::ClassH */
return imp::ExtensionTypeH|constructor#(c);
static extension-type-member method ExtensionTypeJ|constructor#(imp::ClassJ i) → imp::ExtensionTypeJ% /* erasure=imp::ClassJ, declared=! */
;
static extension-type-member method ExtensionTypeJ|constructor#_#new#tearOff(imp::ClassJ i) → imp::ExtensionTypeJ% /* erasure=imp::ClassJ, declared=! */
return imp::ExtensionTypeJ|constructor#(i);
static extension-type-member method ExtensionTypeJ|method4(lowered final imp::ExtensionTypeJ% /* erasure=imp::ClassJ, declared=! */ #this) → void
;
static extension-type-member method ExtensionTypeJ|get#method4(lowered final imp::ExtensionTypeJ% /* erasure=imp::ClassJ, declared=! */ #this) → () → void
return () void => imp::ExtensionTypeJ|method4(#this);
static extension-type-member method ExtensionTypeK|constructor#(imp::ClassK i) → imp::ExtensionTypeK% /* erasure=imp::ClassK, declared=! */
;
static extension-type-member method ExtensionTypeK|constructor#_#new#tearOff(imp::ClassK i) → imp::ExtensionTypeK% /* erasure=imp::ClassK, declared=! */
return imp::ExtensionTypeK|constructor#(i);
static extension-type-member method ExtensionTypeK|set#method4(lowered final imp::ExtensionTypeK% /* erasure=imp::ClassK, declared=! */ #this, core::int value) → void
;
static extension-type-member method ExtensionTypeL|constructor#(imp::ClassL i) → imp::ExtensionTypeL% /* erasure=imp::ClassL, declared=! */
;
static extension-type-member method ExtensionTypeL|constructor#_#new#tearOff(imp::ClassL i) → imp::ExtensionTypeL% /* erasure=imp::ClassL, declared=! */
return imp::ExtensionTypeL|constructor#(i);
static extension-type-member method ExtensionTypeL|get#property(lowered final imp::ExtensionTypeL% /* erasure=imp::ClassL, declared=! */ #this) → core::int
;
static extension-type-member method ExtensionTypeM|constructor#(imp::ClassM i) → imp::ExtensionTypeM% /* erasure=imp::ClassM, declared=! */
;
static extension-type-member method ExtensionTypeM|constructor#_#new#tearOff(imp::ClassM i) → imp::ExtensionTypeM% /* erasure=imp::ClassM, declared=! */
return imp::ExtensionTypeM|constructor#(i);
static extension-type-member method ExtensionTypeM|set#property(lowered final imp::ExtensionTypeM% /* erasure=imp::ClassM, declared=! */ #this, core::String value) → void
;
static extension-type-member method ExtensionTypeN|constructor#(imp::ClassN i) → imp::ExtensionTypeN% /* erasure=imp::ClassN, declared=! */
;
static extension-type-member method ExtensionTypeN|constructor#_#new#tearOff(imp::ClassN i) → imp::ExtensionTypeN% /* erasure=imp::ClassN, declared=! */
return imp::ExtensionTypeN|constructor#(i);
static extension-type-member method ExtensionTypeN|set#property(lowered final imp::ExtensionTypeN% /* erasure=imp::ClassN, declared=! */ #this, core::int value) → void
;
static extension-type-member method ExtensionTypeLN|constructor#_#new#tearOff(imp::ClassLN i) → imp::ExtensionTypeLN /* erasure=imp::ClassLN */
return imp::ExtensionTypeLN|constructor#(i);
static extension-type-member method ExtensionTypeLN|constructor#(imp::ClassLN i) → imp::ExtensionTypeLN /* erasure=imp::ClassLN */
;