blob: 1dca435a6a6c190836a756fd6a89d59d31ad0ff5 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/extensions/ambiguous.dart:28:5: Error: The method 'method' is defined in multiple extensions for 'C' and neither is more specific.
// - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
// Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
// c.method();
// ^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:6:8: Context: This is one of the extension members.
// void method() {}
// ^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:16:8: Context: This is one of the extension members.
// void method() {}
// ^^^^^^
//
// pkg/front_end/testcases/extensions/ambiguous.dart:29:5: Error: The property 'method' is defined in multiple extensions for 'C' and neither is more specific.
// - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
// Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
// c.method;
// ^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:6:8: Context: This is one of the extension members.
// void method() {}
// ^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:16:8: Context: This is one of the extension members.
// void method() {}
// ^^^^^^
//
// pkg/front_end/testcases/extensions/ambiguous.dart:30:5: Error: The property 'getter' is defined in multiple extensions for 'C' and neither is more specific.
// - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
// Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
// c.getter;
// ^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:7:11: Context: This is one of the extension members.
// int get getter => 42;
// ^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:17:11: Context: This is one of the extension members.
// int get getter => 42;
// ^^^^^^
//
// pkg/front_end/testcases/extensions/ambiguous.dart:31:5: Error: The property 'setter' is defined in multiple extensions for 'C' and neither is more specific.
// - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
// Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
// c.setter;
// ^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:8:12: Context: This is one of the extension members.
// void set setter(int value) {}
// ^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:18:12: Context: This is one of the extension members.
// void set setter(int value) {}
// ^^^^^^
//
// pkg/front_end/testcases/extensions/ambiguous.dart:32:5: Error: The property 'getter' is defined in multiple extensions for 'C' and neither is more specific.
// - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
// Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
// c.getter = 42;
// ^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:7:11: Context: This is one of the extension members.
// int get getter => 42;
// ^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:17:11: Context: This is one of the extension members.
// int get getter => 42;
// ^^^^^^
//
// pkg/front_end/testcases/extensions/ambiguous.dart:33:5: Error: The property 'setter' is defined in multiple extensions for 'C' and neither is more specific.
// - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
// Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
// c.setter = 42;
// ^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:8:12: Context: This is one of the extension members.
// void set setter(int value) {}
// ^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:18:12: Context: This is one of the extension members.
// void set setter(int value) {}
// ^^^^^^
//
// pkg/front_end/testcases/extensions/ambiguous.dart:34:5: Error: The property 'property' is defined in multiple extensions for 'C' and neither is more specific.
// - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
// Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
// c.property;
// ^^^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:9:11: Context: This is one of the extension members.
// int get property => 42;
// ^^^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:19:12: Context: This is one of the extension members.
// void set property(int value) {}
// ^^^^^^^^
//
// pkg/front_end/testcases/extensions/ambiguous.dart:35:5: Error: The property 'property' is defined in multiple extensions for 'C' and neither is more specific.
// - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
// Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
// c.property = 42;
// ^^^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:9:11: Context: This is one of the extension members.
// int get property => 42;
// ^^^^^^^^
// pkg/front_end/testcases/extensions/ambiguous.dart:19:12: Context: This is one of the extension members.
// void set property(int value) {}
// ^^^^^^^^
//
// pkg/front_end/testcases/extensions/ambiguous.dart:36:5: Error: The operator '+' is defined in multiple extensions for 'C' and neither is more specific.
// - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
// Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
// c + 0;
// ^
// pkg/front_end/testcases/extensions/ambiguous.dart:10:16: Context: This is one of the extension members.
// int operator +(int i) => i;
// ^
// pkg/front_end/testcases/extensions/ambiguous.dart:20:16: Context: This is one of the extension members.
// int operator +(int i) => i;
// ^
//
// pkg/front_end/testcases/extensions/ambiguous.dart:37:3: Error: The operator 'unary-' is defined in multiple extensions for 'C' and neither is more specific.
// - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
// Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
// -c;
// ^
// pkg/front_end/testcases/extensions/ambiguous.dart:11:16: Context: This is one of the extension members.
// int operator -() => 0;
// ^
// pkg/front_end/testcases/extensions/ambiguous.dart:21:16: Context: This is one of the extension members.
// int operator -() => 0;
// ^
//
// pkg/front_end/testcases/extensions/ambiguous.dart:38:4: Error: The operator '[]' is defined in multiple extensions for 'C' and neither is more specific.
// - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
// Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
// c[42];
// ^
// pkg/front_end/testcases/extensions/ambiguous.dart:12:16: Context: This is one of the extension members.
// int operator [](int i) => i;
// ^^
// pkg/front_end/testcases/extensions/ambiguous.dart:22:17: Context: This is one of the extension members.
// void operator []=(int i, int j) {}
// ^^^
//
// pkg/front_end/testcases/extensions/ambiguous.dart:39:4: Error: The operator '[]=' is defined in multiple extensions for 'C' and neither is more specific.
// - 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
// Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
// c[42] = 0;
// ^
// pkg/front_end/testcases/extensions/ambiguous.dart:12:16: Context: This is one of the extension members.
// int operator [](int i) => i;
// ^^
// pkg/front_end/testcases/extensions/ambiguous.dart:22:17: Context: This is one of the extension members.
// void operator []=(int i, int j) {}
// ^^^
//
import self as self;
import "dart:core" as core;
class C extends core::Object {
synthetic constructor •() self::C*
: 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 A on self::C* {
method method = self::A|method;
tearoff method = self::A|get#method;
get getter = self::A|get#getter;
get property = self::A|get#property;
operator + = self::A|+;
operator unary- = self::A|unary-;
operator [] = self::A|[];
set setter = self::A|set#setter;
}
extension B on self::C* {
method method = self::B|method;
tearoff method = self::B|get#method;
get getter = self::B|get#getter;
operator + = self::B|+;
operator unary- = self::B|unary-;
operator []= = self::B|[]=;
set setter = self::B|set#setter;
set property = self::B|set#property;
}
static method A|method(lowered final self::C* #this) → void {}
static method A|get#method(lowered final self::C* #this) → () →* void
return () void => self::A|method(#this);
static method A|get#getter(lowered final self::C* #this) → core::int*
return 42;
static method A|set#setter(lowered final self::C* #this, core::int* value) → void {}
static method A|get#property(lowered final self::C* #this) → core::int*
return 42;
static method A|+(lowered final self::C* #this, core::int* i) → core::int*
return i;
static method A|unary-(lowered final self::C* #this) → core::int*
return 0;
static method A|[](lowered final self::C* #this, core::int* i) → core::int*
return i;
static method B|method(lowered final self::C* #this) → void {}
static method B|get#method(lowered final self::C* #this) → () →* void
return () void => self::B|method(#this);
static method B|get#getter(lowered final self::C* #this) → core::int*
return 42;
static method B|set#setter(lowered final self::C* #this, core::int* value) → void {}
static method B|set#property(lowered final self::C* #this, core::int* value) → void {}
static method B|+(lowered final self::C* #this, core::int* i) → core::int*
return i;
static method B|unary-(lowered final self::C* #this) → core::int*
return 0;
static method B|[]=(lowered final self::C* #this, core::int* i, core::int* j) → void {}
static method errors(self::C* c) dynamic {
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:28:5: Error: The method 'method' is defined in multiple extensions for 'C' and neither is more specific.
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
c.method();
^^^^^^" in c{<unresolved>}.method();
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:29:5: Error: The property 'method' is defined in multiple extensions for 'C' and neither is more specific.
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
c.method;
^^^^^^" in c{<unresolved>}.method;
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:30:5: Error: The property 'getter' is defined in multiple extensions for 'C' and neither is more specific.
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
c.getter;
^^^^^^" in c{<unresolved>}.getter;
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:31:5: Error: The property 'setter' is defined in multiple extensions for 'C' and neither is more specific.
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
c.setter;
^^^^^^" in c{<unresolved>}.setter;
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:32:5: Error: The property 'getter' is defined in multiple extensions for 'C' and neither is more specific.
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
c.getter = 42;
^^^^^^" in c{<unresolved>}.getter = 42;
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:33:5: Error: The property 'setter' is defined in multiple extensions for 'C' and neither is more specific.
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
c.setter = 42;
^^^^^^" in c{<unresolved>}.setter = 42;
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:34:5: Error: The property 'property' is defined in multiple extensions for 'C' and neither is more specific.
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
c.property;
^^^^^^^^" in c{<unresolved>}.property;
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:35:5: Error: The property 'property' is defined in multiple extensions for 'C' and neither is more specific.
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
c.property = 42;
^^^^^^^^" in c{<unresolved>}.property = 42;
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:36:5: Error: The operator '+' is defined in multiple extensions for 'C' and neither is more specific.
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
c + 0;
^" in c{<unresolved>}.+(0);
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:37:3: Error: The operator 'unary-' is defined in multiple extensions for 'C' and neither is more specific.
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
-c;
^" in c{<unresolved>}.unary-();
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:38:4: Error: The operator '[]' is defined in multiple extensions for 'C' and neither is more specific.
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
c[42];
^" in c{<unresolved>}.[](42);
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:39:4: Error: The operator '[]=' is defined in multiple extensions for 'C' and neither is more specific.
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
c[42] = 0;
^" in c{<unresolved>}.[]=(42, 0);
}
static method main() dynamic {}