blob: e9568ced88b34305c2a2fc4016f65bea0ea7072e [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// 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::•()
;
}
class Class2 extends core::Object {
synthetic constructor •() self::Class2
: super core::Object::•()
;
}
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();
^^^^^^^^^^^^^" in c2{<unresolved>}.uniqueMethod2();
}