blob: 9764dae90a2da63a864fc74a5b3543a294a7a88e [file] [log] [blame]
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(final self::Class1* #this) → dynamic {}
static method DuplicateExtensionName|get#uniqueMethod1(final self::Class1* #this) → () →* dynamic
return () dynamic => self::DuplicateExtensionName|uniqueMethod1(#this);
static method DuplicateExtensionName|duplicateMethodName2(final self::Class1* #this) → dynamic
return 1;
static method DuplicateExtensionName|get#duplicateMethodName2(final self::Class1* #this) → () →* dynamic
return () dynamic => self::DuplicateExtensionName|duplicateMethodName2(#this);
static method UniqueExtensionName|duplicateMethodName1(final self::Class1* #this) → dynamic
return 1;
static method UniqueExtensionName|get#duplicateMethodName1(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();
^^^^^^^^^^^^^";
}