| 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 */ { |
| lowered final self::ExtensionType1a /* erasure=imp::ClassA */ #this = c; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType1b /* erasure=imp::ClassA */ #this = c; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType2a /* erasure=imp::ClassC */ #this = c; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType2b /* erasure=imp::ClassC */ #this = c; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType3a /* erasure=imp::ClassC */ #this = c; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType3b /* erasure=imp::ClassC */ #this = c; |
| return #this; |
| } |
| 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=! */ { |
| lowered final self::ExtensionType4a% /* erasure=imp::ClassC, declared=! */ #this = c; |
| return #this; |
| } |
| 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=! */ { |
| lowered final self::ExtensionType4b% /* erasure=imp::ClassC, declared=! */ #this = c; |
| return #this; |
| } |
| 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=! */ { |
| lowered final self::ExtensionType5% /* erasure=imp::ClassC, declared=! */ #this = c; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType6a /* erasure=imp::ClassF */ #this = c; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType6b /* erasure=imp::ClassF */ #this = c; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType7a /* erasure=imp::ClassF */ #this = c; |
| return #this; |
| } |
| static extension-type-member method ExtensionType7b|constructor#(imp::ClassF c) → self::ExtensionType7b /* erasure=imp::ClassF */ { |
| lowered final self::ExtensionType7b /* erasure=imp::ClassF */ #this = c; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType8a /* erasure=imp::ClassI */ #this = c; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType8b /* erasure=imp::ClassI */ #this = c; |
| return #this; |
| } |
| 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=! */ { |
| lowered final self::ExtensionType9% /* erasure=core::int, declared=! */ #this = i; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType9a /* erasure=imp::ClassJK */ #this = n; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType9b /* erasure=imp::ClassJK */ #this = n; |
| return #this; |
| } |
| 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 |
| return 42; |
| 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=! */ { |
| lowered final self::ExtensionType10a% /* erasure=imp::ClassJK, declared=! */ #this = i; |
| return #this; |
| } |
| 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=! */ { |
| lowered final self::ExtensionType10b% /* erasure=imp::ClassJK, declared=! */ #this = i; |
| return #this; |
| } |
| 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 |
| return 42; |
| 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=! */ { |
| lowered final self::ExtensionType11% /* erasure=core::int, declared=! */ #this = n; |
| return #this; |
| } |
| 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 |
| return 42; |
| 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 */ { |
| lowered final self::ExtensionType12a /* erasure=imp::ClassLM */ #this = n; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType12b /* erasure=imp::ClassL */ #this = n; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType12c /* erasure=imp::ClassM */ #this = n; |
| return #this; |
| } |
| 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 |
| return true; |
| static extension-type-member method ExtensionType12d|constructor#(imp::ClassLM n) → self::ExtensionType12d /* erasure=imp::ClassLM */ { |
| lowered final self::ExtensionType12d /* erasure=imp::ClassLM */ #this = n; |
| return #this; |
| } |
| 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 |
| return true; |
| 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=! */ { |
| lowered final self::ExtensionType13a% /* erasure=imp::ClassLM, declared=! */ #this = i; |
| return #this; |
| } |
| 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=! */ { |
| lowered final self::ExtensionType13b% /* erasure=imp::ClassL, declared=! */ #this = i; |
| return #this; |
| } |
| 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=! */ { |
| lowered final self::ExtensionType13c% /* erasure=imp::ClassM, declared=! */ #this = i; |
| return #this; |
| } |
| 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 |
| return true; |
| static extension-type-member method ExtensionType13d|constructor#(imp::ClassLM i) → self::ExtensionType13d% /* erasure=imp::ClassLM, declared=! */ { |
| lowered final self::ExtensionType13d% /* erasure=imp::ClassLM, declared=! */ #this = i; |
| return #this; |
| } |
| 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 |
| return true; |
| 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 */ { |
| lowered final self::ExtensionType14a /* erasure=imp::ClassLN */ #this = n; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType14b /* erasure=imp::ClassLN */ #this = n; |
| return #this; |
| } |
| static extension-type-member method ExtensionType14c|constructor#(imp::ClassL n) → self::ExtensionType14c /* erasure=imp::ClassL */ { |
| lowered final self::ExtensionType14c /* erasure=imp::ClassL */ #this = n; |
| return #this; |
| } |
| 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 */ { |
| lowered final self::ExtensionType14d /* erasure=imp::ClassLN */ #this = n; |
| return #this; |
| } |
| 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 |
| return 42; |
| 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 */ { |
| lowered final self::ExtensionType14e /* erasure=imp::ClassLN */ #this = n; |
| return #this; |
| } |
| 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 |
| return 42; |
| 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 |
| : super core::Object::•() |
| ; |
| method method1() → void {} |
| } |
| class ClassB extends core::Object { |
| synthetic constructor •() → imp::ClassB |
| : super core::Object::•() |
| ; |
| method method1() → void {} |
| } |
| class ClassC extends core::Object implements imp::ClassA, imp::ClassB { |
| synthetic constructor •() → imp::ClassC |
| : super core::Object::•() |
| ; |
| method method1() → void {} |
| } |
| class A extends core::Object { |
| synthetic constructor •() → imp::A |
| : super core::Object::•() |
| ; |
| } |
| class B extends core::Object { |
| synthetic constructor •() → imp::B |
| : super core::Object::•() |
| ; |
| } |
| class C extends core::Object implements imp::A, imp::B { |
| synthetic constructor •() → imp::C |
| : super core::Object::•() |
| ; |
| } |
| class ClassD extends core::Object { |
| synthetic constructor •() → imp::ClassD |
| : super core::Object::•() |
| ; |
| method method2() → imp::A |
| return new imp::A::•(); |
| } |
| class ClassE extends core::Object { |
| synthetic constructor •() → imp::ClassE |
| : super core::Object::•() |
| ; |
| method method2() → imp::B |
| return new imp::B::•(); |
| } |
| class ClassF extends core::Object implements imp::ClassD, imp::ClassE { |
| synthetic constructor •() → imp::ClassF |
| : super core::Object::•() |
| ; |
| method method2() → imp::C |
| return new imp::C::•(); |
| } |
| class ClassG extends core::Object { |
| synthetic constructor •() → imp::ClassG |
| : super core::Object::•() |
| ; |
| method method3() → (core::Object?, dynamic) |
| return (0, 0); |
| } |
| class ClassH extends core::Object { |
| synthetic constructor •() → imp::ClassH |
| : super core::Object::•() |
| ; |
| method method3() → (dynamic, core::Object?) |
| return (0, 0); |
| } |
| abstract class ClassI extends core::Object implements imp::ClassG, imp::ClassH { |
| synthetic constructor •() → imp::ClassI |
| : super core::Object::•() |
| ; |
| abstract member-signature method method3() → (core::Object?, core::Object?); -> imp::ClassG::method3 |
| } |
| class ClassJ extends core::Object { |
| synthetic constructor •() → imp::ClassJ |
| : super core::Object::•() |
| ; |
| method method4() → void {} |
| } |
| class ClassK extends core::Object { |
| synthetic constructor •() → imp::ClassK |
| : super core::Object::•() |
| ; |
| set method4(core::int value) → void {} |
| } |
| abstract class ClassJK extends core::Object implements imp::ClassJ, imp::ClassK { |
| synthetic constructor •() → imp::ClassJK |
| : super core::Object::•() |
| ; |
| } |
| class ClassL extends core::Object { |
| synthetic constructor •() → imp::ClassL |
| : super core::Object::•() |
| ; |
| get property() → core::int |
| return 42; |
| } |
| class ClassM extends core::Object { |
| synthetic constructor •() → imp::ClassM |
| : super core::Object::•() |
| ; |
| set property(core::String value) → void {} |
| } |
| abstract class ClassLM extends core::Object implements imp::ClassL, imp::ClassM { |
| synthetic constructor •() → imp::ClassLM |
| : super core::Object::•() |
| ; |
| } |
| class ClassN extends core::Object { |
| synthetic constructor •() → imp::ClassN |
| : super core::Object::•() |
| ; |
| set property(core::int value) → void {} |
| } |
| abstract class ClassLN extends core::Object implements imp::ClassL, imp::ClassN { |
| synthetic constructor •() → imp::ClassLN |
| : super core::Object::•() |
| ; |
| } |
| 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=! */ { |
| lowered final imp::ExtensionTypeA% /* erasure=imp::ClassA, declared=! */ #this = c; |
| return #this; |
| } |
| 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 { |
| (#this as{Unchecked} imp::ClassA).{imp::ClassA::method1}(){() → void}; |
| } |
| static extension-type-member method ExtensionTypeA1|constructor#(imp::ClassA c) → imp::ExtensionTypeA1% /* erasure=imp::ClassA, declared=! */ { |
| lowered final imp::ExtensionTypeA1% /* erasure=imp::ClassA, declared=! */ #this = c; |
| return #this; |
| } |
| 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=! */ { |
| lowered final imp::ExtensionTypeA2% /* erasure=imp::ClassA, declared=! */ #this = c; |
| return #this; |
| } |
| 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=! */ { |
| lowered final imp::ExtensionTypeB% /* erasure=imp::ClassB, declared=! */ #this = c; |
| return #this; |
| } |
| 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 { |
| (#this as{Unchecked} imp::ClassB).{imp::ClassB::method1}(){() → 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=! */ { |
| lowered final imp::ExtensionTypeC% /* erasure=imp::ClassC, declared=! */ #this = c; |
| return #this; |
| } |
| 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 { |
| (#this as{Unchecked} imp::ClassC).{imp::ClassC::method1}(){() → void}; |
| } |
| static extension-type-member method ExtensionTypeD|constructor#(imp::ClassD c) → imp::ExtensionTypeD /* erasure=imp::ClassD */ { |
| lowered final imp::ExtensionTypeD /* erasure=imp::ClassD */ #this = c; |
| return #this; |
| } |
| 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 */ { |
| lowered final imp::ExtensionTypeE /* erasure=imp::ClassE */ #this = c; |
| return #this; |
| } |
| 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 */ { |
| lowered final imp::ExtensionTypeG /* erasure=imp::ClassG */ #this = c; |
| return #this; |
| } |
| 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 */ { |
| lowered final imp::ExtensionTypeH /* erasure=imp::ClassH */ #this = c; |
| return #this; |
| } |
| 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=! */ { |
| lowered final imp::ExtensionTypeJ% /* erasure=imp::ClassJ, declared=! */ #this = i; |
| return #this; |
| } |
| 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=! */ { |
| lowered final imp::ExtensionTypeK% /* erasure=imp::ClassK, declared=! */ #this = i; |
| return #this; |
| } |
| 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=! */ { |
| lowered final imp::ExtensionTypeL% /* erasure=imp::ClassL, declared=! */ #this = i; |
| return #this; |
| } |
| 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 |
| return 42; |
| static extension-type-member method ExtensionTypeM|constructor#(imp::ClassM i) → imp::ExtensionTypeM% /* erasure=imp::ClassM, declared=! */ { |
| lowered final imp::ExtensionTypeM% /* erasure=imp::ClassM, declared=! */ #this = i; |
| return #this; |
| } |
| 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=! */ { |
| lowered final imp::ExtensionTypeN% /* erasure=imp::ClassN, declared=! */ #this = i; |
| return #this; |
| } |
| 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 */ { |
| lowered final imp::ExtensionTypeLN /* erasure=imp::ClassLN */ #this = i; |
| return #this; |
| } |