blob: a54a55ba2a293a19aeaf7a7733a7b12f4df1a150 [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(final self::C* #this) → void {}
static method A|get#method(final self::C* #this) → () →* void
return () void => self::A|method(#this);
static method A|get#getter(final self::C* #this) → core::int*
return 42;
static method A|set#setter(final self::C* #this, core::int* value) → void {}
static method A|get#property(final self::C* #this) → core::int*
return 42;
static method A|+(final self::C* #this, core::int* i) → core::int*
return i;
static method A|unary-(final self::C* #this) → core::int*
return 0;
static method A|[](final self::C* #this, core::int* i) → core::int*
return i;
static method B|method(final self::C* #this) → void {}
static method B|get#method(final self::C* #this) → () →* void
return () void => self::B|method(#this);
static method B|get#getter(final self::C* #this) → core::int*
return 42;
static method B|set#setter(final self::C* #this, core::int* value) → void {}
static method B|set#property(final self::C* #this, core::int* value) → void {}
static method B|+(final self::C* #this, core::int* i) → core::int*
return i;
static method B|unary-(final self::C* #this) → core::int*
return 0;
static method B|[]=(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();
^^^^^^";
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;
^^^^^^";
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;
^^^^^^";
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;
^^^^^^";
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;
^^^^^^";
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;
^^^^^^";
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;
^^^^^^^^";
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;
^^^^^^^^";
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;
^";
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;
^";
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];
^";
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;
^";
}
static method main() dynamic {}