[flip-modifiers] CFE test golden file changes from class to mixin.

Change-Id: I58fa6ea3c34dec65e9cc754aeeffbe779314bd3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286958
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
Kallen Tu
2023-03-07 16:54:38 +00:00
committed by Commit Queue
parent 47cfe5f97f
commit ef6295df67
523 changed files with 1805 additions and 3511 deletions
@@ -4,6 +4,7 @@
enum E1 {
element;
final int element = 42; // Error.
}
@@ -42,7 +43,7 @@ enum E7 {
static void set element(E7 value) {}
}
class A8 {
mixin A8 {
void set element(dynamic value) {}
}
@@ -50,7 +51,7 @@ enum E8 with A8 {
element // Error.
}
class A9 {
mixin A9 {
int element = 42;
}
@@ -58,7 +59,7 @@ enum E9 with A9 {
element // Error.
}
class A10 {
mixin A10 {
void element() {}
}
@@ -2,70 +2,70 @@ library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:7:13: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:8:13: Error: 'element' is already declared in this scope.
// final int element = 42; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:6:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:12:3: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:13:3: Error: 'element' is already declared in this scope.
// element; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:11:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:12:3: Context: Previous declaration of 'element'.
// element,
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:18:8: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:19:8: Error: 'element' is already declared in this scope.
// void element() {} // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:16:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:17:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:24:15: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:25:15: Error: 'element' is already declared in this scope.
// static void element() {} // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:22:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:23:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:30:14: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:31:14: Error: 'element' is already declared in this scope.
// static int element = 42; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:28:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:29:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:34:3: Error: This static member conflicts with an instance member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:35:3: Error: This static member conflicts with an instance member.
// element; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:36:12: Context: This is the instance member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:37:12: Context: This is the instance member.
// void set element(E6 value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:50:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:51:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:46:12: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:47:12: Context: This is the inherited member.
// void set element(dynamic value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:58:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:59:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:54:7: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:55:7: Context: This is the inherited member.
// int element = 42;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:66:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:67:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:62:8: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:63:8: Context: This is the inherited member.
// void element() {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:57:6: Error: A constant constructor can't call a non-constant super constructor.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:58:6: Error: A constant constructor can't call a non-constant super constructor.
// enum E9 with A9 {
// ^
//
@@ -137,10 +137,7 @@ class E7 extends core::_Enum /*isEnum*/ {
return "E7.${this.{core::_Enum::_name}{core::String}}";
static set element(self::E7 value) → void {}
}
class A8 extends core::Object {
synthetic constructor •() → self::A8
: super core::Object::•()
;
abstract class A8 extends core::Object /*isMixinDeclaration*/ {
set element(dynamic value) → void {}
}
abstract class _E8&_Enum&A8 = core::_Enum with self::A8 /*isAnonymousMixin,hasConstConstructor*/ {
@@ -159,11 +156,8 @@ class E8 extends self::_E8&_Enum&A8 /*isEnum*/ {
method _enumToString() → core::String
return "E8.${this.{core::_Enum::_name}{core::String}}";
}
class A9 extends core::Object {
abstract class A9 extends core::Object /*isMixinDeclaration*/ {
field core::int element = 42;
synthetic constructor •() → self::A9
: super core::Object::•()
;
}
abstract class _E9&_Enum&A9 = core::_Enum with self::A9 /*isAnonymousMixin*/ {
synthetic constructor •(core::int index, core::String _name) → self::_E9&_Enum&A9
@@ -183,10 +177,7 @@ class E9 extends self::_E9&_Enum&A9 /*isEnum*/ {
method _enumToString() → core::String
return "E9.${this.{core::_Enum::_name}{core::String}}";
}
class A10 extends core::Object {
synthetic constructor •() → self::A10
: super core::Object::•()
;
abstract class A10 extends core::Object /*isMixinDeclaration*/ {
method element() → void {}
}
abstract class _E10&_Enum&A10 = core::_Enum with self::A10 /*isAnonymousMixin,hasConstConstructor*/ {
@@ -229,13 +220,13 @@ constants {
Constructor coverage from constants:
org-dartlang-testcase:///conflicting_elements.dart:
- E2. (from org-dartlang-testcase:///conflicting_elements.dart:10:6)
- E2. (from org-dartlang-testcase:///conflicting_elements.dart:11:6)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- E6. (from org-dartlang-testcase:///conflicting_elements.dart:33:6)
- E7. (from org-dartlang-testcase:///conflicting_elements.dart:39:6)
- E8. (from org-dartlang-testcase:///conflicting_elements.dart:49:6)
- _E8&_Enum&A8. (from org-dartlang-testcase:///conflicting_elements.dart:49:6)
- E9. (from org-dartlang-testcase:///conflicting_elements.dart:57:6)
- E10. (from org-dartlang-testcase:///conflicting_elements.dart:65:6)
- _E10&_Enum&A10. (from org-dartlang-testcase:///conflicting_elements.dart:65:6)
- E6. (from org-dartlang-testcase:///conflicting_elements.dart:34:6)
- E7. (from org-dartlang-testcase:///conflicting_elements.dart:40:6)
- E8. (from org-dartlang-testcase:///conflicting_elements.dart:50:6)
- _E8&_Enum&A8. (from org-dartlang-testcase:///conflicting_elements.dart:50:6)
- E9. (from org-dartlang-testcase:///conflicting_elements.dart:58:6)
- E10. (from org-dartlang-testcase:///conflicting_elements.dart:66:6)
- _E10&_Enum&A10. (from org-dartlang-testcase:///conflicting_elements.dart:66:6)
@@ -2,70 +2,70 @@ library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:7:13: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:8:13: Error: 'element' is already declared in this scope.
// final int element = 42; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:6:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:12:3: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:13:3: Error: 'element' is already declared in this scope.
// element; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:11:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:12:3: Context: Previous declaration of 'element'.
// element,
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:18:8: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:19:8: Error: 'element' is already declared in this scope.
// void element() {} // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:16:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:17:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:24:15: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:25:15: Error: 'element' is already declared in this scope.
// static void element() {} // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:22:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:23:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:30:14: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:31:14: Error: 'element' is already declared in this scope.
// static int element = 42; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:28:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:29:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:34:3: Error: This static member conflicts with an instance member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:35:3: Error: This static member conflicts with an instance member.
// element; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:36:12: Context: This is the instance member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:37:12: Context: This is the instance member.
// void set element(E6 value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:50:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:51:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:46:12: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:47:12: Context: This is the inherited member.
// void set element(dynamic value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:58:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:59:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:54:7: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:55:7: Context: This is the inherited member.
// int element = 42;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:66:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:67:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:62:8: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:63:8: Context: This is the inherited member.
// void element() {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:57:6: Error: A constant constructor can't call a non-constant super constructor.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:58:6: Error: A constant constructor can't call a non-constant super constructor.
// enum E9 with A9 {
// ^
//
@@ -137,10 +137,7 @@ class E7 extends core::_Enum /*isEnum*/ {
return "E7.${this.{core::_Enum::_name}{core::String}}";
static set element(self::E7 value) → void {}
}
class A8 extends core::Object {
synthetic constructor •() → self::A8
: super core::Object::•()
;
abstract class A8 extends core::Object /*isMixinDeclaration*/ {
set element(dynamic value) → void {}
}
abstract class _E8&_Enum&A8 extends core::_Enum implements self::A8 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
@@ -158,11 +155,8 @@ class E8 extends self::_E8&_Enum&A8 /*isEnum*/ {
method _enumToString() → core::String
return "E8.${this.{core::_Enum::_name}{core::String}}";
}
class A9 extends core::Object {
abstract class A9 extends core::Object /*isMixinDeclaration*/ {
field core::int element = 42;
synthetic constructor •() → self::A9
: super core::Object::•()
;
}
abstract class _E9&_Enum&A9 extends core::_Enum implements self::A9 /*isAnonymousMixin,isEliminatedMixin*/ {
field core::int element = 42;
@@ -179,10 +173,7 @@ class E9 extends self::_E9&_Enum&A9 /*isEnum*/ {
method _enumToString() → core::String
return "E9.${this.{core::_Enum::_name}{core::String}}";
}
class A10 extends core::Object {
synthetic constructor •() → self::A10
: super core::Object::•()
;
abstract class A10 extends core::Object /*isMixinDeclaration*/ {
method element() → void {}
}
abstract class _E10&_Enum&A10 extends core::_Enum implements self::A10 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
@@ -224,13 +215,13 @@ constants {
Constructor coverage from constants:
org-dartlang-testcase:///conflicting_elements.dart:
- E2. (from org-dartlang-testcase:///conflicting_elements.dart:10:6)
- E2. (from org-dartlang-testcase:///conflicting_elements.dart:11:6)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- E6. (from org-dartlang-testcase:///conflicting_elements.dart:33:6)
- E7. (from org-dartlang-testcase:///conflicting_elements.dart:39:6)
- E8. (from org-dartlang-testcase:///conflicting_elements.dart:49:6)
- _E8&_Enum&A8. (from org-dartlang-testcase:///conflicting_elements.dart:49:6)
- E9. (from org-dartlang-testcase:///conflicting_elements.dart:57:6)
- E10. (from org-dartlang-testcase:///conflicting_elements.dart:65:6)
- _E10&_Enum&A10. (from org-dartlang-testcase:///conflicting_elements.dart:65:6)
- E6. (from org-dartlang-testcase:///conflicting_elements.dart:34:6)
- E7. (from org-dartlang-testcase:///conflicting_elements.dart:40:6)
- E8. (from org-dartlang-testcase:///conflicting_elements.dart:50:6)
- _E8&_Enum&A8. (from org-dartlang-testcase:///conflicting_elements.dart:50:6)
- E9. (from org-dartlang-testcase:///conflicting_elements.dart:58:6)
- E10. (from org-dartlang-testcase:///conflicting_elements.dart:66:6)
- _E10&_Enum&A10. (from org-dartlang-testcase:///conflicting_elements.dart:66:6)
@@ -39,19 +39,19 @@ enum E7 {
static void set element(E7 value) {}
}
class A8 {
mixin A8 {
void set element(dynamic value) {}
}
enum E8 with A8 { element }
class A9 {
mixin A9 {
int element = 42;
}
enum E9 with A9 { element }
class A10 {
mixin A10 {
void element() {}
}
@@ -1,15 +1,3 @@
class A10 {
void element() {}
}
class A8 {
void set element(dynamic value) {}
}
class A9 {
int element = 42;
}
enum E1 {
element;
@@ -58,3 +46,12 @@ enum E8 with A8 { element }
enum E9 with A9 { element }
main() {}
mixin A10 {
void element() {}
}
mixin A8 {
void set element(dynamic value) {}
}
mixin A9 {
int element = 42;
}
@@ -2,70 +2,70 @@ library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:7:13: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:8:13: Error: 'element' is already declared in this scope.
// final int element = 42; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:6:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:12:3: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:13:3: Error: 'element' is already declared in this scope.
// element; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:11:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:12:3: Context: Previous declaration of 'element'.
// element,
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:18:8: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:19:8: Error: 'element' is already declared in this scope.
// void element() {} // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:16:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:17:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:24:15: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:25:15: Error: 'element' is already declared in this scope.
// static void element() {} // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:22:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:23:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:30:14: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:31:14: Error: 'element' is already declared in this scope.
// static int element = 42; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:28:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:29:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:34:3: Error: This static member conflicts with an instance member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:35:3: Error: This static member conflicts with an instance member.
// element; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:36:12: Context: This is the instance member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:37:12: Context: This is the instance member.
// void set element(E6 value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:50:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:51:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:46:12: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:47:12: Context: This is the inherited member.
// void set element(dynamic value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:58:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:59:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:54:7: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:55:7: Context: This is the inherited member.
// int element = 42;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:66:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:67:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:62:8: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:63:8: Context: This is the inherited member.
// void element() {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:57:6: Error: A constant constructor can't call a non-constant super constructor.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:58:6: Error: A constant constructor can't call a non-constant super constructor.
// enum E9 with A9 {
// ^
//
@@ -137,10 +137,7 @@ class E7 extends core::_Enum /*isEnum*/ {
return "E7.${this.{core::_Enum::_name}{core::String}}";
static set element(self::E7 value) → void {}
}
class A8 extends core::Object {
synthetic constructor •() → self::A8
: super core::Object::•()
;
abstract class A8 extends core::Object /*isMixinDeclaration*/ {
set element(dynamic value) → void {}
}
abstract class _E8&_Enum&A8 = core::_Enum with self::A8 /*isAnonymousMixin,hasConstConstructor*/ {
@@ -159,11 +156,8 @@ class E8 extends self::_E8&_Enum&A8 /*isEnum*/ {
method _enumToString() → core::String
return "E8.${this.{core::_Enum::_name}{core::String}}";
}
class A9 extends core::Object {
abstract class A9 extends core::Object /*isMixinDeclaration*/ {
field core::int element = 42;
synthetic constructor •() → self::A9
: super core::Object::•()
;
}
abstract class _E9&_Enum&A9 = core::_Enum with self::A9 /*isAnonymousMixin*/ {
synthetic constructor •(core::int index, core::String _name) → self::_E9&_Enum&A9
@@ -183,10 +177,7 @@ class E9 extends self::_E9&_Enum&A9 /*isEnum*/ {
method _enumToString() → core::String
return "E9.${this.{core::_Enum::_name}{core::String}}";
}
class A10 extends core::Object {
synthetic constructor •() → self::A10
: super core::Object::•()
;
abstract class A10 extends core::Object /*isMixinDeclaration*/ {
method element() → void {}
}
abstract class _E10&_Enum&A10 = core::_Enum with self::A10 /*isAnonymousMixin,hasConstConstructor*/ {
@@ -229,13 +220,13 @@ constants {
Constructor coverage from constants:
org-dartlang-testcase:///conflicting_elements.dart:
- E2. (from org-dartlang-testcase:///conflicting_elements.dart:10:6)
- E2. (from org-dartlang-testcase:///conflicting_elements.dart:11:6)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- E6. (from org-dartlang-testcase:///conflicting_elements.dart:33:6)
- E7. (from org-dartlang-testcase:///conflicting_elements.dart:39:6)
- E8. (from org-dartlang-testcase:///conflicting_elements.dart:49:6)
- _E8&_Enum&A8. (from org-dartlang-testcase:///conflicting_elements.dart:49:6)
- E9. (from org-dartlang-testcase:///conflicting_elements.dart:57:6)
- E10. (from org-dartlang-testcase:///conflicting_elements.dart:65:6)
- _E10&_Enum&A10. (from org-dartlang-testcase:///conflicting_elements.dart:65:6)
- E6. (from org-dartlang-testcase:///conflicting_elements.dart:34:6)
- E7. (from org-dartlang-testcase:///conflicting_elements.dart:40:6)
- E8. (from org-dartlang-testcase:///conflicting_elements.dart:50:6)
- _E8&_Enum&A8. (from org-dartlang-testcase:///conflicting_elements.dart:50:6)
- E9. (from org-dartlang-testcase:///conflicting_elements.dart:58:6)
- E10. (from org-dartlang-testcase:///conflicting_elements.dart:66:6)
- _E10&_Enum&A10. (from org-dartlang-testcase:///conflicting_elements.dart:66:6)
@@ -2,70 +2,70 @@ library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:7:13: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:8:13: Error: 'element' is already declared in this scope.
// final int element = 42; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:6:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:12:3: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:13:3: Error: 'element' is already declared in this scope.
// element; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:11:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:12:3: Context: Previous declaration of 'element'.
// element,
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:18:8: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:19:8: Error: 'element' is already declared in this scope.
// void element() {} // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:16:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:17:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:24:15: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:25:15: Error: 'element' is already declared in this scope.
// static void element() {} // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:22:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:23:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:30:14: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:31:14: Error: 'element' is already declared in this scope.
// static int element = 42; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:28:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:29:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:34:3: Error: This static member conflicts with an instance member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:35:3: Error: This static member conflicts with an instance member.
// element; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:36:12: Context: This is the instance member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:37:12: Context: This is the instance member.
// void set element(E6 value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:50:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:51:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:46:12: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:47:12: Context: This is the inherited member.
// void set element(dynamic value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:58:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:59:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:54:7: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:55:7: Context: This is the inherited member.
// int element = 42;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:66:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:67:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:62:8: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:63:8: Context: This is the inherited member.
// void element() {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:57:6: Error: A constant constructor can't call a non-constant super constructor.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:58:6: Error: A constant constructor can't call a non-constant super constructor.
// enum E9 with A9 {
// ^
//
@@ -137,10 +137,7 @@ class E7 extends core::_Enum /*isEnum*/ {
return "E7.${this.{core::_Enum::_name}{core::String}}";
static set element(self::E7 value) → void {}
}
class A8 extends core::Object {
synthetic constructor •() → self::A8
: super core::Object::•()
;
abstract class A8 extends core::Object /*isMixinDeclaration*/ {
set element(dynamic value) → void {}
}
abstract class _E8&_Enum&A8 = core::_Enum with self::A8 /*isAnonymousMixin,hasConstConstructor*/ {
@@ -159,11 +156,8 @@ class E8 extends self::_E8&_Enum&A8 /*isEnum*/ {
method _enumToString() → core::String
return "E8.${this.{core::_Enum::_name}{core::String}}";
}
class A9 extends core::Object {
abstract class A9 extends core::Object /*isMixinDeclaration*/ {
field core::int element = 42;
synthetic constructor •() → self::A9
: super core::Object::•()
;
}
abstract class _E9&_Enum&A9 = core::_Enum with self::A9 /*isAnonymousMixin*/ {
synthetic constructor •(core::int index, core::String _name) → self::_E9&_Enum&A9
@@ -183,10 +177,7 @@ class E9 extends self::_E9&_Enum&A9 /*isEnum*/ {
method _enumToString() → core::String
return "E9.${this.{core::_Enum::_name}{core::String}}";
}
class A10 extends core::Object {
synthetic constructor •() → self::A10
: super core::Object::•()
;
abstract class A10 extends core::Object /*isMixinDeclaration*/ {
method element() → void {}
}
abstract class _E10&_Enum&A10 = core::_Enum with self::A10 /*isAnonymousMixin,hasConstConstructor*/ {
@@ -229,13 +220,13 @@ constants {
Constructor coverage from constants:
org-dartlang-testcase:///conflicting_elements.dart:
- E2. (from org-dartlang-testcase:///conflicting_elements.dart:10:6)
- E2. (from org-dartlang-testcase:///conflicting_elements.dart:11:6)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- E6. (from org-dartlang-testcase:///conflicting_elements.dart:33:6)
- E7. (from org-dartlang-testcase:///conflicting_elements.dart:39:6)
- E8. (from org-dartlang-testcase:///conflicting_elements.dart:49:6)
- _E8&_Enum&A8. (from org-dartlang-testcase:///conflicting_elements.dart:49:6)
- E9. (from org-dartlang-testcase:///conflicting_elements.dart:57:6)
- E10. (from org-dartlang-testcase:///conflicting_elements.dart:65:6)
- _E10&_Enum&A10. (from org-dartlang-testcase:///conflicting_elements.dart:65:6)
- E6. (from org-dartlang-testcase:///conflicting_elements.dart:34:6)
- E7. (from org-dartlang-testcase:///conflicting_elements.dart:40:6)
- E8. (from org-dartlang-testcase:///conflicting_elements.dart:50:6)
- _E8&_Enum&A8. (from org-dartlang-testcase:///conflicting_elements.dart:50:6)
- E9. (from org-dartlang-testcase:///conflicting_elements.dart:58:6)
- E10. (from org-dartlang-testcase:///conflicting_elements.dart:66:6)
- _E10&_Enum&A10. (from org-dartlang-testcase:///conflicting_elements.dart:66:6)
@@ -2,66 +2,66 @@ library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:7:13: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:8:13: Error: 'element' is already declared in this scope.
// final int element = 42; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:6:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:12:3: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:13:3: Error: 'element' is already declared in this scope.
// element; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:11:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:12:3: Context: Previous declaration of 'element'.
// element,
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:18:8: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:19:8: Error: 'element' is already declared in this scope.
// void element() {} // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:16:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:17:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:24:15: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:25:15: Error: 'element' is already declared in this scope.
// static void element() {} // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:22:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:23:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:30:14: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:31:14: Error: 'element' is already declared in this scope.
// static int element = 42; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:28:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:29:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:34:3: Error: This static member conflicts with an instance member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:35:3: Error: This static member conflicts with an instance member.
// element; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:36:12: Context: This is the instance member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:37:12: Context: This is the instance member.
// void set element(E6 value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:50:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:51:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:46:12: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:47:12: Context: This is the inherited member.
// void set element(dynamic value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:58:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:59:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:54:7: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:55:7: Context: This is the inherited member.
// int element = 42;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:66:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:67:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:62:8: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:63:8: Context: This is the inherited member.
// void element() {}
// ^^^^^^^
//
@@ -137,9 +137,7 @@ class E7 extends core::_Enum /*isEnum*/ {
static set element(self::E7 value) → void
;
}
class A8 extends core::Object {
synthetic constructor •() → self::A8
;
abstract class A8 extends core::Object /*isMixinDeclaration*/ {
set element(dynamic value) → void
;
}
@@ -158,10 +156,8 @@ class E8 extends self::_E8&_Enum&A8 /*isEnum*/ {
method _enumToString() → core::String
return "E8.${this.{core::_Enum::_name}{core::String}}";
}
class A9 extends core::Object {
abstract class A9 extends core::Object /*isMixinDeclaration*/ {
field core::int element;
synthetic constructor •() → self::A9
;
}
abstract class _E9&_Enum&A9 = core::_Enum with self::A9 /*isAnonymousMixin*/ {
synthetic constructor •(core::int index, core::String _name) → self::_E9&_Enum&A9
@@ -180,9 +176,7 @@ class E9 extends self::_E9&_Enum&A9 /*isEnum*/ {
method _enumToString() → core::String
return "E9.${this.{core::_Enum::_name}{core::String}}";
}
class A10 extends core::Object {
synthetic constructor •() → self::A10
;
abstract class A10 extends core::Object /*isMixinDeclaration*/ {
method element() → void
;
}
@@ -207,19 +201,19 @@ static method main() → dynamic
Extra constant evaluation status:
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:5:6 -> ListConstant(const <E1*>[])
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:10:6 -> ListConstant(const <E2*>[const E2{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///conflicting_elements.dart:11:3 -> InstanceConstant(const E2{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:15:6 -> ListConstant(const <E3*>[])
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:21:6 -> ListConstant(const <E4*>[])
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:27:6 -> ListConstant(const <E5*>[])
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:33:6 -> ListConstant(const <E6*>[const E6{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///conflicting_elements.dart:34:3 -> InstanceConstant(const E6{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:39:6 -> ListConstant(const <E7*>[const E7{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///conflicting_elements.dart:40:3 -> InstanceConstant(const E7{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:49:6 -> ListConstant(const <E8*>[const E8{}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///conflicting_elements.dart:50:3 -> InstanceConstant(const E8{})
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:57:6 -> ListConstant(const <E9*>[const E9{}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///conflicting_elements.dart:58:3 -> InstanceConstant(const E9{})
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:65:6 -> ListConstant(const <E10*>[const E10{}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///conflicting_elements.dart:66:3 -> InstanceConstant(const E10{})
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:11:6 -> ListConstant(const <E2*>[const E2{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///conflicting_elements.dart:12:3 -> InstanceConstant(const E2{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:16:6 -> ListConstant(const <E3*>[])
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:22:6 -> ListConstant(const <E4*>[])
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:28:6 -> ListConstant(const <E5*>[])
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:34:6 -> ListConstant(const <E6*>[const E6{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///conflicting_elements.dart:35:3 -> InstanceConstant(const E6{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:40:6 -> ListConstant(const <E7*>[const E7{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///conflicting_elements.dart:41:3 -> InstanceConstant(const E7{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:50:6 -> ListConstant(const <E8*>[const E8{}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///conflicting_elements.dart:51:3 -> InstanceConstant(const E8{})
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:58:6 -> ListConstant(const <E9*>[const E9{}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///conflicting_elements.dart:59:3 -> InstanceConstant(const E9{})
Evaluated: ListLiteral @ org-dartlang-testcase:///conflicting_elements.dart:66:6 -> ListConstant(const <E10*>[const E10{}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///conflicting_elements.dart:67:3 -> InstanceConstant(const E10{})
Extra constant evaluation: evaluated: 72, effectively constant: 16
@@ -2,70 +2,70 @@ library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:7:13: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:8:13: Error: 'element' is already declared in this scope.
// final int element = 42; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:6:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:12:3: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:13:3: Error: 'element' is already declared in this scope.
// element; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:11:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:12:3: Context: Previous declaration of 'element'.
// element,
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:18:8: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:19:8: Error: 'element' is already declared in this scope.
// void element() {} // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:16:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:17:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:24:15: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:25:15: Error: 'element' is already declared in this scope.
// static void element() {} // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:22:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:23:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:30:14: Error: 'element' is already declared in this scope.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:31:14: Error: 'element' is already declared in this scope.
// static int element = 42; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:28:3: Context: Previous declaration of 'element'.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:29:3: Context: Previous declaration of 'element'.
// element;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:34:3: Error: This static member conflicts with an instance member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:35:3: Error: This static member conflicts with an instance member.
// element; // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:36:12: Context: This is the instance member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:37:12: Context: This is the instance member.
// void set element(E6 value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:50:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:51:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:46:12: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:47:12: Context: This is the inherited member.
// void set element(dynamic value) {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:58:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:59:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:54:7: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:55:7: Context: This is the inherited member.
// int element = 42;
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:66:3: Error: Can't declare a member that conflicts with an inherited one.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:67:3: Error: Can't declare a member that conflicts with an inherited one.
// element // Error.
// ^^^^^^^
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:62:8: Context: This is the inherited member.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:63:8: Context: This is the inherited member.
// void element() {}
// ^^^^^^^
//
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:57:6: Error: A constant constructor can't call a non-constant super constructor.
// pkg/front_end/testcases/enhanced_enums/conflicting_elements.dart:58:6: Error: A constant constructor can't call a non-constant super constructor.
// enum E9 with A9 {
// ^
//
@@ -137,10 +137,7 @@ class E7 extends core::_Enum /*isEnum*/ {
return "E7.${this.{core::_Enum::_name}{core::String}}";
static set element(self::E7 value) → void {}
}
class A8 extends core::Object {
synthetic constructor •() → self::A8
: super core::Object::•()
;
abstract class A8 extends core::Object /*isMixinDeclaration*/ {
set element(dynamic value) → void {}
}
abstract class _E8&_Enum&A8 extends core::_Enum implements self::A8 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
@@ -158,11 +155,8 @@ class E8 extends self::_E8&_Enum&A8 /*isEnum*/ {
method _enumToString() → core::String
return "E8.${this.{core::_Enum::_name}{core::String}}";
}
class A9 extends core::Object {
abstract class A9 extends core::Object /*isMixinDeclaration*/ {
field core::int element = 42;
synthetic constructor •() → self::A9
: super core::Object::•()
;
}
abstract class _E9&_Enum&A9 extends core::_Enum implements self::A9 /*isAnonymousMixin,isEliminatedMixin*/ {
field core::int element = 42;
@@ -179,10 +173,7 @@ class E9 extends self::_E9&_Enum&A9 /*isEnum*/ {
method _enumToString() → core::String
return "E9.${this.{core::_Enum::_name}{core::String}}";
}
class A10 extends core::Object {
synthetic constructor •() → self::A10
: super core::Object::•()
;
abstract class A10 extends core::Object /*isMixinDeclaration*/ {
method element() → void {}
}
abstract class _E10&_Enum&A10 extends core::_Enum implements self::A10 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
@@ -224,13 +215,13 @@ constants {
Constructor coverage from constants:
org-dartlang-testcase:///conflicting_elements.dart:
- E2. (from org-dartlang-testcase:///conflicting_elements.dart:10:6)
- E2. (from org-dartlang-testcase:///conflicting_elements.dart:11:6)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- E6. (from org-dartlang-testcase:///conflicting_elements.dart:33:6)
- E7. (from org-dartlang-testcase:///conflicting_elements.dart:39:6)
- E8. (from org-dartlang-testcase:///conflicting_elements.dart:49:6)
- _E8&_Enum&A8. (from org-dartlang-testcase:///conflicting_elements.dart:49:6)
- E9. (from org-dartlang-testcase:///conflicting_elements.dart:57:6)
- E10. (from org-dartlang-testcase:///conflicting_elements.dart:65:6)
- _E10&_Enum&A10. (from org-dartlang-testcase:///conflicting_elements.dart:65:6)
- E6. (from org-dartlang-testcase:///conflicting_elements.dart:34:6)
- E7. (from org-dartlang-testcase:///conflicting_elements.dart:40:6)
- E8. (from org-dartlang-testcase:///conflicting_elements.dart:50:6)
- _E8&_Enum&A8. (from org-dartlang-testcase:///conflicting_elements.dart:50:6)
- E9. (from org-dartlang-testcase:///conflicting_elements.dart:58:6)
- E10. (from org-dartlang-testcase:///conflicting_elements.dart:66:6)
- _E10&_Enum&A10. (from org-dartlang-testcase:///conflicting_elements.dart:66:6)
@@ -2,25 +2,25 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
class A {
mixin M1 {
String get foo => "foo";
}
class B {
mixin M2 {
int bar() => 42;
}
mixin M {
mixin M3 {
void set callOnAssignment(void Function() f) {
f();
}
}
enum E1 with A { one, two }
enum E1 with M1 { one, two }
enum E2 with A, B { one, two }
enum E2 with M1, M2 { one, two }
enum E3 with M { one, two }
enum E3 with M3 { one, two }
expectEquals(x, y) {
if (x != y) {
@@ -2,79 +2,73 @@ library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
synthetic constructor •() → self::A
: super core::Object::•()
;
abstract class M1 extends core::Object /*isMixinDeclaration*/ {
get foo() → core::String
return "foo";
}
class B extends core::Object {
synthetic constructor •() → self::B
: super core::Object::•()
;
abstract class M2 extends core::Object /*isMixinDeclaration*/ {
method bar() → core::int
return 42;
}
abstract class M extends core::Object /*isMixinDeclaration*/ {
abstract class M3 extends core::Object /*isMixinDeclaration*/ {
set callOnAssignment(() → void f) → void {
f(){() → void};
}
}
abstract class _E1&_Enum&A = core::_Enum with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E1&_Enum&A
abstract class _E1&_Enum&M1 = core::_Enum with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E1&_Enum&M1
: super core::_Enum::•(index, _name)
;
mixin-super-stub get foo() → core::String
return super.{self::A::foo};
return super.{self::M1::foo};
}
class E1 extends self::_E1&_Enum&A /*isEnum*/ {
class E1 extends self::_E1&_Enum&M1 /*isEnum*/ {
static const field core::List<self::E1> values = #C7;
enum-element static const field self::E1 one = #C3;
enum-element static const field self::E1 two = #C6;
const constructor •(core::int #index, core::String #name) → self::E1
: super self::_E1&_Enum&A::•(#index, #name)
: super self::_E1&_Enum&M1::•(#index, #name)
;
method _enumToString() → core::String
return "E1.${this.{core::_Enum::_name}{core::String}}";
}
abstract class _E2&_Enum&A = core::_Enum with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&A
abstract class _E2&_Enum&M1 = core::_Enum with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&M1
: super core::_Enum::•(index, _name)
;
mixin-super-stub get foo() → core::String
return super.{self::A::foo};
return super.{self::M1::foo};
}
abstract class _E2&_Enum&A&B = self::_E2&_Enum&A with self::B /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&A&B
: super self::_E2&_Enum&A::•(index, _name)
abstract class _E2&_Enum&M1&M2 = self::_E2&_Enum&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&M1&M2
: super self::_E2&_Enum&M1::•(index, _name)
;
mixin-super-stub method bar() → core::int
return super.{self::B::bar}();
return super.{self::M2::bar}();
}
class E2 extends self::_E2&_Enum&A&B /*isEnum*/ {
class E2 extends self::_E2&_Enum&M1&M2 /*isEnum*/ {
static const field core::List<self::E2> values = #C10;
enum-element static const field self::E2 one = #C8;
enum-element static const field self::E2 two = #C9;
const constructor •(core::int #index, core::String #name) → self::E2
: super self::_E2&_Enum&A&B::•(#index, #name)
: super self::_E2&_Enum&M1&M2::•(#index, #name)
;
method _enumToString() → core::String
return "E2.${this.{core::_Enum::_name}{core::String}}";
}
abstract class _E3&_Enum&M = core::_Enum with self::M /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E3&_Enum&M
abstract class _E3&_Enum&M3 = core::_Enum with self::M3 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E3&_Enum&M3
: super core::_Enum::•(index, _name)
;
mixin-super-stub set callOnAssignment(() → void f) → void
return super.{self::M::callOnAssignment} = f;
return super.{self::M3::callOnAssignment} = f;
}
class E3 extends self::_E3&_Enum&M /*isEnum*/ {
class E3 extends self::_E3&_Enum&M3 /*isEnum*/ {
static const field core::List<self::E3> values = #C13;
enum-element static const field self::E3 one = #C11;
enum-element static const field self::E3 two = #C12;
const constructor •(core::int #index, core::String #name) → self::E3
: super self::_E3&_Enum&M::•(#index, #name)
: super self::_E3&_Enum&M3::•(#index, #name)
;
method _enumToString() → core::String
return "E3.${this.{core::_Enum::_name}{core::String}}";
@@ -96,14 +90,14 @@ static method throwOnCall() → void {
throw 42;
}
static method main() → dynamic {
self::expectEquals(#C3.{self::_E1&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C6.{self::_E1&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C9.{self::_E2&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&A&B::bar}(){() → core::int}, "bar");
self::expectEquals(#C9.{self::_E2&_Enum&A&B::bar}(){() → core::int}, "bar");
self::expectThrows(#C11.{self::_E3&_Enum&M::callOnAssignment} = #C14);
self::expectThrows(#C12.{self::_E3&_Enum&M::callOnAssignment} = #C14);
self::expectEquals(#C3.{self::_E1&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C6.{self::_E1&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C9.{self::_E2&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&M1&M2::bar}(){() → core::int}, "bar");
self::expectEquals(#C9.{self::_E2&_Enum&M1&M2::bar}(){() → core::int}, "bar");
self::expectThrows(#C11.{self::_E3&_Enum&M3::callOnAssignment} = #C14);
self::expectThrows(#C12.{self::_E3&_Enum&M3::callOnAssignment} = #C14);
}
constants {
@@ -127,11 +121,11 @@ constants {
Constructor coverage from constants:
org-dartlang-testcase:///simple_mixins.dart:
- E1. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _E1&_Enum&A. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _E1&_Enum&M1. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- E2. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&A&B. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&A. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&M1&M2. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&M1. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- E3. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
- _E3&_Enum&M. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
- _E3&_Enum&M3. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
@@ -2,80 +2,74 @@ library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
synthetic constructor •() → self::A
: super core::Object::•()
;
abstract class M1 extends core::Object /*isMixinDeclaration*/ {
get foo() → core::String
return "foo";
}
class B extends core::Object {
synthetic constructor •() → self::B
: super core::Object::•()
;
abstract class M2 extends core::Object /*isMixinDeclaration*/ {
method bar() → core::int
return 42;
}
abstract class M extends core::Object /*isMixinDeclaration*/ {
abstract class M3 extends core::Object /*isMixinDeclaration*/ {
set callOnAssignment(() → void f) → void {
f(){() → void};
}
}
abstract class _E1&_Enum&A extends core::_Enum implements self::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E1&_Enum&A
abstract class _E1&_Enum&M1 extends core::_Enum implements self::M1 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E1&_Enum&M1
: super core::_Enum::•(index, _name)
;
get foo() → core::String
return "foo";
}
class E1 extends self::_E1&_Enum&A /*isEnum*/ {
class E1 extends self::_E1&_Enum&M1 /*isEnum*/ {
static const field core::List<self::E1> values = #C7;
enum-element static const field self::E1 one = #C3;
enum-element static const field self::E1 two = #C6;
const constructor •(core::int #index, core::String #name) → self::E1
: super self::_E1&_Enum&A::•(#index, #name)
: super self::_E1&_Enum&M1::•(#index, #name)
;
method _enumToString() → core::String
return "E1.${this.{core::_Enum::_name}{core::String}}";
}
abstract class _E2&_Enum&A extends core::_Enum implements self::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&A
abstract class _E2&_Enum&M1 extends core::_Enum implements self::M1 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&M1
: super core::_Enum::•(index, _name)
;
get foo() → core::String
return "foo";
}
abstract class _E2&_Enum&A&B extends self::_E2&_Enum&A implements self::B /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&A&B
: super self::_E2&_Enum&A::•(index, _name)
abstract class _E2&_Enum&M1&M2 extends self::_E2&_Enum&M1 implements self::M2 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&M1&M2
: super self::_E2&_Enum&M1::•(index, _name)
;
method bar() → core::int
return 42;
}
class E2 extends self::_E2&_Enum&A&B /*isEnum*/ {
class E2 extends self::_E2&_Enum&M1&M2 /*isEnum*/ {
static const field core::List<self::E2> values = #C10;
enum-element static const field self::E2 one = #C8;
enum-element static const field self::E2 two = #C9;
const constructor •(core::int #index, core::String #name) → self::E2
: super self::_E2&_Enum&A&B::•(#index, #name)
: super self::_E2&_Enum&M1&M2::•(#index, #name)
;
method _enumToString() → core::String
return "E2.${this.{core::_Enum::_name}{core::String}}";
}
abstract class _E3&_Enum&M extends core::_Enum implements self::M /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E3&_Enum&M
abstract class _E3&_Enum&M3 extends core::_Enum implements self::M3 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E3&_Enum&M3
: super core::_Enum::•(index, _name)
;
set callOnAssignment(() → void f) → void {
f(){() → void};
}
}
class E3 extends self::_E3&_Enum&M /*isEnum*/ {
class E3 extends self::_E3&_Enum&M3 /*isEnum*/ {
static const field core::List<self::E3> values = #C13;
enum-element static const field self::E3 one = #C11;
enum-element static const field self::E3 two = #C12;
const constructor •(core::int #index, core::String #name) → self::E3
: super self::_E3&_Enum&M::•(#index, #name)
: super self::_E3&_Enum&M3::•(#index, #name)
;
method _enumToString() → core::String
return "E3.${this.{core::_Enum::_name}{core::String}}";
@@ -97,14 +91,14 @@ static method throwOnCall() → void {
throw 42;
}
static method main() → dynamic {
self::expectEquals(#C3.{self::_E1&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C6.{self::_E1&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C9.{self::_E2&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&A&B::bar}(){() → core::int}, "bar");
self::expectEquals(#C9.{self::_E2&_Enum&A&B::bar}(){() → core::int}, "bar");
self::expectThrows(#C11.{self::_E3&_Enum&M::callOnAssignment} = #C14);
self::expectThrows(#C12.{self::_E3&_Enum&M::callOnAssignment} = #C14);
self::expectEquals(#C3.{self::_E1&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C6.{self::_E1&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C9.{self::_E2&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&M1&M2::bar}(){() → core::int}, "bar");
self::expectEquals(#C9.{self::_E2&_Enum&M1&M2::bar}(){() → core::int}, "bar");
self::expectThrows(#C11.{self::_E3&_Enum&M3::callOnAssignment} = #C14);
self::expectThrows(#C12.{self::_E3&_Enum&M3::callOnAssignment} = #C14);
}
constants {
@@ -128,11 +122,11 @@ constants {
Constructor coverage from constants:
org-dartlang-testcase:///simple_mixins.dart:
- E1. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _E1&_Enum&A. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _E1&_Enum&M1. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- E2. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&A&B. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&A. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&M1&M2. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&M1. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- E3. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
- _E3&_Enum&M. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
- _E3&_Enum&M3. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
@@ -1,20 +1,18 @@
class A {
mixin M1 {
String get foo => "foo";
}
class B {
mixin M2 {
int bar() => 42;
}
mixin M {
mixin M3 {
void set callOnAssignment(void Function() f) {}
}
enum E1 with A { one, two }
enum E1 with M1 { one, two }
enum E2 with A, B { one, two }
enum E2 with M1, M2 { one, two }
enum E3 with M { one, two }
enum E3 with M3 { one, two }
expectEquals(x, y) {}
expectThrows(void Function() f) {}
@@ -1,21 +1,19 @@
class A {
String get foo => "foo";
}
enum E1 with M1 { one, two }
class B {
int bar() => 42;
}
enum E2 with M1, M2 { one, two }
enum E1 with A { one, two }
enum E2 with A, B { one, two }
enum E3 with M { one, two }
enum E3 with M3 { one, two }
expectEquals(x, y) {}
expectThrows(void Function() f) {}
main() {}
mixin M {
mixin M1 {
String get foo => "foo";
}
mixin M2 {
int bar() => 42;
}
mixin M3 {
void set callOnAssignment(void Function() f) {}
}
void throwOnCall() {}
@@ -2,79 +2,73 @@ library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
synthetic constructor •() → self::A
: super core::Object::•()
;
abstract class M1 extends core::Object /*isMixinDeclaration*/ {
get foo() → core::String
return "foo";
}
class B extends core::Object {
synthetic constructor •() → self::B
: super core::Object::•()
;
abstract class M2 extends core::Object /*isMixinDeclaration*/ {
method bar() → core::int
return 42;
}
abstract class M extends core::Object /*isMixinDeclaration*/ {
abstract class M3 extends core::Object /*isMixinDeclaration*/ {
set callOnAssignment(() → void f) → void {
f(){() → void};
}
}
abstract class _E1&_Enum&A = core::_Enum with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E1&_Enum&A
abstract class _E1&_Enum&M1 = core::_Enum with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E1&_Enum&M1
: super core::_Enum::•(index, _name)
;
mixin-super-stub get foo() → core::String
return super.{self::A::foo};
return super.{self::M1::foo};
}
class E1 extends self::_E1&_Enum&A /*isEnum*/ {
class E1 extends self::_E1&_Enum&M1 /*isEnum*/ {
static const field core::List<self::E1> values = #C7;
enum-element static const field self::E1 one = #C3;
enum-element static const field self::E1 two = #C6;
const constructor •(core::int #index, core::String #name) → self::E1
: super self::_E1&_Enum&A::•(#index, #name)
: super self::_E1&_Enum&M1::•(#index, #name)
;
method _enumToString() → core::String
return "E1.${this.{core::_Enum::_name}{core::String}}";
}
abstract class _E2&_Enum&A = core::_Enum with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&A
abstract class _E2&_Enum&M1 = core::_Enum with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&M1
: super core::_Enum::•(index, _name)
;
mixin-super-stub get foo() → core::String
return super.{self::A::foo};
return super.{self::M1::foo};
}
abstract class _E2&_Enum&A&B = self::_E2&_Enum&A with self::B /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&A&B
: super self::_E2&_Enum&A::•(index, _name)
abstract class _E2&_Enum&M1&M2 = self::_E2&_Enum&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&M1&M2
: super self::_E2&_Enum&M1::•(index, _name)
;
mixin-super-stub method bar() → core::int
return super.{self::B::bar}();
return super.{self::M2::bar}();
}
class E2 extends self::_E2&_Enum&A&B /*isEnum*/ {
class E2 extends self::_E2&_Enum&M1&M2 /*isEnum*/ {
static const field core::List<self::E2> values = #C10;
enum-element static const field self::E2 one = #C8;
enum-element static const field self::E2 two = #C9;
const constructor •(core::int #index, core::String #name) → self::E2
: super self::_E2&_Enum&A&B::•(#index, #name)
: super self::_E2&_Enum&M1&M2::•(#index, #name)
;
method _enumToString() → core::String
return "E2.${this.{core::_Enum::_name}{core::String}}";
}
abstract class _E3&_Enum&M = core::_Enum with self::M /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E3&_Enum&M
abstract class _E3&_Enum&M3 = core::_Enum with self::M3 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E3&_Enum&M3
: super core::_Enum::•(index, _name)
;
mixin-super-stub set callOnAssignment(() → void f) → void
return super.{self::M::callOnAssignment} = f;
return super.{self::M3::callOnAssignment} = f;
}
class E3 extends self::_E3&_Enum&M /*isEnum*/ {
class E3 extends self::_E3&_Enum&M3 /*isEnum*/ {
static const field core::List<self::E3> values = #C13;
enum-element static const field self::E3 one = #C11;
enum-element static const field self::E3 two = #C12;
const constructor •(core::int #index, core::String #name) → self::E3
: super self::_E3&_Enum&M::•(#index, #name)
: super self::_E3&_Enum&M3::•(#index, #name)
;
method _enumToString() → core::String
return "E3.${this.{core::_Enum::_name}{core::String}}";
@@ -96,14 +90,14 @@ static method throwOnCall() → void {
throw 42;
}
static method main() → dynamic {
self::expectEquals(#C3.{self::_E1&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C6.{self::_E1&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C9.{self::_E2&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&A&B::bar}(){() → core::int}, "bar");
self::expectEquals(#C9.{self::_E2&_Enum&A&B::bar}(){() → core::int}, "bar");
self::expectThrows(#C11.{self::_E3&_Enum&M::callOnAssignment} = #C14);
self::expectThrows(#C12.{self::_E3&_Enum&M::callOnAssignment} = #C14);
self::expectEquals(#C3.{self::_E1&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C6.{self::_E1&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C9.{self::_E2&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&M1&M2::bar}(){() → core::int}, "bar");
self::expectEquals(#C9.{self::_E2&_Enum&M1&M2::bar}(){() → core::int}, "bar");
self::expectThrows(#C11.{self::_E3&_Enum&M3::callOnAssignment} = #C14);
self::expectThrows(#C12.{self::_E3&_Enum&M3::callOnAssignment} = #C14);
}
constants {
@@ -127,11 +121,11 @@ constants {
Constructor coverage from constants:
org-dartlang-testcase:///simple_mixins.dart:
- E1. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _E1&_Enum&A. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _E1&_Enum&M1. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- E2. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&A&B. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&A. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&M1&M2. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&M1. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- E3. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
- _E3&_Enum&M. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
- _E3&_Enum&M3. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
@@ -2,79 +2,73 @@ library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
synthetic constructor •() → self::A
: super core::Object::•()
;
abstract class M1 extends core::Object /*isMixinDeclaration*/ {
get foo() → core::String
return "foo";
}
class B extends core::Object {
synthetic constructor •() → self::B
: super core::Object::•()
;
abstract class M2 extends core::Object /*isMixinDeclaration*/ {
method bar() → core::int
return 42;
}
abstract class M extends core::Object /*isMixinDeclaration*/ {
abstract class M3 extends core::Object /*isMixinDeclaration*/ {
set callOnAssignment(() → void f) → void {
f(){() → void};
}
}
abstract class _E1&_Enum&A = core::_Enum with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E1&_Enum&A
abstract class _E1&_Enum&M1 = core::_Enum with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E1&_Enum&M1
: super core::_Enum::•(index, _name)
;
mixin-super-stub get foo() → core::String
return super.{self::A::foo};
return super.{self::M1::foo};
}
class E1 extends self::_E1&_Enum&A /*isEnum*/ {
class E1 extends self::_E1&_Enum&M1 /*isEnum*/ {
static const field core::List<self::E1> values = #C7;
enum-element static const field self::E1 one = #C3;
enum-element static const field self::E1 two = #C6;
const constructor •(core::int #index, core::String #name) → self::E1
: super self::_E1&_Enum&A::•(#index, #name)
: super self::_E1&_Enum&M1::•(#index, #name)
;
method _enumToString() → core::String
return "E1.${this.{core::_Enum::_name}{core::String}}";
}
abstract class _E2&_Enum&A = core::_Enum with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&A
abstract class _E2&_Enum&M1 = core::_Enum with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&M1
: super core::_Enum::•(index, _name)
;
mixin-super-stub get foo() → core::String
return super.{self::A::foo};
return super.{self::M1::foo};
}
abstract class _E2&_Enum&A&B = self::_E2&_Enum&A with self::B /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&A&B
: super self::_E2&_Enum&A::•(index, _name)
abstract class _E2&_Enum&M1&M2 = self::_E2&_Enum&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&M1&M2
: super self::_E2&_Enum&M1::•(index, _name)
;
mixin-super-stub method bar() → core::int
return super.{self::B::bar}();
return super.{self::M2::bar}();
}
class E2 extends self::_E2&_Enum&A&B /*isEnum*/ {
class E2 extends self::_E2&_Enum&M1&M2 /*isEnum*/ {
static const field core::List<self::E2> values = #C10;
enum-element static const field self::E2 one = #C8;
enum-element static const field self::E2 two = #C9;
const constructor •(core::int #index, core::String #name) → self::E2
: super self::_E2&_Enum&A&B::•(#index, #name)
: super self::_E2&_Enum&M1&M2::•(#index, #name)
;
method _enumToString() → core::String
return "E2.${this.{core::_Enum::_name}{core::String}}";
}
abstract class _E3&_Enum&M = core::_Enum with self::M /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E3&_Enum&M
abstract class _E3&_Enum&M3 = core::_Enum with self::M3 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E3&_Enum&M3
: super core::_Enum::•(index, _name)
;
mixin-super-stub set callOnAssignment(() → void f) → void
return super.{self::M::callOnAssignment} = f;
return super.{self::M3::callOnAssignment} = f;
}
class E3 extends self::_E3&_Enum&M /*isEnum*/ {
class E3 extends self::_E3&_Enum&M3 /*isEnum*/ {
static const field core::List<self::E3> values = #C13;
enum-element static const field self::E3 one = #C11;
enum-element static const field self::E3 two = #C12;
const constructor •(core::int #index, core::String #name) → self::E3
: super self::_E3&_Enum&M::•(#index, #name)
: super self::_E3&_Enum&M3::•(#index, #name)
;
method _enumToString() → core::String
return "E3.${this.{core::_Enum::_name}{core::String}}";
@@ -96,14 +90,14 @@ static method throwOnCall() → void {
throw 42;
}
static method main() → dynamic {
self::expectEquals(#C3.{self::_E1&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C6.{self::_E1&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C9.{self::_E2&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&A&B::bar}(){() → core::int}, "bar");
self::expectEquals(#C9.{self::_E2&_Enum&A&B::bar}(){() → core::int}, "bar");
self::expectThrows(#C11.{self::_E3&_Enum&M::callOnAssignment} = #C14);
self::expectThrows(#C12.{self::_E3&_Enum&M::callOnAssignment} = #C14);
self::expectEquals(#C3.{self::_E1&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C6.{self::_E1&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C9.{self::_E2&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&M1&M2::bar}(){() → core::int}, "bar");
self::expectEquals(#C9.{self::_E2&_Enum&M1&M2::bar}(){() → core::int}, "bar");
self::expectThrows(#C11.{self::_E3&_Enum&M3::callOnAssignment} = #C14);
self::expectThrows(#C12.{self::_E3&_Enum&M3::callOnAssignment} = #C14);
}
constants {
@@ -127,11 +121,11 @@ constants {
Constructor coverage from constants:
org-dartlang-testcase:///simple_mixins.dart:
- E1. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _E1&_Enum&A. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _E1&_Enum&M1. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- E2. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&A&B. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&A. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&M1&M2. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&M1. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- E3. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
- _E3&_Enum&M. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
- _E3&_Enum&M3. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
@@ -2,30 +2,26 @@ library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
synthetic constructor •() → self::A
;
abstract class M1 extends core::Object /*isMixinDeclaration*/ {
get foo() → core::String
;
}
class B extends core::Object {
synthetic constructor •() → self::B
;
abstract class M2 extends core::Object /*isMixinDeclaration*/ {
method bar() → core::int
;
}
abstract class M extends core::Object /*isMixinDeclaration*/ {
abstract class M3 extends core::Object /*isMixinDeclaration*/ {
set callOnAssignment(() → void f) → void
;
}
abstract class _E1&_Enum&A = core::_Enum with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E1&_Enum&A
abstract class _E1&_Enum&M1 = core::_Enum with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E1&_Enum&M1
: super core::_Enum::•(index, _name)
;
mixin-super-stub get foo() → core::String
return super.{self::A::foo};
return super.{self::M1::foo};
}
class E1 extends self::_E1&_Enum&A /*isEnum*/ {
class E1 extends self::_E1&_Enum&M1 /*isEnum*/ {
static const field core::List<self::E1> values = const <self::E1>[self::E1::one, self::E1::two];
enum-element static const field self::E1 one = const self::E1::•(0, "one");
enum-element static const field self::E1 two = const self::E1::•(1, "two");
@@ -34,21 +30,21 @@ class E1 extends self::_E1&_Enum&A /*isEnum*/ {
method _enumToString() → core::String
return "E1.${this.{core::_Enum::_name}{core::String}}";
}
abstract class _E2&_Enum&A = core::_Enum with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&A
abstract class _E2&_Enum&M1 = core::_Enum with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&M1
: super core::_Enum::•(index, _name)
;
mixin-super-stub get foo() → core::String
return super.{self::A::foo};
return super.{self::M1::foo};
}
abstract class _E2&_Enum&A&B = self::_E2&_Enum&A with self::B /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&A&B
: super self::_E2&_Enum&A::•(index, _name)
abstract class _E2&_Enum&M1&M2 = self::_E2&_Enum&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&M1&M2
: super self::_E2&_Enum&M1::•(index, _name)
;
mixin-super-stub method bar() → core::int
return super.{self::B::bar}();
return super.{self::M2::bar}();
}
class E2 extends self::_E2&_Enum&A&B /*isEnum*/ {
class E2 extends self::_E2&_Enum&M1&M2 /*isEnum*/ {
static const field core::List<self::E2> values = const <self::E2>[self::E2::one, self::E2::two];
enum-element static const field self::E2 one = const self::E2::•(0, "one");
enum-element static const field self::E2 two = const self::E2::•(1, "two");
@@ -57,14 +53,14 @@ class E2 extends self::_E2&_Enum&A&B /*isEnum*/ {
method _enumToString() → core::String
return "E2.${this.{core::_Enum::_name}{core::String}}";
}
abstract class _E3&_Enum&M = core::_Enum with self::M /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E3&_Enum&M
abstract class _E3&_Enum&M3 = core::_Enum with self::M3 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E3&_Enum&M3
: super core::_Enum::•(index, _name)
;
mixin-super-stub set callOnAssignment(() → void f) → void
return super.{self::M::callOnAssignment} = f;
return super.{self::M3::callOnAssignment} = f;
}
class E3 extends self::_E3&_Enum&M /*isEnum*/ {
class E3 extends self::_E3&_Enum&M3 /*isEnum*/ {
static const field core::List<self::E3> values = const <self::E3>[self::E3::one, self::E3::two];
enum-element static const field self::E3 one = const self::E3::•(0, "one");
enum-element static const field self::E3 two = const self::E3::•(1, "two");
@@ -85,12 +81,12 @@ static method main() → dynamic
Extra constant evaluation status:
Evaluated: ListLiteral @ org-dartlang-testcase:///simple_mixins.dart:19:6 -> ListConstant(const <E1*>[const E1{}, const E1{}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///simple_mixins.dart:19:18 -> InstanceConstant(const E1{})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///simple_mixins.dart:19:23 -> InstanceConstant(const E1{})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///simple_mixins.dart:19:19 -> InstanceConstant(const E1{})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///simple_mixins.dart:19:24 -> InstanceConstant(const E1{})
Evaluated: ListLiteral @ org-dartlang-testcase:///simple_mixins.dart:21:6 -> ListConstant(const <E2*>[const E2{}, const E2{}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///simple_mixins.dart:21:21 -> InstanceConstant(const E2{})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///simple_mixins.dart:21:26 -> InstanceConstant(const E2{})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///simple_mixins.dart:21:23 -> InstanceConstant(const E2{})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///simple_mixins.dart:21:28 -> InstanceConstant(const E2{})
Evaluated: ListLiteral @ org-dartlang-testcase:///simple_mixins.dart:23:6 -> ListConstant(const <E3*>[const E3{}, const E3{}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///simple_mixins.dart:23:18 -> InstanceConstant(const E3{})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///simple_mixins.dart:23:23 -> InstanceConstant(const E3{})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///simple_mixins.dart:23:19 -> InstanceConstant(const E3{})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///simple_mixins.dart:23:24 -> InstanceConstant(const E3{})
Extra constant evaluation: evaluated: 31, effectively constant: 9
@@ -2,80 +2,74 @@ library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
synthetic constructor •() → self::A
: super core::Object::•()
;
abstract class M1 extends core::Object /*isMixinDeclaration*/ {
get foo() → core::String
return "foo";
}
class B extends core::Object {
synthetic constructor •() → self::B
: super core::Object::•()
;
abstract class M2 extends core::Object /*isMixinDeclaration*/ {
method bar() → core::int
return 42;
}
abstract class M extends core::Object /*isMixinDeclaration*/ {
abstract class M3 extends core::Object /*isMixinDeclaration*/ {
set callOnAssignment(() → void f) → void {
f(){() → void};
}
}
abstract class _E1&_Enum&A extends core::_Enum implements self::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E1&_Enum&A
abstract class _E1&_Enum&M1 extends core::_Enum implements self::M1 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E1&_Enum&M1
: super core::_Enum::•(index, _name)
;
get foo() → core::String
return "foo";
}
class E1 extends self::_E1&_Enum&A /*isEnum*/ {
class E1 extends self::_E1&_Enum&M1 /*isEnum*/ {
static const field core::List<self::E1> values = #C7;
enum-element static const field self::E1 one = #C3;
enum-element static const field self::E1 two = #C6;
const constructor •(core::int #index, core::String #name) → self::E1
: super self::_E1&_Enum&A::•(#index, #name)
: super self::_E1&_Enum&M1::•(#index, #name)
;
method _enumToString() → core::String
return "E1.${this.{core::_Enum::_name}{core::String}}";
}
abstract class _E2&_Enum&A extends core::_Enum implements self::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&A
abstract class _E2&_Enum&M1 extends core::_Enum implements self::M1 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&M1
: super core::_Enum::•(index, _name)
;
get foo() → core::String
return "foo";
}
abstract class _E2&_Enum&A&B extends self::_E2&_Enum&A implements self::B /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&A&B
: super self::_E2&_Enum&A::•(index, _name)
abstract class _E2&_Enum&M1&M2 extends self::_E2&_Enum&M1 implements self::M2 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E2&_Enum&M1&M2
: super self::_E2&_Enum&M1::•(index, _name)
;
method bar() → core::int
return 42;
}
class E2 extends self::_E2&_Enum&A&B /*isEnum*/ {
class E2 extends self::_E2&_Enum&M1&M2 /*isEnum*/ {
static const field core::List<self::E2> values = #C10;
enum-element static const field self::E2 one = #C8;
enum-element static const field self::E2 two = #C9;
const constructor •(core::int #index, core::String #name) → self::E2
: super self::_E2&_Enum&A&B::•(#index, #name)
: super self::_E2&_Enum&M1&M2::•(#index, #name)
;
method _enumToString() → core::String
return "E2.${this.{core::_Enum::_name}{core::String}}";
}
abstract class _E3&_Enum&M extends core::_Enum implements self::M /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E3&_Enum&M
abstract class _E3&_Enum&M3 extends core::_Enum implements self::M3 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) → self::_E3&_Enum&M3
: super core::_Enum::•(index, _name)
;
set callOnAssignment(() → void f) → void {
f(){() → void};
}
}
class E3 extends self::_E3&_Enum&M /*isEnum*/ {
class E3 extends self::_E3&_Enum&M3 /*isEnum*/ {
static const field core::List<self::E3> values = #C13;
enum-element static const field self::E3 one = #C11;
enum-element static const field self::E3 two = #C12;
const constructor •(core::int #index, core::String #name) → self::E3
: super self::_E3&_Enum&M::•(#index, #name)
: super self::_E3&_Enum&M3::•(#index, #name)
;
method _enumToString() → core::String
return "E3.${this.{core::_Enum::_name}{core::String}}";
@@ -97,14 +91,14 @@ static method throwOnCall() → void {
throw 42;
}
static method main() → dynamic {
self::expectEquals(#C3.{self::_E1&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C6.{self::_E1&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C9.{self::_E2&_Enum&A::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&A&B::bar}(){() → core::int}, "bar");
self::expectEquals(#C9.{self::_E2&_Enum&A&B::bar}(){() → core::int}, "bar");
self::expectThrows(#C11.{self::_E3&_Enum&M::callOnAssignment} = #C14);
self::expectThrows(#C12.{self::_E3&_Enum&M::callOnAssignment} = #C14);
self::expectEquals(#C3.{self::_E1&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C6.{self::_E1&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C9.{self::_E2&_Enum&M1::foo}{core::String}, "foo");
self::expectEquals(#C8.{self::_E2&_Enum&M1&M2::bar}(){() → core::int}, "bar");
self::expectEquals(#C9.{self::_E2&_Enum&M1&M2::bar}(){() → core::int}, "bar");
self::expectThrows(#C11.{self::_E3&_Enum&M3::callOnAssignment} = #C14);
self::expectThrows(#C12.{self::_E3&_Enum&M3::callOnAssignment} = #C14);
}
constants {
@@ -128,11 +122,11 @@ constants {
Constructor coverage from constants:
org-dartlang-testcase:///simple_mixins.dart:
- E1. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _E1&_Enum&A. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _E1&_Enum&M1. (from org-dartlang-testcase:///simple_mixins.dart:19:6)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- E2. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&A&B. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&A. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&M1&M2. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- _E2&_Enum&M1. (from org-dartlang-testcase:///simple_mixins.dart:21:6)
- E3. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
- _E3&_Enum&M. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
- _E3&_Enum&M3. (from org-dartlang-testcase:///simple_mixins.dart:23:6)
@@ -10,7 +10,7 @@ class _FailingTest {
const _FailingTest();
}
class MyTest {
mixin MyTest {
@failingTest
void foo() {}
}
@@ -10,10 +10,7 @@ class _FailingTest extends core::Object /*hasConstConstructor*/ {
: super core::Object::•()
;
}
class MyTest extends core::Object {
synthetic constructor •() → self::MyTest
: super core::Object::•()
;
abstract class MyTest extends core::Object /*isMixinDeclaration*/ {
@#C1
method foo() → void {}
}
@@ -10,10 +10,7 @@ class _FailingTest extends core::Object /*hasConstConstructor*/ {
: super core::Object::•()
;
}
class MyTest extends core::Object {
synthetic constructor •() → self::MyTest
: super core::Object::•()
;
abstract class MyTest extends core::Object /*isMixinDeclaration*/ {
@#C1
method foo() → void {}
}
@@ -6,7 +6,7 @@ class _FailingTest {
const _FailingTest();
}
class MyTest {
mixin MyTest {
@failingTest
void foo() {}
}
@@ -7,11 +7,6 @@ bool _hasAnnotationInstance(DeclarationMirror declaration, instance) =>
});
bool _hasFailingTestAnnotation(MethodMirror method) {}
class MyTest {
@failingTest
void foo() {}
}
class MyTest2 extends Object with MyTest {}
class _FailingTest {
@@ -20,3 +15,7 @@ class _FailingTest {
const _FailingTest failingTest = const _FailingTest();
main() {}
mixin MyTest {
@failingTest
void foo() {}
}
@@ -10,10 +10,7 @@ class _FailingTest extends core::Object /*hasConstConstructor*/ {
: super core::Object::•()
;
}
class MyTest extends core::Object {
synthetic constructor •() → self::MyTest
: super core::Object::•()
;
abstract class MyTest extends core::Object /*isMixinDeclaration*/ {
@#C1
method foo() → void {}
}
@@ -10,10 +10,7 @@ class _FailingTest extends core::Object /*hasConstConstructor*/ {
: super core::Object::•()
;
}
class MyTest extends core::Object {
synthetic constructor •() → self::MyTest
: super core::Object::•()
;
abstract class MyTest extends core::Object /*isMixinDeclaration*/ {
@#C1
method foo() → void {}
}
@@ -10,9 +10,7 @@ class _FailingTest extends core::Object /*hasConstConstructor*/ {
: super core::Object::•()
;
}
class MyTest extends core::Object {
synthetic constructor •() → self::MyTest
;
abstract class MyTest extends core::Object /*isMixinDeclaration*/ {
@self::failingTest
method foo() → void
;
@@ -10,10 +10,7 @@ class _FailingTest extends core::Object /*hasConstConstructor*/ {
: super core::Object::•()
;
}
class MyTest extends core::Object {
synthetic constructor •() → self::MyTest
: super core::Object::•()
;
abstract class MyTest extends core::Object /*isMixinDeclaration*/ {
@#C1
method foo() → void {}
}
@@ -4,7 +4,7 @@
// See http://dartbug.com/34511 for details.
class A<X> {}
mixin A<X> {}
class B<Z> extends Object with A<Z Function()> {}
@@ -2,10 +2,7 @@ library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::A<self::A::X%>
: super core::Object::•()
;
abstract class A<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _B&Object&A<Z extends core::Object? = dynamic> = core::Object with self::A<() → self::_B&Object&A::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::Z%>
@@ -2,10 +2,7 @@ library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::A<self::A::X%>
: super core::Object::•()
;
abstract class A<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _B&Object&A<Z extends core::Object? = dynamic> extends core::Object implements self::A<() → self::_B&Object&A::Z%> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::Z%>
@@ -1,4 +1,4 @@
class A<X> {}
mixin A<X> {}
class B<Z> extends Object with A<Z Function()> {}
@@ -1,5 +1,4 @@
class A<X> {}
class B<Z> extends Object with A<Z Function()> {}
main() {}
mixin A<X> {}
@@ -2,10 +2,7 @@ library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::A<self::A::X%>
: super core::Object::•()
;
abstract class A<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _B&Object&A<Z extends core::Object? = dynamic> = core::Object with self::A<() → self::_B&Object&A::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::Z%>
@@ -2,10 +2,7 @@ library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::A<self::A::X%>
: super core::Object::•()
;
abstract class A<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _B&Object&A<Z extends core::Object? = dynamic> = core::Object with self::A<() → self::_B&Object&A::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::Z%>
@@ -2,9 +2,7 @@ library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::A<self::A::X%>
;
abstract class A<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _B&Object&A<Z extends core::Object? = dynamic> = core::Object with self::A<() → self::_B&Object&A::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::Z%>
@@ -2,10 +2,7 @@ library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A<X extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::A<self::A::X%>
: super core::Object::•()
;
abstract class A<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _B&Object&A<Z extends core::Object? = dynamic> extends core::Object implements self::A<() → self::_B&Object&A::Z%> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::Z%>
@@ -8,7 +8,7 @@
// The case 'm1' covers function types with some missing parts.
class Am1<X, Y> {}
mixin Am1<X, Y> {}
class Bm1<Z> extends Object with Am1<Function(int), Z> {}
@@ -61,7 +61,7 @@ class Wm1<Z> = Object
// The case 'm2' covers function types with some missing parts that should be
// checked against a bound.
class Am2<X extends Function(), Y> {}
mixin Am2<X extends Function(), Y> {}
// Compile-time error: type argument is not a subtype.
class Bm2<Z> extends Object with Am2<Function(int), Z> {}
@@ -143,7 +143,7 @@ typedef TdJ = Function(Function Function);
typedef TdK = Function(Function Function() Function) Function();
class Am3<L, Y> {}
mixin Am3<L, Y> {}
class Bm3<Z> extends Object with Am3<TdB, Z> {}
@@ -37,7 +37,7 @@ library /*isNonNullableByDefault*/;
// class Bm2<Z> extends Object with Am2<Function(int), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:70:34: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -45,7 +45,7 @@ library /*isNonNullableByDefault*/;
// class Cm2<Z> extends Object with Am2<Function(int x), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:86:34: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -54,7 +54,7 @@ library /*isNonNullableByDefault*/;
// class Jm2<Z> extends Object with Am2<Function, Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:89:34: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -63,7 +63,7 @@ library /*isNonNullableByDefault*/;
// class Km2<Z> extends Object with Am2<Function(Function Function), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:95:28: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -71,7 +71,7 @@ library /*isNonNullableByDefault*/;
// class Mm2<Z> = Object with Am2<Function(int), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:98:28: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -79,7 +79,7 @@ library /*isNonNullableByDefault*/;
// class Nm2<Z> = Object with Am2<Function(int x), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:114:28: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -88,7 +88,7 @@ library /*isNonNullableByDefault*/;
// class Um2<Z> = Object with Am2<Function, Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:117:28: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -97,7 +97,7 @@ library /*isNonNullableByDefault*/;
// class Vm2<Z> = Object with Am2<Function(Function Function), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
import self as self;
@@ -113,10 +113,7 @@ typedef TdH = ([core::int]) → dynamic;
typedef TdI = ([core::int]) → dynamic;
typedef TdJ = (core::Function) → dynamic;
typedef TdK = () → (() → core::Function) → dynamic;
class Am1<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am1<self::Am1::X%, self::Am1::Y%>
: super core::Object::•()
;
abstract class Am1<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm1&Object&Am1<Z extends core::Object? = dynamic> = core::Object with self::Am1<(core::int) → dynamic, self::_Bm1&Object&Am1::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm1&Object&Am1<self::_Bm1&Object&Am1::Z%>
@@ -283,10 +280,7 @@ class Wm1<Z extends core::Object? = dynamic> = core::Object with self::Am1<()
: super core::Object::•()
;
}
class Am2<X extends () → dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am2<self::Am2::X, self::Am2::Y%>
: super core::Object::•()
;
abstract class Am2<X extends () → dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm2&Object&Am2<Z extends core::Object? = dynamic> = core::Object with self::Am2<(core::int) → dynamic, self::_Bm2&Object&Am2::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm2&Object&Am2<self::_Bm2&Object&Am2::Z%>
@@ -453,10 +447,7 @@ class Wm2<Z extends core::Object? = dynamic> = core::Object with self::Am2<()
: super core::Object::•()
;
}
class Am3<L extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am3<self::Am3::L%, self::Am3::Y%>
: super core::Object::•()
;
abstract class Am3<L extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm3&Object&Am3<Z extends core::Object? = dynamic> = core::Object with self::Am3<(core::int) → dynamic, self::_Bm3&Object&Am3::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm3&Object&Am3<self::_Bm3&Object&Am3::Z%>
@@ -37,7 +37,7 @@ library /*isNonNullableByDefault*/;
// class Bm2<Z> extends Object with Am2<Function(int), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:70:34: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -45,7 +45,7 @@ library /*isNonNullableByDefault*/;
// class Cm2<Z> extends Object with Am2<Function(int x), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:86:34: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -54,7 +54,7 @@ library /*isNonNullableByDefault*/;
// class Jm2<Z> extends Object with Am2<Function, Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:89:34: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -63,7 +63,7 @@ library /*isNonNullableByDefault*/;
// class Km2<Z> extends Object with Am2<Function(Function Function), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:95:28: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -71,7 +71,7 @@ library /*isNonNullableByDefault*/;
// class Mm2<Z> = Object with Am2<Function(int), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:98:28: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -79,7 +79,7 @@ library /*isNonNullableByDefault*/;
// class Nm2<Z> = Object with Am2<Function(int x), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:114:28: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -88,7 +88,7 @@ library /*isNonNullableByDefault*/;
// class Um2<Z> = Object with Am2<Function, Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:117:28: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -97,7 +97,7 @@ library /*isNonNullableByDefault*/;
// class Vm2<Z> = Object with Am2<Function(Function Function), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
import self as self;
@@ -113,10 +113,7 @@ typedef TdH = ([core::int]) → dynamic;
typedef TdI = ([core::int]) → dynamic;
typedef TdJ = (core::Function) → dynamic;
typedef TdK = () → (() → core::Function) → dynamic;
class Am1<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am1<self::Am1::X%, self::Am1::Y%>
: super core::Object::•()
;
abstract class Am1<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm1&Object&Am1<Z extends core::Object? = dynamic> extends core::Object implements self::Am1<(core::int) → dynamic, self::_Bm1&Object&Am1::Z%> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm1&Object&Am1<self::_Bm1&Object&Am1::Z%>
@@ -283,10 +280,7 @@ class Wm1<Z extends core::Object? = dynamic> extends core::Object implements sel
: super core::Object::•()
;
}
class Am2<X extends () → dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am2<self::Am2::X, self::Am2::Y%>
: super core::Object::•()
;
abstract class Am2<X extends () → dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm2&Object&Am2<Z extends core::Object? = dynamic> extends core::Object implements self::Am2<(core::int) → dynamic, self::_Bm2&Object&Am2::Z%> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm2&Object&Am2<self::_Bm2&Object&Am2::Z%>
@@ -453,10 +447,7 @@ class Wm2<Z extends core::Object? = dynamic> extends core::Object implements sel
: super core::Object::•()
;
}
class Am3<L extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am3<self::Am3::L%, self::Am3::Y%>
: super core::Object::•()
;
abstract class Am3<L extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm3&Object&Am3<Z extends core::Object? = dynamic> extends core::Object implements self::Am3<(core::int) → dynamic, self::_Bm3&Object&Am3::Z%> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm3&Object&Am3<self::_Bm3&Object&Am3::Z%>
@@ -1,4 +1,4 @@
class Am1<X, Y> {}
mixin Am1<X, Y> {}
class Bm1<Z> extends Object with Am1<Function(int), Z> {}
class Cm1<Z> extends Object with Am1<Function(int x), Z> {}
class Dm1<Z> extends Object with Am1<int Function(), Z> {}
@@ -21,7 +21,7 @@ class Tm1<Z> = Object with Am1<Function([int x]), Z>;
class Um1<Z> = Object with Am1<Function, Z>;
class Vm1<Z> = Object with Am1<Function(Function Function), Z>;
class Wm1<Z> = Object with Am1<Function(Function Function() Function) Function(), Z>;
class Am2<X extends Function(), Y> {}
mixin Am2<X extends Function(), Y> {}
class Bm2<Z> extends Object with Am2<Function(int), Z> {}
class Cm2<Z> extends Object with Am2<Function(int x), Z> {}
class Dm2<Z> extends Object with Am2<int Function(), Z> {}
@@ -54,7 +54,7 @@ typedef TdH = Function([int]);
typedef TdI = Function([int x]);
typedef TdJ = Function(Function Function);
typedef TdK = Function(Function Function() Function) Function();
class Am3<L, Y> {}
mixin Am3<L, Y> {}
class Bm3<Z> extends Object with Am3<TdB, Z> {}
class Cm3<Z> extends Object with Am3<TdC, Z> {}
class Dm3<Z> extends Object with Am3<TdD, Z> {}
@@ -37,7 +37,7 @@ library /*isNonNullableByDefault*/;
// class Bm2<Z> extends Object with Am2<Function(int), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:70:34: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -45,7 +45,7 @@ library /*isNonNullableByDefault*/;
// class Cm2<Z> extends Object with Am2<Function(int x), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:86:34: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -54,7 +54,7 @@ library /*isNonNullableByDefault*/;
// class Jm2<Z> extends Object with Am2<Function, Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:89:34: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -63,7 +63,7 @@ library /*isNonNullableByDefault*/;
// class Km2<Z> extends Object with Am2<Function(Function Function), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:95:28: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -71,7 +71,7 @@ library /*isNonNullableByDefault*/;
// class Mm2<Z> = Object with Am2<Function(int), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:98:28: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -79,7 +79,7 @@ library /*isNonNullableByDefault*/;
// class Nm2<Z> = Object with Am2<Function(int x), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:114:28: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -88,7 +88,7 @@ library /*isNonNullableByDefault*/;
// class Um2<Z> = Object with Am2<Function, Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:117:28: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -97,7 +97,7 @@ library /*isNonNullableByDefault*/;
// class Vm2<Z> = Object with Am2<Function(Function Function), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
import self as self;
@@ -113,10 +113,7 @@ typedef TdH = ([core::int]) → dynamic;
typedef TdI = ([core::int]) → dynamic;
typedef TdJ = (core::Function) → dynamic;
typedef TdK = () → (() → core::Function) → dynamic;
class Am1<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am1<self::Am1::X%, self::Am1::Y%>
: super core::Object::•()
;
abstract class Am1<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm1&Object&Am1<Z extends core::Object? = dynamic> = core::Object with self::Am1<(core::int) → dynamic, self::_Bm1&Object&Am1::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm1&Object&Am1<self::_Bm1&Object&Am1::Z%>
@@ -283,10 +280,7 @@ class Wm1<Z extends core::Object? = dynamic> = core::Object with self::Am1<()
: super core::Object::•()
;
}
class Am2<X extends () → dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am2<self::Am2::X, self::Am2::Y%>
: super core::Object::•()
;
abstract class Am2<X extends () → dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm2&Object&Am2<Z extends core::Object? = dynamic> = core::Object with self::Am2<(core::int) → dynamic, self::_Bm2&Object&Am2::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm2&Object&Am2<self::_Bm2&Object&Am2::Z%>
@@ -453,10 +447,7 @@ class Wm2<Z extends core::Object? = dynamic> = core::Object with self::Am2<()
: super core::Object::•()
;
}
class Am3<L extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am3<self::Am3::L%, self::Am3::Y%>
: super core::Object::•()
;
abstract class Am3<L extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm3&Object&Am3<Z extends core::Object? = dynamic> = core::Object with self::Am3<(core::int) → dynamic, self::_Bm3&Object&Am3::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm3&Object&Am3<self::_Bm3&Object&Am3::Z%>
@@ -37,7 +37,7 @@ library /*isNonNullableByDefault*/;
// class Bm2<Z> extends Object with Am2<Function(int), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:70:34: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -45,7 +45,7 @@ library /*isNonNullableByDefault*/;
// class Cm2<Z> extends Object with Am2<Function(int x), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:86:34: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -54,7 +54,7 @@ library /*isNonNullableByDefault*/;
// class Jm2<Z> extends Object with Am2<Function, Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:89:34: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -63,7 +63,7 @@ library /*isNonNullableByDefault*/;
// class Km2<Z> extends Object with Am2<Function(Function Function), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:95:28: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -71,7 +71,7 @@ library /*isNonNullableByDefault*/;
// class Mm2<Z> = Object with Am2<Function(int), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:98:28: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -79,7 +79,7 @@ library /*isNonNullableByDefault*/;
// class Nm2<Z> = Object with Am2<Function(int x), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:114:28: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -88,7 +88,7 @@ library /*isNonNullableByDefault*/;
// class Um2<Z> = Object with Am2<Function, Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:117:28: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -97,7 +97,7 @@ library /*isNonNullableByDefault*/;
// class Vm2<Z> = Object with Am2<Function(Function Function), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
import self as self;
@@ -113,10 +113,7 @@ typedef TdH = ([core::int]) → dynamic;
typedef TdI = ([core::int]) → dynamic;
typedef TdJ = (core::Function) → dynamic;
typedef TdK = () → (() → core::Function) → dynamic;
class Am1<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am1<self::Am1::X%, self::Am1::Y%>
: super core::Object::•()
;
abstract class Am1<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm1&Object&Am1<Z extends core::Object? = dynamic> = core::Object with self::Am1<(core::int) → dynamic, self::_Bm1&Object&Am1::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm1&Object&Am1<self::_Bm1&Object&Am1::Z%>
@@ -283,10 +280,7 @@ class Wm1<Z extends core::Object? = dynamic> = core::Object with self::Am1<()
: super core::Object::•()
;
}
class Am2<X extends () → dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am2<self::Am2::X, self::Am2::Y%>
: super core::Object::•()
;
abstract class Am2<X extends () → dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm2&Object&Am2<Z extends core::Object? = dynamic> = core::Object with self::Am2<(core::int) → dynamic, self::_Bm2&Object&Am2::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm2&Object&Am2<self::_Bm2&Object&Am2::Z%>
@@ -453,10 +447,7 @@ class Wm2<Z extends core::Object? = dynamic> = core::Object with self::Am2<()
: super core::Object::•()
;
}
class Am3<L extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am3<self::Am3::L%, self::Am3::Y%>
: super core::Object::•()
;
abstract class Am3<L extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm3&Object&Am3<Z extends core::Object? = dynamic> = core::Object with self::Am3<(core::int) → dynamic, self::_Bm3&Object&Am3::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm3&Object&Am3<self::_Bm3&Object&Am3::Z%>
@@ -37,7 +37,7 @@ library /*isNonNullableByDefault*/;
// class Bm2<Z> extends Object with Am2<Function(int), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:70:34: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -45,7 +45,7 @@ library /*isNonNullableByDefault*/;
// class Cm2<Z> extends Object with Am2<Function(int x), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:86:34: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -54,7 +54,7 @@ library /*isNonNullableByDefault*/;
// class Jm2<Z> extends Object with Am2<Function, Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:89:34: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -63,7 +63,7 @@ library /*isNonNullableByDefault*/;
// class Km2<Z> extends Object with Am2<Function(Function Function), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:95:28: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -71,7 +71,7 @@ library /*isNonNullableByDefault*/;
// class Mm2<Z> = Object with Am2<Function(int), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:98:28: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -79,7 +79,7 @@ library /*isNonNullableByDefault*/;
// class Nm2<Z> = Object with Am2<Function(int x), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:114:28: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -88,7 +88,7 @@ library /*isNonNullableByDefault*/;
// class Um2<Z> = Object with Am2<Function, Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:117:28: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -97,7 +97,7 @@ library /*isNonNullableByDefault*/;
// class Vm2<Z> = Object with Am2<Function(Function Function), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
import self as self;
@@ -113,9 +113,7 @@ typedef TdH = ([core::int]) → dynamic;
typedef TdI = ([core::int]) → dynamic;
typedef TdJ = (core::Function) → dynamic;
typedef TdK = () → (() → core::Function) → dynamic;
class Am1<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am1<self::Am1::X%, self::Am1::Y%>
;
abstract class Am1<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm1&Object&Am1<Z extends core::Object? = dynamic> = core::Object with self::Am1<(core::int) → dynamic, self::_Bm1&Object&Am1::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm1&Object&Am1<self::_Bm1&Object&Am1::Z%>
@@ -271,9 +269,7 @@ class Wm1<Z extends core::Object? = dynamic> = core::Object with self::Am1<()
: super core::Object::•()
;
}
class Am2<X extends () → dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am2<self::Am2::X, self::Am2::Y%>
;
abstract class Am2<X extends () → dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm2&Object&Am2<Z extends core::Object? = dynamic> = core::Object with self::Am2<(core::int) → dynamic, self::_Bm2&Object&Am2::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm2&Object&Am2<self::_Bm2&Object&Am2::Z%>
@@ -429,9 +425,7 @@ class Wm2<Z extends core::Object? = dynamic> = core::Object with self::Am2<()
: super core::Object::•()
;
}
class Am3<L extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am3<self::Am3::L%, self::Am3::Y%>
;
abstract class Am3<L extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm3&Object&Am3<Z extends core::Object? = dynamic> = core::Object with self::Am3<(core::int) → dynamic, self::_Bm3&Object&Am3::Z%> /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm3&Object&Am3<self::_Bm3&Object&Am3::Z%>
@@ -37,7 +37,7 @@ library /*isNonNullableByDefault*/;
// class Bm2<Z> extends Object with Am2<Function(int), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:70:34: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -45,7 +45,7 @@ library /*isNonNullableByDefault*/;
// class Cm2<Z> extends Object with Am2<Function(int x), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:86:34: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -54,7 +54,7 @@ library /*isNonNullableByDefault*/;
// class Jm2<Z> extends Object with Am2<Function, Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:89:34: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -63,7 +63,7 @@ library /*isNonNullableByDefault*/;
// class Km2<Z> extends Object with Am2<Function(Function Function), Z> {}
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:95:28: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -71,7 +71,7 @@ library /*isNonNullableByDefault*/;
// class Mm2<Z> = Object with Am2<Function(int), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:98:28: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -79,7 +79,7 @@ library /*isNonNullableByDefault*/;
// class Nm2<Z> = Object with Am2<Function(int x), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:114:28: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -88,7 +88,7 @@ library /*isNonNullableByDefault*/;
// class Um2<Z> = Object with Am2<Function, Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
// pkg/front_end/testcases/general/clone_function_type.dart:117:28: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2'.
@@ -97,7 +97,7 @@ library /*isNonNullableByDefault*/;
// class Vm2<Z> = Object with Am2<Function(Function Function), Z>;
// ^
// pkg/front_end/testcases/general/clone_function_type.dart:64:11: Context: This is the type variable whose bound isn't conformed to.
// class Am2<X extends Function(), Y> {}
// mixin Am2<X extends Function(), Y> {}
// ^
//
import self as self;
@@ -113,10 +113,7 @@ typedef TdH = ([core::int]) → dynamic;
typedef TdI = ([core::int]) → dynamic;
typedef TdJ = (core::Function) → dynamic;
typedef TdK = () → (() → core::Function) → dynamic;
class Am1<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am1<self::Am1::X%, self::Am1::Y%>
: super core::Object::•()
;
abstract class Am1<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm1&Object&Am1<Z extends core::Object? = dynamic> extends core::Object implements self::Am1<(core::int) → dynamic, self::_Bm1&Object&Am1::Z%> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm1&Object&Am1<self::_Bm1&Object&Am1::Z%>
@@ -283,10 +280,7 @@ class Wm1<Z extends core::Object? = dynamic> extends core::Object implements sel
: super core::Object::•()
;
}
class Am2<X extends () → dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am2<self::Am2::X, self::Am2::Y%>
: super core::Object::•()
;
abstract class Am2<X extends () → dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm2&Object&Am2<Z extends core::Object? = dynamic> extends core::Object implements self::Am2<(core::int) → dynamic, self::_Bm2&Object&Am2::Z%> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm2&Object&Am2<self::_Bm2&Object&Am2::Z%>
@@ -453,10 +447,7 @@ class Wm2<Z extends core::Object? = dynamic> extends core::Object implements sel
: super core::Object::•()
;
}
class Am3<L extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::Am3<self::Am3::L%, self::Am3::Y%>
: super core::Object::•()
;
abstract class Am3<L extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _Bm3&Object&Am3<Z extends core::Object? = dynamic> extends core::Object implements self::Am3<(core::int) → dynamic, self::_Bm3&Object&Am3::Z%> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_Bm3&Object&Am3<self::_Bm3&Object&Am3::Z%>
@@ -9,7 +9,7 @@ class A {
void foo(covariant num x) {}
}
class B {
mixin B {
void foo(num x) {}
}
@@ -8,10 +8,7 @@ class A extends core::Object {
;
method foo(covariant-by-declaration core::num x) → void {}
}
class B extends core::Object {
synthetic constructor •() → self::B
: super core::Object::•()
;
abstract class B extends core::Object /*isMixinDeclaration*/ {
method foo(core::num x) → void {}
}
class C extends core::Object {
@@ -8,10 +8,7 @@ class A extends core::Object {
;
method foo(covariant-by-declaration core::num x) → void {}
}
class B extends core::Object {
synthetic constructor •() → self::B
: super core::Object::•()
;
abstract class B extends core::Object /*isMixinDeclaration*/ {
method foo(core::num x) → void {}
}
class C extends core::Object {
@@ -2,7 +2,7 @@ class A {
void foo(covariant num x) {}
}
class B {
mixin B {
void foo(num x) {}
}
@@ -2,10 +2,6 @@ class A {
void foo(covariant num x) {}
}
class B {
void foo(num x) {}
}
class C {
void foo(num x) {}
}
@@ -15,3 +11,6 @@ class D extends A with B implements C {
}
main() {}
mixin B {
void foo(num x) {}
}
@@ -8,10 +8,7 @@ class A extends core::Object {
;
method foo(covariant-by-declaration core::num x) → void {}
}
class B extends core::Object {
synthetic constructor •() → self::B
: super core::Object::•()
;
abstract class B extends core::Object /*isMixinDeclaration*/ {
method foo(core::num x) → void {}
}
class C extends core::Object {
@@ -8,10 +8,7 @@ class A extends core::Object {
;
method foo(covariant-by-declaration core::num x) → void {}
}
class B extends core::Object {
synthetic constructor •() → self::B
: super core::Object::•()
;
abstract class B extends core::Object /*isMixinDeclaration*/ {
method foo(core::num x) → void {}
}
class C extends core::Object {
@@ -8,9 +8,7 @@ class A extends core::Object {
method foo(covariant-by-declaration core::num x) → void
;
}
class B extends core::Object {
synthetic constructor •() → self::B
;
abstract class B extends core::Object /*isMixinDeclaration*/ {
method foo(core::num x) → void
;
}
@@ -8,10 +8,7 @@ class A extends core::Object {
;
method foo(covariant-by-declaration core::num x) → void {}
}
class B extends core::Object {
synthetic constructor •() → self::B
: super core::Object::•()
;
abstract class B extends core::Object /*isMixinDeclaration*/ {
method foo(core::num x) → void {}
}
class C extends core::Object {
@@ -7,7 +7,7 @@ abstract class A1 {
void extendedInterfaceMember();
}
abstract class A2 {
mixin A2 {
void mixedInClassMember() {}
void mixedInInterfaceMember();
}
@@ -42,7 +42,7 @@ class B5 extends B4 {}
class B6 extends B3 implements B1, B2 {}
abstract class C1 {
mixin C1 {
void mixedInAndImplementedClassMember() {}
void mixedInAndImplementedInterfaceMember();
}
@@ -103,10 +103,7 @@ abstract class A1 extends core::Object {
method extendedClassMember() → void {}
abstract method extendedInterfaceMember() → void;
}
abstract class A2 extends core::Object {
synthetic constructor •() → self::A2
: super core::Object::•()
;
abstract class A2 extends core::Object /*isMixinDeclaration*/ {
method mixedInClassMember() → void {}
abstract method mixedInInterfaceMember() → void;
}
@@ -177,10 +174,7 @@ class B6 extends self::B3 implements self::B1, self::B2 {
: super self::B3::•()
;
}
abstract class C1 extends core::Object {
synthetic constructor •() → self::C1
: super core::Object::•()
;
abstract class C1 extends core::Object /*isMixinDeclaration*/ {
method mixedInAndImplementedClassMember() → void {}
abstract method mixedInAndImplementedInterfaceMember() → void;
}
@@ -103,10 +103,7 @@ abstract class A1 extends core::Object {
method extendedClassMember() → void {}
abstract method extendedInterfaceMember() → void;
}
abstract class A2 extends core::Object {
synthetic constructor •() → self::A2
: super core::Object::•()
;
abstract class A2 extends core::Object /*isMixinDeclaration*/ {
method mixedInClassMember() → void {}
abstract method mixedInInterfaceMember() → void;
}
@@ -175,10 +172,7 @@ class B6 extends self::B3 implements self::B1, self::B2 {
: super self::B3::•()
;
}
abstract class C1 extends core::Object {
synthetic constructor •() → self::C1
: super core::Object::•()
;
abstract class C1 extends core::Object /*isMixinDeclaration*/ {
method mixedInAndImplementedClassMember() → void {}
abstract method mixedInAndImplementedInterfaceMember() → void;
}
@@ -3,7 +3,7 @@ abstract class A1 {
void extendedInterfaceMember();
}
abstract class A2 {
mixin A2 {
void mixedInClassMember() {}
void mixedInInterfaceMember();
}
@@ -38,7 +38,7 @@ class B5 extends B4 {}
class B6 extends B3 implements B1, B2 {}
abstract class C1 {
mixin C1 {
void mixedInAndImplementedClassMember() {}
void mixedInAndImplementedInterfaceMember();
}
@@ -3,11 +3,6 @@ abstract class A1 {
void extendedInterfaceMember();
}
abstract class A2 {
void mixedInClassMember() {}
void mixedInInterfaceMember();
}
abstract class A3 extends A1 with A2 {
void declaredClassMember() {}
void declaredInterfaceMember();
@@ -32,11 +27,6 @@ abstract class B3 {
abstract class B4 extends B3 implements B1, B2 {}
abstract class C1 {
void mixedInAndImplementedClassMember() {}
void mixedInAndImplementedInterfaceMember();
}
abstract class C3 with C1 implements C2 {}
class A6 extends A1 implements A1 {}
@@ -55,3 +45,11 @@ class C4 extends C3 {}
class C5 with C1 implements C2 {}
main() {}
mixin A2 {
void mixedInClassMember() {}
void mixedInInterfaceMember();
}
mixin C1 {
void mixedInAndImplementedClassMember() {}
void mixedInAndImplementedInterfaceMember();
}
@@ -103,10 +103,7 @@ abstract class A1 extends core::Object {
method extendedClassMember() → void {}
abstract method extendedInterfaceMember() → void;
}
abstract class A2 extends core::Object {
synthetic constructor •() → self::A2
: super core::Object::•()
;
abstract class A2 extends core::Object /*isMixinDeclaration*/ {
method mixedInClassMember() → void {}
abstract method mixedInInterfaceMember() → void;
}
@@ -177,10 +174,7 @@ class B6 extends self::B3 implements self::B1, self::B2 {
: super self::B3::•()
;
}
abstract class C1 extends core::Object {
synthetic constructor •() → self::C1
: super core::Object::•()
;
abstract class C1 extends core::Object /*isMixinDeclaration*/ {
method mixedInAndImplementedClassMember() → void {}
abstract method mixedInAndImplementedInterfaceMember() → void;
}
@@ -103,10 +103,7 @@ abstract class A1 extends core::Object {
method extendedClassMember() → void {}
abstract method extendedInterfaceMember() → void;
}
abstract class A2 extends core::Object {
synthetic constructor •() → self::A2
: super core::Object::•()
;
abstract class A2 extends core::Object /*isMixinDeclaration*/ {
method mixedInClassMember() → void {}
abstract method mixedInInterfaceMember() → void;
}
@@ -177,10 +174,7 @@ class B6 extends self::B3 implements self::B1, self::B2 {
: super self::B3::•()
;
}
abstract class C1 extends core::Object {
synthetic constructor •() → self::C1
: super core::Object::•()
;
abstract class C1 extends core::Object /*isMixinDeclaration*/ {
method mixedInAndImplementedClassMember() → void {}
abstract method mixedInAndImplementedInterfaceMember() → void;
}
@@ -103,9 +103,7 @@ abstract class A1 extends core::Object {
;
abstract method extendedInterfaceMember() → void;
}
abstract class A2 extends core::Object {
synthetic constructor •() → self::A2
;
abstract class A2 extends core::Object /*isMixinDeclaration*/ {
method mixedInClassMember() → void
;
abstract method mixedInInterfaceMember() → void;
@@ -173,9 +171,7 @@ class B6 extends self::B3 implements self::B1, self::B2 {
synthetic constructor •() → self::B6
;
}
abstract class C1 extends core::Object {
synthetic constructor •() → self::C1
;
abstract class C1 extends core::Object /*isMixinDeclaration*/ {
method mixedInAndImplementedClassMember() → void
;
abstract method mixedInAndImplementedInterfaceMember() → void;
@@ -103,10 +103,7 @@ abstract class A1 extends core::Object {
method extendedClassMember() → void {}
abstract method extendedInterfaceMember() → void;
}
abstract class A2 extends core::Object {
synthetic constructor •() → self::A2
: super core::Object::•()
;
abstract class A2 extends core::Object /*isMixinDeclaration*/ {
method mixedInClassMember() → void {}
abstract method mixedInInterfaceMember() → void;
}
@@ -175,10 +172,7 @@ class B6 extends self::B3 implements self::B1, self::B2 {
: super self::B3::•()
;
}
abstract class C1 extends core::Object {
synthetic constructor •() → self::C1
: super core::Object::•()
;
abstract class C1 extends core::Object /*isMixinDeclaration*/ {
method mixedInAndImplementedClassMember() → void {}
abstract method mixedInAndImplementedInterfaceMember() → void;
}
@@ -10,7 +10,7 @@ class A {
A(bool this.v1, num this.v2);
}
class M1 {
mixin M1 {
num v2 = -1;
}
@@ -9,11 +9,8 @@ class A extends core::Object {
: self::A::v1 = v1, self::A::v2 = v2, super core::Object::•()
;
}
class M1 extends core::Object {
abstract class M1 extends core::Object /*isMixinDeclaration*/ {
field core::num v2 = 1.{core::int::unary-}(){() → core::int};
synthetic constructor •() → self::M1
: super core::Object::•()
;
}
class C = self::A with self::M1 {
synthetic constructor •(core::bool v1, core::num v2) → self::C
@@ -9,11 +9,8 @@ class A extends core::Object {
: self::A::v1 = v1, self::A::v2 = v2, super core::Object::•()
;
}
class M1 extends core::Object {
abstract class M1 extends core::Object /*isMixinDeclaration*/ {
field core::num v2 = 1.{core::int::unary-}(){() → core::int};
synthetic constructor •() → self::M1
: super core::Object::•()
;
}
class C extends self::A implements self::M1 /*isEliminatedMixin*/ {
field core::num v2 = 1.{core::int::unary-}(){() → core::int};
@@ -4,10 +4,9 @@ class A {
A(bool this.v1, num this.v2);
}
class M1 {
mixin M1 {
num v2 = -1;
}
class C = A with M1;
main() {}
expect(expected, actual) {}
@@ -5,10 +5,8 @@ class A {
}
class C = A with M1;
class M1 {
num v2 = -1;
}
expect(expected, actual) {}
main() {}
mixin M1 {
num v2 = -1;
}
@@ -9,11 +9,8 @@ class A extends core::Object {
: self::A::v1 = v1, self::A::v2 = v2, super core::Object::•()
;
}
class M1 extends core::Object {
abstract class M1 extends core::Object /*isMixinDeclaration*/ {
field core::num v2 = 1.{core::int::unary-}(){() → core::int};
synthetic constructor •() → self::M1
: super core::Object::•()
;
}
class C = self::A with self::M1 {
synthetic constructor •(core::bool v1, core::num v2) → self::C
@@ -9,11 +9,8 @@ class A extends core::Object {
: self::A::v1 = v1, self::A::v2 = v2, super core::Object::•()
;
}
class M1 extends core::Object {
abstract class M1 extends core::Object /*isMixinDeclaration*/ {
field core::num v2 = 1.{core::int::unary-}(){() → core::int};
synthetic constructor •() → self::M1
: super core::Object::•()
;
}
class C = self::A with self::M1 {
synthetic constructor •(core::bool v1, core::num v2) → self::C
@@ -8,10 +8,8 @@ class A extends core::Object {
constructor •(core::bool v1, core::num v2) → self::A
;
}
class M1 extends core::Object {
abstract class M1 extends core::Object /*isMixinDeclaration*/ {
field core::num v2;
synthetic constructor •() → self::M1
;
}
class C = self::A with self::M1 {
synthetic constructor •(core::bool v1, core::num v2) → self::C
@@ -9,11 +9,8 @@ class A extends core::Object {
: self::A::v1 = v1, self::A::v2 = v2, super core::Object::•()
;
}
class M1 extends core::Object {
abstract class M1 extends core::Object /*isMixinDeclaration*/ {
field core::num v2 = 1.{core::int::unary-}(){() → core::int};
synthetic constructor •() → self::M1
: super core::Object::•()
;
}
class C extends self::A implements self::M1 /*isEliminatedMixin*/ {
field core::num v2 = 1.{core::int::unary-}(){() → core::int};
@@ -6,7 +6,7 @@ abstract class A<T> {
foo(T x);
}
abstract class B<T> implements A<T> {}
mixin B<T> implements A<T> {}
class C {
foo(num x) {}
@@ -8,10 +8,7 @@ abstract class A<T extends core::Object? = dynamic> extends core::Object {
;
abstract method foo(covariant-by-class self::A::T% x) → dynamic;
}
abstract class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> {
synthetic constructor •() → self::B<self::B::T%>
: super core::Object::•()
;
abstract class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> /*isMixinDeclaration*/ {
}
class C extends core::Object {
synthetic constructor •() → self::C
@@ -8,10 +8,7 @@ abstract class A<T extends core::Object? = dynamic> extends core::Object {
;
abstract method foo(covariant-by-class self::A::T% x) → dynamic;
}
abstract class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> {
synthetic constructor •() → self::B<self::B::T%>
: super core::Object::•()
;
abstract class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> /*isMixinDeclaration*/ {
}
class C extends core::Object {
synthetic constructor •() → self::C
@@ -2,7 +2,7 @@ abstract class A<T> {
foo(T x);
}
abstract class B<T> implements A<T> {}
mixin B<T> implements A<T> {}
class C {
foo(num x) {}
@@ -2,8 +2,6 @@ abstract class A<T> {
foo(T x);
}
abstract class B<T> implements A<T> {}
class C {
foo(num x) {}
}
@@ -12,3 +10,4 @@ class D<T extends num> extends C with B<T> {}
class E<T extends num> = C with B<T>;
main() {}
mixin B<T> implements A<T> {}
@@ -8,10 +8,7 @@ abstract class A<T extends core::Object? = dynamic> extends core::Object {
;
abstract method foo(covariant-by-class self::A::T% x) → dynamic;
}
abstract class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> {
synthetic constructor •() → self::B<self::B::T%>
: super core::Object::•()
;
abstract class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> /*isMixinDeclaration*/ {
}
class C extends core::Object {
synthetic constructor •() → self::C
@@ -8,10 +8,7 @@ abstract class A<T extends core::Object? = dynamic> extends core::Object {
;
abstract method foo(covariant-by-class self::A::T% x) → dynamic;
}
abstract class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> {
synthetic constructor •() → self::B<self::B::T%>
: super core::Object::•()
;
abstract class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> /*isMixinDeclaration*/ {
}
class C extends core::Object {
synthetic constructor •() → self::C
@@ -7,9 +7,7 @@ abstract class A<T extends core::Object? = dynamic> extends core::Object {
;
abstract method foo(covariant-by-class self::A::T% x) → dynamic;
}
abstract class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> {
synthetic constructor •() → self::B<self::B::T%>
;
abstract class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> /*isMixinDeclaration*/ {
}
class C extends core::Object {
synthetic constructor •() → self::C
@@ -8,10 +8,7 @@ abstract class A<T extends core::Object? = dynamic> extends core::Object {
;
abstract method foo(covariant-by-class self::A::T% x) → dynamic;
}
abstract class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> {
synthetic constructor •() → self::B<self::B::T%>
: super core::Object::•()
;
abstract class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> /*isMixinDeclaration*/ {
}
class C extends core::Object {
synthetic constructor •() → self::C
@@ -4,7 +4,7 @@
abstract class Base {}
abstract class MixinA<T> {
mixin MixinA<T> {
T method(Object t);
}
@@ -18,11 +18,11 @@ abstract class Map<K, V> {
V operator [](Object key);
}
abstract class MapMixin<K, V> implements Map<K, V> {
mixin MapMixin<K, V> implements Map<K, V> {
V operator [](Object key);
}
abstract class UnmodifiableMapMixin<K, V> implements Map<K, V> {}
mixin UnmodifiableMapMixin<K, V> implements Map<K, V> {}
class YamlMap extends YamlNode with MapMixin, UnmodifiableMapMixin {
operator [](key) {}
@@ -7,10 +7,7 @@ abstract class Base extends core::Object {
: super core::Object::•()
;
}
abstract class MixinA<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::MixinA<self::MixinA::T%>
: super core::Object::•()
;
abstract class MixinA<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method method(core::Object t) → self::MixinA::T%;
}
abstract class _Class&Base&MixinA = self::Base with self::MixinA<dynamic> /*isAnonymousMixin*/ {
@@ -36,16 +33,10 @@ abstract class Map<K extends core::Object? = dynamic, V extends core::Object? =
;
abstract operator [](core::Object key) → self::Map::V%;
}
abstract class MapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::MapMixin::K%, self::MapMixin::V%> {
synthetic constructor •() → self::MapMixin<self::MapMixin::K%, self::MapMixin::V%>
: super core::Object::•()
;
abstract class MapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::MapMixin::K%, self::MapMixin::V%> /*isMixinDeclaration*/ {
abstract operator [](core::Object key) → self::MapMixin::V%;
}
abstract class UnmodifiableMapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%> {
synthetic constructor •() → self::UnmodifiableMapMixin<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%>
: super core::Object::•()
;
abstract class UnmodifiableMapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%> /*isMixinDeclaration*/ {
}
abstract class _YamlMap&YamlNode&MapMixin = self::YamlNode with self::MapMixin<dynamic, dynamic> /*isAnonymousMixin*/ {
synthetic constructor •() → self::_YamlMap&YamlNode&MapMixin
@@ -7,10 +7,7 @@ abstract class Base extends core::Object {
: super core::Object::•()
;
}
abstract class MixinA<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::MixinA<self::MixinA::T%>
: super core::Object::•()
;
abstract class MixinA<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method method(core::Object t) → self::MixinA::T%;
}
abstract class _Class&Base&MixinA extends self::Base implements self::MixinA<dynamic> /*isAnonymousMixin,isEliminatedMixin*/ {
@@ -36,16 +33,10 @@ abstract class Map<K extends core::Object? = dynamic, V extends core::Object? =
;
abstract operator [](core::Object key) → self::Map::V%;
}
abstract class MapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::MapMixin::K%, self::MapMixin::V%> {
synthetic constructor •() → self::MapMixin<self::MapMixin::K%, self::MapMixin::V%>
: super core::Object::•()
;
abstract class MapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::MapMixin::K%, self::MapMixin::V%> /*isMixinDeclaration*/ {
abstract operator [](core::Object key) → self::MapMixin::V%;
}
abstract class UnmodifiableMapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%> {
synthetic constructor •() → self::UnmodifiableMapMixin<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%>
: super core::Object::•()
;
abstract class UnmodifiableMapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%> /*isMixinDeclaration*/ {
}
abstract class _YamlMap&YamlNode&MapMixin extends self::YamlNode implements self::MapMixin<dynamic, dynamic> /*isAnonymousMixin,isEliminatedMixin*/ {
synthetic constructor •() → self::_YamlMap&YamlNode&MapMixin
@@ -1,6 +1,6 @@
abstract class Base {}
abstract class MixinA<T> {
mixin MixinA<T> {
T method(Object t);
}
@@ -14,11 +14,10 @@ abstract class Map<K, V> {
V operator [](Object key);
}
abstract class MapMixin<K, V> implements Map<K, V> {
mixin MapMixin<K, V> implements Map<K, V> {
V operator [](Object key);
}
abstract class UnmodifiableMapMixin<K, V> implements Map<K, V> {}
mixin UnmodifiableMapMixin<K, V> implements Map<K, V> {}
class YamlMap extends YamlNode with MapMixin, UnmodifiableMapMixin {
operator [](key) {}
@@ -8,16 +8,6 @@ abstract class Map<K, V> {
V operator [](Object key);
}
abstract class MapMixin<K, V> implements Map<K, V> {
V operator [](Object key);
}
abstract class MixinA<T> {
T method(Object t);
}
abstract class UnmodifiableMapMixin<K, V> implements Map<K, V> {}
abstract class YamlNode {}
class YamlMap extends YamlNode with MapMixin, UnmodifiableMapMixin {
@@ -25,3 +15,10 @@ class YamlMap extends YamlNode with MapMixin, UnmodifiableMapMixin {
}
main() {}
mixin MapMixin<K, V> implements Map<K, V> {
V operator [](Object key);
}
mixin MixinA<T> {
T method(Object t);
}
mixin UnmodifiableMapMixin<K, V> implements Map<K, V> {}
@@ -7,10 +7,7 @@ abstract class Base extends core::Object {
: super core::Object::•()
;
}
abstract class MixinA<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::MixinA<self::MixinA::T%>
: super core::Object::•()
;
abstract class MixinA<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method method(core::Object t) → self::MixinA::T%;
}
abstract class _Class&Base&MixinA = self::Base with self::MixinA<dynamic> /*isAnonymousMixin*/ {
@@ -36,16 +33,10 @@ abstract class Map<K extends core::Object? = dynamic, V extends core::Object? =
;
abstract operator [](core::Object key) → self::Map::V%;
}
abstract class MapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::MapMixin::K%, self::MapMixin::V%> {
synthetic constructor •() → self::MapMixin<self::MapMixin::K%, self::MapMixin::V%>
: super core::Object::•()
;
abstract class MapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::MapMixin::K%, self::MapMixin::V%> /*isMixinDeclaration*/ {
abstract operator [](core::Object key) → self::MapMixin::V%;
}
abstract class UnmodifiableMapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%> {
synthetic constructor •() → self::UnmodifiableMapMixin<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%>
: super core::Object::•()
;
abstract class UnmodifiableMapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%> /*isMixinDeclaration*/ {
}
abstract class _YamlMap&YamlNode&MapMixin = self::YamlNode with self::MapMixin<dynamic, dynamic> /*isAnonymousMixin*/ {
synthetic constructor •() → self::_YamlMap&YamlNode&MapMixin
@@ -7,10 +7,7 @@ abstract class Base extends core::Object {
: super core::Object::•()
;
}
abstract class MixinA<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::MixinA<self::MixinA::T%>
: super core::Object::•()
;
abstract class MixinA<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method method(core::Object t) → self::MixinA::T%;
}
abstract class _Class&Base&MixinA = self::Base with self::MixinA<dynamic> /*isAnonymousMixin*/ {
@@ -36,16 +33,10 @@ abstract class Map<K extends core::Object? = dynamic, V extends core::Object? =
;
abstract operator [](core::Object key) → self::Map::V%;
}
abstract class MapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::MapMixin::K%, self::MapMixin::V%> {
synthetic constructor •() → self::MapMixin<self::MapMixin::K%, self::MapMixin::V%>
: super core::Object::•()
;
abstract class MapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::MapMixin::K%, self::MapMixin::V%> /*isMixinDeclaration*/ {
abstract operator [](core::Object key) → self::MapMixin::V%;
}
abstract class UnmodifiableMapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%> {
synthetic constructor •() → self::UnmodifiableMapMixin<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%>
: super core::Object::•()
;
abstract class UnmodifiableMapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%> /*isMixinDeclaration*/ {
}
abstract class _YamlMap&YamlNode&MapMixin = self::YamlNode with self::MapMixin<dynamic, dynamic> /*isAnonymousMixin*/ {
synthetic constructor •() → self::_YamlMap&YamlNode&MapMixin
@@ -6,9 +6,7 @@ abstract class Base extends core::Object {
synthetic constructor •() → self::Base
;
}
abstract class MixinA<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::MixinA<self::MixinA::T%>
;
abstract class MixinA<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method method(core::Object t) → self::MixinA::T%;
}
abstract class _Class&Base&MixinA = self::Base with self::MixinA<dynamic> /*isAnonymousMixin*/ {
@@ -32,14 +30,10 @@ abstract class Map<K extends core::Object? = dynamic, V extends core::Object? =
;
abstract operator [](core::Object key) → self::Map::V%;
}
abstract class MapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::MapMixin::K%, self::MapMixin::V%> {
synthetic constructor •() → self::MapMixin<self::MapMixin::K%, self::MapMixin::V%>
;
abstract class MapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::MapMixin::K%, self::MapMixin::V%> /*isMixinDeclaration*/ {
abstract operator [](core::Object key) → self::MapMixin::V%;
}
abstract class UnmodifiableMapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%> {
synthetic constructor •() → self::UnmodifiableMapMixin<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%>
;
abstract class UnmodifiableMapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%> /*isMixinDeclaration*/ {
}
abstract class _YamlMap&YamlNode&MapMixin = self::YamlNode with self::MapMixin<dynamic, dynamic> /*isAnonymousMixin*/ {
synthetic constructor •() → self::_YamlMap&YamlNode&MapMixin
@@ -7,10 +7,7 @@ abstract class Base extends core::Object {
: super core::Object::•()
;
}
abstract class MixinA<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::MixinA<self::MixinA::T%>
: super core::Object::•()
;
abstract class MixinA<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
abstract method method(core::Object t) → self::MixinA::T%;
}
abstract class _Class&Base&MixinA extends self::Base implements self::MixinA<dynamic> /*isAnonymousMixin,isEliminatedMixin*/ {
@@ -36,16 +33,10 @@ abstract class Map<K extends core::Object? = dynamic, V extends core::Object? =
;
abstract operator [](core::Object key) → self::Map::V%;
}
abstract class MapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::MapMixin::K%, self::MapMixin::V%> {
synthetic constructor •() → self::MapMixin<self::MapMixin::K%, self::MapMixin::V%>
: super core::Object::•()
;
abstract class MapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::MapMixin::K%, self::MapMixin::V%> /*isMixinDeclaration*/ {
abstract operator [](core::Object key) → self::MapMixin::V%;
}
abstract class UnmodifiableMapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%> {
synthetic constructor •() → self::UnmodifiableMapMixin<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%>
: super core::Object::•()
;
abstract class UnmodifiableMapMixin<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object implements self::Map<self::UnmodifiableMapMixin::K%, self::UnmodifiableMapMixin::V%> /*isMixinDeclaration*/ {
}
abstract class _YamlMap&YamlNode&MapMixin extends self::YamlNode implements self::MapMixin<dynamic, dynamic> /*isAnonymousMixin,isEliminatedMixin*/ {
synthetic constructor •() → self::_YamlMap&YamlNode&MapMixin
@@ -2,5 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
class A<Q> {}
class B<X> extends Object with A<void Function<Y extends X>()> {}
mixin A<Q> {}
class B<X> extends Object with A<void Function<Y extends X>()> {}
@@ -2,17 +2,14 @@ library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/issue38944.dart:6:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
// pkg/front_end/testcases/general/issue38944.dart:7:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
// class B<X> extends Object with A<void Function<Y extends X>()> {}
// ^
//
import self as self;
import "dart:core" as core;
class A<Q extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::A<self::A::Q%>
: super core::Object::•()
;
abstract class A<Q extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _B&Object&A<X extends core::Object? = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X%>
@@ -2,17 +2,14 @@ library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/issue38944.dart:6:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
// pkg/front_end/testcases/general/issue38944.dart:7:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
// class B<X> extends Object with A<void Function<Y extends X>()> {}
// ^
//
import self as self;
import "dart:core" as core;
class A<Q extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::A<self::A::Q%>
: super core::Object::•()
;
abstract class A<Q extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _B&Object&A<X extends core::Object? = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X%>
@@ -1,3 +1,3 @@
class A<Q> {}
mixin A<Q> {}
class B<X> extends Object with A<void Function<Y extends X>()> {}
@@ -1,3 +1,3 @@
class A<Q> {}
class B<X> extends Object with A<void Function<Y extends X>()> {}
mixin A<Q> {}
@@ -2,17 +2,14 @@ library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/issue38944.dart:6:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
// pkg/front_end/testcases/general/issue38944.dart:7:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
// class B<X> extends Object with A<void Function<Y extends X>()> {}
// ^
//
import self as self;
import "dart:core" as core;
class A<Q extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::A<self::A::Q%>
: super core::Object::•()
;
abstract class A<Q extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _B&Object&A<X extends core::Object? = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X%>
@@ -2,17 +2,14 @@ library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/issue38944.dart:6:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
// pkg/front_end/testcases/general/issue38944.dart:7:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
// class B<X> extends Object with A<void Function<Y extends X>()> {}
// ^
//
import self as self;
import "dart:core" as core;
class A<Q extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::A<self::A::Q%>
: super core::Object::•()
;
abstract class A<Q extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _B&Object&A<X extends core::Object? = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X%>
@@ -2,16 +2,14 @@ library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/issue38944.dart:6:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
// pkg/front_end/testcases/general/issue38944.dart:7:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
// class B<X> extends Object with A<void Function<Y extends X>()> {}
// ^
//
import self as self;
import "dart:core" as core;
class A<Q extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::A<self::A::Q%>
;
abstract class A<Q extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _B&Object&A<X extends core::Object? = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X%>
@@ -2,17 +2,14 @@ library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/issue38944.dart:6:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
// pkg/front_end/testcases/general/issue38944.dart:7:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
// class B<X> extends Object with A<void Function<Y extends X>()> {}
// ^
//
import self as self;
import "dart:core" as core;
class A<Q extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() → self::A<self::A::Q%>
: super core::Object::•()
;
abstract class A<Q extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
}
abstract class _B&Object&A<X extends core::Object? = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X%>
@@ -14,7 +14,7 @@ abstract class SuperClass2 {
SuperClass2(String i) : value = i;
}
class Mixin {}
mixin Mixin {}
class NamedMixin1 = SuperClass1 with Mixin;
class NamedMixin2 = SuperClass2 with Mixin;
@@ -25,10 +25,7 @@ abstract class SuperClass2 extends core::Object {
: self::SuperClass2::value = i, super core::Object::•()
;
}
class Mixin extends core::Object {
synthetic constructor •() → self::Mixin
: super core::Object::•()
;
abstract class Mixin extends core::Object /*isMixinDeclaration*/ {
}
class NamedMixin1 = self::SuperClass1 with self::Mixin {
synthetic constructor •(core::String value) → self::NamedMixin1

Some files were not shown because too many files have changed in this diff Show More