library; // // Problems in library: // // pkg/front_end/testcases/extensions/conflicts.dart:14:11: Error: 'DuplicateExtensionName' is already declared in this scope. // extension DuplicateExtensionName on Class2 { // ^^^^^^^^^^^^^^^^^^^^^^ // pkg/front_end/testcases/extensions/conflicts.dart:9:11: Context: Previous declaration of 'DuplicateExtensionName'. // extension DuplicateExtensionName on Class1 { // ^^^^^^^^^^^^^^^^^^^^^^ // // pkg/front_end/testcases/extensions/conflicts.dart:21:3: Error: 'duplicateMethodName1' is already declared in this scope. // duplicateMethodName1() => 2; // ^^^^^^^^^^^^^^^^^^^^ // pkg/front_end/testcases/extensions/conflicts.dart:20:3: Context: Previous declaration of 'duplicateMethodName1'. // duplicateMethodName1() => 1; // ^^^^^^^^^^^^^^^^^^^^ // // pkg/front_end/testcases/extensions/conflicts.dart:31:6: Error: The method 'uniqueMethod2' isn't defined for the class 'Class2'. // - 'Class2' is from 'pkg/front_end/testcases/extensions/conflicts.dart'. // Try correcting the name to the name of an existing method, or defining a method named 'uniqueMethod2'. // c2.uniqueMethod2(); // ^^^^^^^^^^^^^ // import self as self; import "dart:core" as core; class Class1 extends core::Object { synthetic constructor •() → self::Class1* : super core::Object::•() ; abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode abstract member-signature method toString() → core::String*; -> core::Object::toString abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType } class Class2 extends core::Object { synthetic constructor •() → self::Class2* : super core::Object::•() ; abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode abstract member-signature method toString() → core::String*; -> core::Object::toString abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType } extension DuplicateExtensionName on self::Class1* { method uniqueMethod1 = self::DuplicateExtensionName|uniqueMethod1; tearoff uniqueMethod1 = self::DuplicateExtensionName|get#uniqueMethod1; method duplicateMethodName2 = self::DuplicateExtensionName|duplicateMethodName2; tearoff duplicateMethodName2 = self::DuplicateExtensionName|get#duplicateMethodName2; } extension UniqueExtensionName on self::Class1* { method duplicateMethodName1 = self::UniqueExtensionName|duplicateMethodName1; tearoff duplicateMethodName1 = self::UniqueExtensionName|get#duplicateMethodName1; } static method DuplicateExtensionName|uniqueMethod1(lowered final self::Class1* #this) → dynamic {} static method DuplicateExtensionName|get#uniqueMethod1(lowered final self::Class1* #this) → () →* dynamic return () → dynamic => self::DuplicateExtensionName|uniqueMethod1(#this); static method DuplicateExtensionName|duplicateMethodName2(lowered final self::Class1* #this) → dynamic return 1; static method DuplicateExtensionName|get#duplicateMethodName2(lowered final self::Class1* #this) → () →* dynamic return () → dynamic => self::DuplicateExtensionName|duplicateMethodName2(#this); static method UniqueExtensionName|duplicateMethodName1(lowered final self::Class1* #this) → dynamic return 1; static method UniqueExtensionName|get#duplicateMethodName1(lowered final self::Class1* #this) → () →* dynamic return () → dynamic => self::UniqueExtensionName|duplicateMethodName1(#this); static method main() → dynamic { self::Class1* c1 = new self::Class1::•(); self::DuplicateExtensionName|uniqueMethod1(c1); } static method errors() → dynamic { self::Class2* c2 = new self::Class2::•(); invalid-expression "pkg/front_end/testcases/extensions/conflicts.dart:31:6: Error: The method 'uniqueMethod2' isn't defined for the class 'Class2'. - 'Class2' is from 'pkg/front_end/testcases/extensions/conflicts.dart'. Try correcting the name to the name of an existing method, or defining a method named 'uniqueMethod2'. c2.uniqueMethod2(); ^^^^^^^^^^^^^"; }