Update status files after CL 100580
Change-Id: I01efd49885e4c8cca81e2521cbcd45f1a79ba035
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100849
Reviewed-by: Aske Simon Christensen <askesc@google.com>
diff --git a/pkg/front_end/testcases/abstract_members.dart.hierarchy.expect b/pkg/front_end/testcases/abstract_members.dart.hierarchy.expect
index 231e9e1..99a7137 100644
--- a/pkg/front_end/testcases/abstract_members.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/abstract_members.dart.hierarchy.expect
@@ -288,7 +288,7 @@
Object._simpleInstanceOf
B.bMethod
Object._instanceOf
- MyMock1.noSuchMethod
+ MyMock2.MyMock1.noSuchMethod%MyMock2.noSuchMethod
A.abstractMethod
Object._identityHashCode
Object.hashCode
@@ -308,7 +308,7 @@
Object._simpleInstanceOf
B.bMethod
Object._instanceOf
- MyMock1.noSuchMethod
+ MyMock2.MyMock1.noSuchMethod%MyMock2.noSuchMethod
A.abstractMethod
Interface1.interfaceMethod1
Object._identityHashCode
@@ -338,7 +338,7 @@
Object._simpleInstanceOf
B.bMethod
Object._instanceOf
- Object.noSuchMethod
+ MyMock3.Object.noSuchMethod%MyMock3.noSuchMethod
A.abstractMethod
Object._identityHashCode
Object.hashCode
@@ -358,7 +358,7 @@
Object._simpleInstanceOf
B.bMethod
Object._instanceOf
- Object.noSuchMethod
+ MyMock3.Object.noSuchMethod%MyMock3.noSuchMethod
A.abstractMethod
Interface1.interfaceMethod1
Object._identityHashCode
diff --git a/pkg/front_end/testcases/abstract_members.dart.legacy.expect b/pkg/front_end/testcases/abstract_members.dart.legacy.expect
index 5a3c3d0..0322fcb 100644
--- a/pkg/front_end/testcases/abstract_members.dart.legacy.expect
+++ b/pkg/front_end/testcases/abstract_members.dart.legacy.expect
@@ -194,7 +194,7 @@
synthetic constructor •() → self::MyMock1
: super self::B::•()
;
- method noSuchMethod(dynamic _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return null;
no-such-method-forwarder method interfaceMethod2() → void
return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod2, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
@@ -217,13 +217,13 @@
synthetic constructor •() → self::MyMock2
: super self::MyMock1::•()
;
- abstract method noSuchMethod(dynamic _) → dynamic;
+ abstract method noSuchMethod(core::Invocation _) → dynamic;
}
class MyMock3 extends self::B {
synthetic constructor •() → self::MyMock3
: super self::B::•()
;
- abstract method noSuchMethod(dynamic _) → dynamic;
+ abstract method noSuchMethod(core::Invocation _) → dynamic;
no-such-method-forwarder get interfaceMethod1() → dynamic
return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1, 1, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} dynamic;
no-such-method-forwarder set property3(dynamic _) → void
diff --git a/pkg/front_end/testcases/abstract_members.dart.legacy.transformed.expect b/pkg/front_end/testcases/abstract_members.dart.legacy.transformed.expect
index 5a3c3d0..0322fcb 100644
--- a/pkg/front_end/testcases/abstract_members.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/abstract_members.dart.legacy.transformed.expect
@@ -194,7 +194,7 @@
synthetic constructor •() → self::MyMock1
: super self::B::•()
;
- method noSuchMethod(dynamic _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return null;
no-such-method-forwarder method interfaceMethod2() → void
return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod2, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
@@ -217,13 +217,13 @@
synthetic constructor •() → self::MyMock2
: super self::MyMock1::•()
;
- abstract method noSuchMethod(dynamic _) → dynamic;
+ abstract method noSuchMethod(core::Invocation _) → dynamic;
}
class MyMock3 extends self::B {
synthetic constructor •() → self::MyMock3
: super self::B::•()
;
- abstract method noSuchMethod(dynamic _) → dynamic;
+ abstract method noSuchMethod(core::Invocation _) → dynamic;
no-such-method-forwarder get interfaceMethod1() → dynamic
return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1, 1, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} dynamic;
no-such-method-forwarder set property3(dynamic _) → void
diff --git a/pkg/front_end/testcases/abstract_members.dart.outline.expect b/pkg/front_end/testcases/abstract_members.dart.outline.expect
index ad1e730..c54c9fb 100644
--- a/pkg/front_end/testcases/abstract_members.dart.outline.expect
+++ b/pkg/front_end/testcases/abstract_members.dart.outline.expect
@@ -197,7 +197,7 @@
class MyMock1 extends self::B {
synthetic constructor •() → self::MyMock1
;
- method noSuchMethod(dynamic _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
;
no-such-method-forwarder method interfaceMethod2() → void
return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod2, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
@@ -219,12 +219,12 @@
class MyMock2 extends self::MyMock1 {
synthetic constructor •() → self::MyMock2
;
- abstract method noSuchMethod(dynamic _) → dynamic;
+ abstract method noSuchMethod(core::Invocation _) → dynamic;
}
class MyMock3 extends self::B {
synthetic constructor •() → self::MyMock3
;
- abstract method noSuchMethod(dynamic _) → dynamic;
+ abstract method noSuchMethod(core::Invocation _) → dynamic;
no-such-method-forwarder get interfaceMethod1() → dynamic
return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1, 1, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} dynamic;
no-such-method-forwarder set property3(dynamic _) → void
diff --git a/pkg/front_end/testcases/bad_setter_abstract.dart.legacy.expect b/pkg/front_end/testcases/bad_setter_abstract.dart.legacy.expect
index e84ce6f..f93d1cb 100644
--- a/pkg/front_end/testcases/bad_setter_abstract.dart.legacy.expect
+++ b/pkg/front_end/testcases/bad_setter_abstract.dart.legacy.expect
@@ -47,13 +47,13 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- set a(dynamic #synthetic) → dynamic {
+ set a(dynamic #synthetic) → void {
invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:10:8: Error: A setter should have exactly one formal parameter.
set a();
^";
;
}
- set d(dynamic #synthetic) → dynamic {
+ set d(dynamic #synthetic) → void {
invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:11:8: Error: A setter should have exactly one formal parameter.
set d(x, y);
^";
@@ -68,13 +68,13 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- set a(dynamic #synthetic) → dynamic {
+ set a(dynamic #synthetic) → void {
invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:15:8: Error: A setter should have exactly one formal parameter.
set a();
^";
;
}
- set d(dynamic #synthetic) → dynamic {
+ set d(dynamic #synthetic) → void {
invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:16:8: Error: A setter should have exactly one formal parameter.
set d(x, y);
^";
@@ -85,13 +85,13 @@
}
}
}
-static set b(dynamic #synthetic) → dynamic {
+static set b(dynamic #synthetic) → void {
invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:5:6: Error: A setter should have exactly one formal parameter.
set b();
^";
;
}
-static set c(dynamic #synthetic) → dynamic {
+static set c(dynamic #synthetic) → void {
invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:7:6: Error: A setter should have exactly one formal parameter.
set c(x, y);
^";
diff --git a/pkg/front_end/testcases/bad_setter_abstract.dart.legacy.transformed.expect b/pkg/front_end/testcases/bad_setter_abstract.dart.legacy.transformed.expect
index e84ce6f..f93d1cb 100644
--- a/pkg/front_end/testcases/bad_setter_abstract.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/bad_setter_abstract.dart.legacy.transformed.expect
@@ -47,13 +47,13 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- set a(dynamic #synthetic) → dynamic {
+ set a(dynamic #synthetic) → void {
invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:10:8: Error: A setter should have exactly one formal parameter.
set a();
^";
;
}
- set d(dynamic #synthetic) → dynamic {
+ set d(dynamic #synthetic) → void {
invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:11:8: Error: A setter should have exactly one formal parameter.
set d(x, y);
^";
@@ -68,13 +68,13 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- set a(dynamic #synthetic) → dynamic {
+ set a(dynamic #synthetic) → void {
invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:15:8: Error: A setter should have exactly one formal parameter.
set a();
^";
;
}
- set d(dynamic #synthetic) → dynamic {
+ set d(dynamic #synthetic) → void {
invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:16:8: Error: A setter should have exactly one formal parameter.
set d(x, y);
^";
@@ -85,13 +85,13 @@
}
}
}
-static set b(dynamic #synthetic) → dynamic {
+static set b(dynamic #synthetic) → void {
invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:5:6: Error: A setter should have exactly one formal parameter.
set b();
^";
;
}
-static set c(dynamic #synthetic) → dynamic {
+static set c(dynamic #synthetic) → void {
invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:7:6: Error: A setter should have exactly one formal parameter.
set c(x, y);
^";
diff --git a/pkg/front_end/testcases/bad_setter_abstract.dart.outline.expect b/pkg/front_end/testcases/bad_setter_abstract.dart.outline.expect
index 68dcc4d..65b27e3 100644
--- a/pkg/front_end/testcases/bad_setter_abstract.dart.outline.expect
+++ b/pkg/front_end/testcases/bad_setter_abstract.dart.outline.expect
@@ -18,22 +18,22 @@
class A extends core::Object {
synthetic constructor •() → self::A
;
- set a(dynamic #synthetic) → dynamic
+ set a(dynamic #synthetic) → void
;
- set d(dynamic #synthetic) → dynamic
+ set d(dynamic #synthetic) → void
;
}
abstract class B extends core::Object {
synthetic constructor •() → self::B
;
- set a(dynamic #synthetic) → dynamic
+ set a(dynamic #synthetic) → void
;
- set d(dynamic #synthetic) → dynamic
+ set d(dynamic #synthetic) → void
;
}
-static set b(dynamic #synthetic) → dynamic
+static set b(dynamic #synthetic) → void
;
-static set c(dynamic #synthetic) → dynamic
+static set c(dynamic #synthetic) → void
;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/bug32866.dart.legacy.expect b/pkg/front_end/testcases/bug32866.dart.legacy.expect
index f62f9f6..5cf6726 100644
--- a/pkg/front_end/testcases/bug32866.dart.legacy.expect
+++ b/pkg/front_end/testcases/bug32866.dart.legacy.expect
@@ -9,7 +9,7 @@
abstract get f() → core::String;
}
class A extends core::Object implements self::B {
- final field dynamic f;
+ final field core::String f;
constructor •(dynamic f) → self::A
: self::A::f = f, super core::Object::•()
;
diff --git a/pkg/front_end/testcases/bug32866.dart.legacy.transformed.expect b/pkg/front_end/testcases/bug32866.dart.legacy.transformed.expect
index f62f9f6..5cf6726 100644
--- a/pkg/front_end/testcases/bug32866.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/bug32866.dart.legacy.transformed.expect
@@ -9,7 +9,7 @@
abstract get f() → core::String;
}
class A extends core::Object implements self::B {
- final field dynamic f;
+ final field core::String f;
constructor •(dynamic f) → self::A
: self::A::f = f, super core::Object::•()
;
diff --git a/pkg/front_end/testcases/bug32866.dart.outline.expect b/pkg/front_end/testcases/bug32866.dart.outline.expect
index 0b51724..c902755 100644
--- a/pkg/front_end/testcases/bug32866.dart.outline.expect
+++ b/pkg/front_end/testcases/bug32866.dart.outline.expect
@@ -8,7 +8,7 @@
abstract get f() → core::String;
}
class A extends core::Object implements self::B {
- final field dynamic f;
+ final field core::String f;
constructor •(dynamic f) → self::A
;
}
diff --git a/pkg/front_end/testcases/bug33206.dart.legacy.expect b/pkg/front_end/testcases/bug33206.dart.legacy.expect
index b0dba95..1d53254 100644
--- a/pkg/front_end/testcases/bug33206.dart.legacy.expect
+++ b/pkg/front_end/testcases/bug33206.dart.legacy.expect
@@ -11,7 +11,7 @@
constructor •(dynamic x, dynamic y) → self::X
: self::X::x = x, self::X::y = y, super core::Object::•()
;
- method toString() → dynamic
+ method toString() → core::String
return "X(${this.{self::X::x}}, ${this.{self::X::y}})";
}
class Y extends core::Object {
diff --git a/pkg/front_end/testcases/bug33206.dart.legacy.transformed.expect b/pkg/front_end/testcases/bug33206.dart.legacy.transformed.expect
index 2a26c19..f484e4b 100644
--- a/pkg/front_end/testcases/bug33206.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/bug33206.dart.legacy.transformed.expect
@@ -11,7 +11,7 @@
constructor •(dynamic x, dynamic y) → self::X
: self::X::x = x, self::X::y = y, super core::Object::•()
;
- method toString() → dynamic
+ method toString() → core::String
return "X(${this.{self::X::x}}, ${this.{self::X::y}})";
}
class Y extends core::Object {
diff --git a/pkg/front_end/testcases/bug33206.dart.outline.expect b/pkg/front_end/testcases/bug33206.dart.outline.expect
index 95d83e8..3dd6634 100644
--- a/pkg/front_end/testcases/bug33206.dart.outline.expect
+++ b/pkg/front_end/testcases/bug33206.dart.outline.expect
@@ -10,7 +10,7 @@
final field dynamic y;
constructor •(dynamic x, dynamic y) → self::X
;
- method toString() → dynamic
+ method toString() → core::String
;
}
class Y extends core::Object {
diff --git a/pkg/front_end/testcases/covariant_generic.dart.outline.expect b/pkg/front_end/testcases/covariant_generic.dart.outline.expect
index 4b44219..da79e5c 100644
--- a/pkg/front_end/testcases/covariant_generic.dart.outline.expect
+++ b/pkg/front_end/testcases/covariant_generic.dart.outline.expect
@@ -12,7 +12,7 @@
;
method method(generic-covariant-impl self::Foo::T x) → void
;
- set setter(generic-covariant-impl self::Foo::T x) → dynamic
+ set setter(generic-covariant-impl self::Foo::T x) → void
;
method withCallback((self::Foo::T) → void callback) → void
;
diff --git a/pkg/front_end/testcases/escape.dart.legacy.expect b/pkg/front_end/testcases/escape.dart.legacy.expect
index 389e93a..ec93320 100644
--- a/pkg/front_end/testcases/escape.dart.legacy.expect
+++ b/pkg/front_end/testcases/escape.dart.legacy.expect
@@ -18,7 +18,7 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
- operator ==(dynamic x) → dynamic
+ operator ==(dynamic x) → core::bool
return false;
}
class X extends core::Object implements self::A, self::B {
diff --git a/pkg/front_end/testcases/escape.dart.legacy.transformed.expect b/pkg/front_end/testcases/escape.dart.legacy.transformed.expect
index 389e93a..ec93320 100644
--- a/pkg/front_end/testcases/escape.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/escape.dart.legacy.transformed.expect
@@ -18,7 +18,7 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
- operator ==(dynamic x) → dynamic
+ operator ==(dynamic x) → core::bool
return false;
}
class X extends core::Object implements self::A, self::B {
diff --git a/pkg/front_end/testcases/escape.dart.outline.expect b/pkg/front_end/testcases/escape.dart.outline.expect
index e98ed5f..1bccd65 100644
--- a/pkg/front_end/testcases/escape.dart.outline.expect
+++ b/pkg/front_end/testcases/escape.dart.outline.expect
@@ -15,7 +15,7 @@
class C extends core::Object {
synthetic constructor •() → self::C
;
- operator ==(dynamic x) → dynamic
+ operator ==(dynamic x) → core::bool
;
}
class X extends core::Object implements self::A, self::B {
diff --git a/pkg/front_end/testcases/ignore_function.dart.hierarchy.expect b/pkg/front_end/testcases/ignore_function.dart.hierarchy.expect
new file mode 100644
index 0000000..329fb74
--- /dev/null
+++ b/pkg/front_end/testcases/ignore_function.dart.hierarchy.expect
@@ -0,0 +1,83 @@
+Object:
+ superclasses:
+ interfaces:
+ classMembers:
+ Object._haveSameRuntimeType
+ Object.toString
+ Object.runtimeType
+ Object._toString
+ Object._simpleInstanceOf
+ Object._hashCodeRnd
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._objectHashCode
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+
+A:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ A.==
+ classSetters:
+
+Function:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Function.==
+ classSetters:
+
+B:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Function
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ B.==
+ classSetters:
+ interfaceMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ B.==
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/ignore_function.dart.legacy.expect b/pkg/front_end/testcases/ignore_function.dart.legacy.expect
new file mode 100644
index 0000000..5b8a8d2
--- /dev/null
+++ b/pkg/front_end/testcases/ignore_function.dart.legacy.expect
@@ -0,0 +1,36 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/ignore_function.dart:14:15: Error: Can't infer a type for 'other' as some of the inherited members have different types.
+// Try adding an explicit type.
+// operator ==(other) => false;
+// ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+import "dart:core" as core;
+
+class A extends core::Object implements core::Function {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+ operator ==(dynamic other) → core::bool
+ return false;
+}
+class B extends core::Object implements self::Function {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+ operator ==(invalid-type other) → core::bool
+ return false;
+}
+class Function extends core::Object {
+ synthetic constructor •() → self::Function
+ : super core::Object::•()
+ ;
+ operator ==(core::Object other) → core::bool
+ return false;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/ignore_function.dart.legacy.transformed.expect b/pkg/front_end/testcases/ignore_function.dart.legacy.transformed.expect
new file mode 100644
index 0000000..5b8a8d2
--- /dev/null
+++ b/pkg/front_end/testcases/ignore_function.dart.legacy.transformed.expect
@@ -0,0 +1,36 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/ignore_function.dart:14:15: Error: Can't infer a type for 'other' as some of the inherited members have different types.
+// Try adding an explicit type.
+// operator ==(other) => false;
+// ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+import "dart:core" as core;
+
+class A extends core::Object implements core::Function {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+ operator ==(dynamic other) → core::bool
+ return false;
+}
+class B extends core::Object implements self::Function {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+ operator ==(invalid-type other) → core::bool
+ return false;
+}
+class Function extends core::Object {
+ synthetic constructor •() → self::Function
+ : super core::Object::•()
+ ;
+ operator ==(core::Object other) → core::bool
+ return false;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/ignore_function.dart.outline.expect b/pkg/front_end/testcases/ignore_function.dart.outline.expect
new file mode 100644
index 0000000..a1585c3
--- /dev/null
+++ b/pkg/front_end/testcases/ignore_function.dart.outline.expect
@@ -0,0 +1,34 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/ignore_function.dart:14:15: Error: Can't infer a type for 'other' as some of the inherited members have different types.
+// Try adding an explicit type.
+// operator ==(other) => false;
+// ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+import "dart:core" as core;
+
+class A extends core::Object implements core::Function {
+ synthetic constructor •() → self::A
+ ;
+ operator ==(dynamic other) → core::bool
+ ;
+}
+class B extends core::Object implements self::Function {
+ synthetic constructor •() → self::B
+ ;
+ operator ==(invalid-type other) → core::bool
+ ;
+}
+class Function extends core::Object {
+ synthetic constructor •() → self::Function
+ ;
+ operator ==(core::Object other) → core::bool
+ ;
+}
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/ignore_function.dart.strong.expect b/pkg/front_end/testcases/ignore_function.dart.strong.expect
new file mode 100644
index 0000000..5b8a8d2
--- /dev/null
+++ b/pkg/front_end/testcases/ignore_function.dart.strong.expect
@@ -0,0 +1,36 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/ignore_function.dart:14:15: Error: Can't infer a type for 'other' as some of the inherited members have different types.
+// Try adding an explicit type.
+// operator ==(other) => false;
+// ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+import "dart:core" as core;
+
+class A extends core::Object implements core::Function {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+ operator ==(dynamic other) → core::bool
+ return false;
+}
+class B extends core::Object implements self::Function {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+ operator ==(invalid-type other) → core::bool
+ return false;
+}
+class Function extends core::Object {
+ synthetic constructor •() → self::Function
+ : super core::Object::•()
+ ;
+ operator ==(core::Object other) → core::bool
+ return false;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.strong.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.strong.expect
index 73adfd1..bd67e53 100644
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.strong.expect
@@ -2,18 +2,13 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference/circular_reference_via_closures.dart:9:5: Error: Can't infer the type of 'y': circularity found during type inference.
-// Specify the type explicitly.
-// var y = /*@returnType=invalid-type*/ () => x;
-// ^
-//
// pkg/front_end/testcases/inference/circular_reference_via_closures.dart:8:5: Error: Can't infer the type of 'x': circularity found during type inference.
// Specify the type explicitly.
-// var x = /*@returnType=invalid-type*/ () => y;
+// var x = /*@returnType=() -> invalid-type*/ () => y;
// ^
//
import self as self;
-static field invalid-type x = (() → invalid-type => self::y) as{TypeError} invalid-type;
-static field invalid-type y = (() → invalid-type => self::x) as{TypeError} invalid-type;
+static field invalid-type x = (() → () → invalid-type => self::y) as{TypeError} invalid-type;
+static field () → invalid-type y = () → invalid-type => self::x;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.strong.transformed.expect
index 73adfd1..bd67e53 100644
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.strong.transformed.expect
@@ -2,18 +2,13 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference/circular_reference_via_closures.dart:9:5: Error: Can't infer the type of 'y': circularity found during type inference.
-// Specify the type explicitly.
-// var y = /*@returnType=invalid-type*/ () => x;
-// ^
-//
// pkg/front_end/testcases/inference/circular_reference_via_closures.dart:8:5: Error: Can't infer the type of 'x': circularity found during type inference.
// Specify the type explicitly.
-// var x = /*@returnType=invalid-type*/ () => y;
+// var x = /*@returnType=() -> invalid-type*/ () => y;
// ^
//
import self as self;
-static field invalid-type x = (() → invalid-type => self::y) as{TypeError} invalid-type;
-static field invalid-type y = (() → invalid-type => self::x) as{TypeError} invalid-type;
+static field invalid-type x = (() → () → invalid-type => self::y) as{TypeError} invalid-type;
+static field () → invalid-type y = () → invalid-type => self::x;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.strong.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.strong.expect
index 4f81f83..88a970d 100644
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.strong.expect
@@ -2,18 +2,13 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart:9:5: Error: Can't infer the type of 'y': circularity found during type inference.
-// Specify the type explicitly.
-// var y = /*@returnType=invalid-type*/ () => x;
-// ^
-//
// pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart:8:5: Error: Can't infer the type of 'x': circularity found during type inference.
// Specify the type explicitly.
-// var x = /*@returnType=invalid-type*/ () => y;
+// var x = /*@returnType=() -> invalid-type*/ () => y;
// ^
//
import self as self;
-static field invalid-type x = (() → invalid-type => self::y) as{TypeError} invalid-type;
-static field invalid-type y = (() → invalid-type => self::x) as{TypeError} invalid-type;
+static field invalid-type x = (() → () → invalid-type => self::y) as{TypeError} invalid-type;
+static field () → invalid-type y = () → invalid-type => self::x;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.strong.transformed.expect
index 4f81f83..88a970d 100644
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.strong.transformed.expect
@@ -2,18 +2,13 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart:9:5: Error: Can't infer the type of 'y': circularity found during type inference.
-// Specify the type explicitly.
-// var y = /*@returnType=invalid-type*/ () => x;
-// ^
-//
// pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart:8:5: Error: Can't infer the type of 'x': circularity found during type inference.
// Specify the type explicitly.
-// var x = /*@returnType=invalid-type*/ () => y;
+// var x = /*@returnType=() -> invalid-type*/ () => y;
// ^
//
import self as self;
-static field invalid-type x = (() → invalid-type => self::y) as{TypeError} invalid-type;
-static field invalid-type y = (() → invalid-type => self::x) as{TypeError} invalid-type;
+static field invalid-type x = (() → () → invalid-type => self::y) as{TypeError} invalid-type;
+static field () → invalid-type y = () → invalid-type => self::x;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart.hierarchy.expect b/pkg/front_end/testcases/inference/conflicting_fields.dart.hierarchy.expect
index 058c190..b2b061e 100644
--- a/pkg/front_end/testcases/inference/conflicting_fields.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/inference/conflicting_fields.dart.hierarchy.expect
@@ -79,8 +79,8 @@
Object._simpleInstanceOfTrue
Object.==
classSetters:
- A.field1
- A.field2
+ B.field1
+ B.field2
interfaceMembers:
B.field1
Object.toString
@@ -95,5 +95,5 @@
Object._simpleInstanceOfTrue
Object.==
interfaceSetters:
- A.field1
- A.field2
+ B.field1
+ B.field2
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.expect b/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.expect
index 67e1ae7..0a84181 100644
--- a/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.expect
@@ -1,4 +1,17 @@
library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/conflicting_fields.dart:20:14: Error: Can't infer a type for 'value' as some of the inherited members have different types.
+// Try adding an explicit type.
+// set field1(value) {}
+// ^^^^^
+//
+// pkg/front_end/testcases/inference/conflicting_fields.dart:21:14: Error: Can't infer a type for 'value' as some of the inherited members have different types.
+// Try adding an explicit type.
+// set field2(value) {}
+// ^^^^^
+//
import self as self;
import "dart:core" as core;
@@ -20,9 +33,11 @@
synthetic constructor •() → self::B
: super self::A::•()
;
- get field1() → dynamic
+ get field1() → core::int
return null;
- get field2() → dynamic
+ get field2() → core::int
return null;
+ set field1(invalid-type value) → void {}
+ set field2(invalid-type value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.transformed.expect
index 67e1ae7..0a84181 100644
--- a/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.transformed.expect
@@ -1,4 +1,17 @@
library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/conflicting_fields.dart:20:14: Error: Can't infer a type for 'value' as some of the inherited members have different types.
+// Try adding an explicit type.
+// set field1(value) {}
+// ^^^^^
+//
+// pkg/front_end/testcases/inference/conflicting_fields.dart:21:14: Error: Can't infer a type for 'value' as some of the inherited members have different types.
+// Try adding an explicit type.
+// set field2(value) {}
+// ^^^^^
+//
import self as self;
import "dart:core" as core;
@@ -20,9 +33,11 @@
synthetic constructor •() → self::B
: super self::A::•()
;
- get field1() → dynamic
+ get field1() → core::int
return null;
- get field2() → dynamic
+ get field2() → core::int
return null;
+ set field1(invalid-type value) → void {}
+ set field2(invalid-type value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart.outline.expect b/pkg/front_end/testcases/inference/conflicting_fields.dart.outline.expect
index 6963ff2..57c1e7c 100644
--- a/pkg/front_end/testcases/inference/conflicting_fields.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/conflicting_fields.dart.outline.expect
@@ -1,4 +1,17 @@
library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/conflicting_fields.dart:20:14: Error: Can't infer a type for 'value' as some of the inherited members have different types.
+// Try adding an explicit type.
+// set field1(value) {}
+// ^^^^^
+//
+// pkg/front_end/testcases/inference/conflicting_fields.dart:21:14: Error: Can't infer a type for 'value' as some of the inherited members have different types.
+// Try adding an explicit type.
+// set field2(value) {}
+// ^^^^^
+//
import self as self;
import "dart:core" as core;
@@ -17,9 +30,13 @@
class B extends self::A implements self::I {
synthetic constructor •() → self::B
;
- get field1() → dynamic
+ get field1() → core::int
;
- get field2() → dynamic
+ get field2() → core::int
+ ;
+ set field1(invalid-type value) → void
+ ;
+ set field2(invalid-type value) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart.strong.expect b/pkg/front_end/testcases/inference/conflicting_fields.dart.strong.expect
index 3f45ef6..0a84181 100644
--- a/pkg/front_end/testcases/inference/conflicting_fields.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/conflicting_fields.dart.strong.expect
@@ -2,42 +2,15 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference/conflicting_fields.dart:18:7: Error: Can't infer a type for 'field1' as some of the inherited members have different types.
+// pkg/front_end/testcases/inference/conflicting_fields.dart:20:14: Error: Can't infer a type for 'value' as some of the inherited members have different types.
// Try adding an explicit type.
-// get field1 => null;
-// ^
+// set field1(value) {}
+// ^^^^^
//
-// pkg/front_end/testcases/inference/conflicting_fields.dart:19:7: Error: Can't infer a type for 'field2' as some of the inherited members have different types.
+// pkg/front_end/testcases/inference/conflicting_fields.dart:21:14: Error: Can't infer a type for 'value' as some of the inherited members have different types.
// Try adding an explicit type.
-// get field2 => null;
-// ^
-//
-// pkg/front_end/testcases/inference/conflicting_fields.dart:19:7: Error: The return type of the method 'B.field2' is 'dynamic', which does not match the return type, 'int', of the overridden method, 'A.field2'.
-// Change to a subtype of 'int'.
-// get field2 => null;
-// ^
-// pkg/front_end/testcases/inference/conflicting_fields.dart:9:7: Context: This is the overridden method ('field2').
-// int field2;
-// ^
-//
-// pkg/front_end/testcases/inference/conflicting_fields.dart:18:7: Error: The return type of the method 'B.field1' is 'dynamic', which does not match the return type, 'int', of the overridden method, 'I.field1'.
-// Change to a subtype of 'int'.
-// get field1 => null;
-// ^
-// pkg/front_end/testcases/inference/conflicting_fields.dart:13:7: Context: This is the overridden method ('field1').
-// int field1;
-// ^
-//
-// pkg/front_end/testcases/inference/conflicting_fields.dart:8:11: Error: The return type of the method 'A.field1' is 'dynamic', which does not match the return type, 'int', of the overridden method, 'I.field1'.
-// Change to a subtype of 'int'.
-// dynamic field1;
-// ^
-// pkg/front_end/testcases/inference/conflicting_fields.dart:13:7: Context: This is the overridden method ('field1').
-// int field1;
-// ^
-// pkg/front_end/testcases/inference/conflicting_fields.dart:17:7: Context: Both members are inherited by the non-abstract class 'B'.
-// class B extends A implements I {
-// ^
+// set field2(value) {}
+// ^^^^^
//
import self as self;
import "dart:core" as core;
@@ -60,10 +33,11 @@
synthetic constructor •() → self::B
: super self::A::•()
;
- get field1() → dynamic
+ get field1() → core::int
return null;
- get field2() → dynamic
+ get field2() → core::int
return null;
- abstract forwarding-stub set field2(dynamic _) → void;
+ set field1(invalid-type value) → void {}
+ set field2(invalid-type value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.expect b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.expect
index ae8c8ce..3e2c41e 100644
--- a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.expect
@@ -1,4 +1,17 @@
library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/conflicts_can_happen.dart:25:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
+// Try adding an explicit type.
+// get a => null;
+// ^
+//
+// pkg/front_end/testcases/inference/conflicts_can_happen.dart:30:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
+// Try adding an explicit type.
+// get a => null;
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -30,14 +43,14 @@
synthetic constructor •() → self::C1
: super core::Object::•()
;
- get a() → dynamic
+ get a() → invalid-type
return null;
}
class C2 extends core::Object implements self::B, self::A {
synthetic constructor •() → self::C2
: super core::Object::•()
;
- get a() → dynamic
+ get a() → invalid-type
return null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.transformed.expect
index ae8c8ce..3e2c41e 100644
--- a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.transformed.expect
@@ -1,4 +1,17 @@
library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/conflicts_can_happen.dart:25:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
+// Try adding an explicit type.
+// get a => null;
+// ^
+//
+// pkg/front_end/testcases/inference/conflicts_can_happen.dart:30:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
+// Try adding an explicit type.
+// get a => null;
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -30,14 +43,14 @@
synthetic constructor •() → self::C1
: super core::Object::•()
;
- get a() → dynamic
+ get a() → invalid-type
return null;
}
class C2 extends core::Object implements self::B, self::A {
synthetic constructor •() → self::C2
: super core::Object::•()
;
- get a() → dynamic
+ get a() → invalid-type
return null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.strong.expect b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.strong.expect
index 6e8c47d..3e2c41e 100644
--- a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.strong.expect
@@ -2,52 +2,16 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:25:7: Error: Can't infer a type for 'a' as some of the inherited members have different types.
+// pkg/front_end/testcases/inference/conflicts_can_happen.dart:25:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
// Try adding an explicit type.
// get a => null;
// ^
//
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:30:7: Error: Can't infer a type for 'a' as some of the inherited members have different types.
+// pkg/front_end/testcases/inference/conflicts_can_happen.dart:30:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
// Try adding an explicit type.
// get a => null;
// ^
//
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:25:7: Error: The return type of the method 'C1.a' is 'dynamic', which does not match the return type, 'I1', of the overridden method, 'A.a'.
-// - 'I1' is from 'pkg/front_end/testcases/inference/conflicts_can_happen.dart'.
-// Change to a subtype of 'I1'.
-// get a => null;
-// ^
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:17:12: Context: This is the overridden method ('a').
-// final I1 a = null;
-// ^
-//
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:25:7: Error: The return type of the method 'C1.a' is 'dynamic', which does not match the return type, 'I2', of the overridden method, 'B.a'.
-// - 'I2' is from 'pkg/front_end/testcases/inference/conflicts_can_happen.dart'.
-// Change to a subtype of 'I2'.
-// get a => null;
-// ^
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:21:12: Context: This is the overridden method ('a').
-// final I2 a = null;
-// ^
-//
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:30:7: Error: The return type of the method 'C2.a' is 'dynamic', which does not match the return type, 'I2', of the overridden method, 'B.a'.
-// - 'I2' is from 'pkg/front_end/testcases/inference/conflicts_can_happen.dart'.
-// Change to a subtype of 'I2'.
-// get a => null;
-// ^
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:21:12: Context: This is the overridden method ('a').
-// final I2 a = null;
-// ^
-//
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:30:7: Error: The return type of the method 'C2.a' is 'dynamic', which does not match the return type, 'I1', of the overridden method, 'A.a'.
-// - 'I1' is from 'pkg/front_end/testcases/inference/conflicts_can_happen.dart'.
-// Change to a subtype of 'I1'.
-// get a => null;
-// ^
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:17:12: Context: This is the overridden method ('a').
-// final I1 a = null;
-// ^
-//
import self as self;
import "dart:core" as core;
@@ -79,14 +43,14 @@
synthetic constructor •() → self::C1
: super core::Object::•()
;
- get a() → dynamic
+ get a() → invalid-type
return null;
}
class C2 extends core::Object implements self::B, self::A {
synthetic constructor •() → self::C2
: super core::Object::•()
;
- get a() → dynamic
+ get a() → invalid-type
return null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.expect b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.expect
index e3d2868..7883099 100644
--- a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.expect
@@ -1,4 +1,12 @@
library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/conflicts_can_happen2.dart:34:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
+// Try adding an explicit type.
+// get a => null;
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -44,7 +52,7 @@
synthetic constructor •() → self::C2
: super core::Object::•()
;
- get a() → dynamic
+ get a() → invalid-type
return null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.transformed.expect
index e3d2868..7883099 100644
--- a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.transformed.expect
@@ -1,4 +1,12 @@
library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/conflicts_can_happen2.dart:34:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
+// Try adding an explicit type.
+// get a => null;
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -44,7 +52,7 @@
synthetic constructor •() → self::C2
: super core::Object::•()
;
- get a() → dynamic
+ get a() → invalid-type
return null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.strong.expect b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.strong.expect
index 411506a..7883099 100644
--- a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.strong.expect
@@ -2,29 +2,11 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference/conflicts_can_happen2.dart:34:7: Error: Can't infer a type for 'a' as some of the inherited members have different types.
+// pkg/front_end/testcases/inference/conflicts_can_happen2.dart:34:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
// Try adding an explicit type.
// get a => null;
// ^
//
-// pkg/front_end/testcases/inference/conflicts_can_happen2.dart:34:7: Error: The return type of the method 'C2.a' is 'dynamic', which does not match the return type, 'I1', of the overridden method, 'A.a'.
-// - 'I1' is from 'pkg/front_end/testcases/inference/conflicts_can_happen2.dart'.
-// Change to a subtype of 'I1'.
-// get a => null;
-// ^
-// pkg/front_end/testcases/inference/conflicts_can_happen2.dart:22:12: Context: This is the overridden method ('a').
-// final I1 a = null;
-// ^
-//
-// pkg/front_end/testcases/inference/conflicts_can_happen2.dart:34:7: Error: The return type of the method 'C2.a' is 'dynamic', which does not match the return type, 'I2', of the overridden method, 'B.a'.
-// - 'I2' is from 'pkg/front_end/testcases/inference/conflicts_can_happen2.dart'.
-// Change to a subtype of 'I2'.
-// get a => null;
-// ^
-// pkg/front_end/testcases/inference/conflicts_can_happen2.dart:26:12: Context: This is the overridden method ('a').
-// final I2 a = null;
-// ^
-//
import self as self;
import "dart:core" as core;
@@ -70,7 +52,7 @@
synthetic constructor •() → self::C2
: super core::Object::•()
;
- get a() → dynamic
+ get a() → invalid-type
return null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.expect
index 9a63601..ebc33e7 100644
--- a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.expect
@@ -9,7 +9,7 @@
abstract get foo() → core::Iterable<core::String>;
}
class B extends core::Object implements self::A {
- final field dynamic foo = const <dynamic>[];
+ final field core::Iterable<core::String> foo = const <dynamic>[];
synthetic constructor •() → self::B
: super core::Object::•()
;
diff --git a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.transformed.expect
index 9a63601..ebc33e7 100644
--- a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.transformed.expect
@@ -9,7 +9,7 @@
abstract get foo() → core::Iterable<core::String>;
}
class B extends core::Object implements self::A {
- final field dynamic foo = const <dynamic>[];
+ final field core::Iterable<core::String> foo = const <dynamic>[];
synthetic constructor •() → self::B
: super core::Object::•()
;
diff --git a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.outline.expect
index 65ee9d5..945a5e0 100644
--- a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.outline.expect
@@ -8,7 +8,7 @@
abstract get foo() → core::Iterable<core::String>;
}
class B extends core::Object implements self::A {
- final field dynamic foo;
+ final field core::Iterable<core::String> foo;
synthetic constructor •() → self::B
;
}
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.expect b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.expect
index d1361ce..a97723a 100644
--- a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
class C extends core::Object implements self::B {
- final field dynamic x;
+ final field core::int x;
constructor •() → self::C
: self::C::x = self::f<dynamic>(), super core::Object::•()
;
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.transformed.expect
index d1361ce..a97723a 100644
--- a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.transformed.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
class C extends core::Object implements self::B {
- final field dynamic x;
+ final field core::int x;
constructor •() → self::C
: self::C::x = self::f<dynamic>(), super core::Object::•()
;
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.outline.expect b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.outline.expect
index e84a002..eda87a3 100644
--- a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.outline.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
class C extends core::Object implements self::B {
- final field dynamic x;
+ final field core::int x;
constructor •() → self::C
;
}
diff --git a/pkg/front_end/testcases/inference/future_then.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then.dart.legacy.expect
index 88b6639..7126780 100644
--- a/pkg/front_end/testcases/inference/future_then.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then.dart.legacy.transformed.expect
index 4f440e2..0e46318 100644
--- a/pkg/front_end/testcases/inference/future_then.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then.dart.outline.expect b/pkg/front_end/testcases/inference/future_then.dart.outline.expect
index 18f6651..6c0b0d6 100644
--- a/pkg/front_end/testcases/inference/future_then.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_2.dart.legacy.expect
index a91d75e..c555879 100644
--- a/pkg/front_end/testcases/inference/future_then_2.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_2.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_2.dart.legacy.transformed.expect
index 6538f9e..63c4c5c 100644
--- a/pkg/front_end/testcases/inference/future_then_2.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_2.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_2.dart.outline.expect
index 18f6651..6c0b0d6 100644
--- a/pkg/front_end/testcases/inference/future_then_2.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_2.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_3.dart.legacy.expect
index 2a3484c..075602a 100644
--- a/pkg/front_end/testcases/inference/future_then_3.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_3.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_3.dart.legacy.transformed.expect
index 346e77b8..895ce5a 100644
--- a/pkg/front_end/testcases/inference/future_then_3.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_3.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_3.dart.outline.expect
index 18f6651..6c0b0d6 100644
--- a/pkg/front_end/testcases/inference/future_then_3.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_3.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_4.dart.legacy.expect
index c7d577e..8a393fd 100644
--- a/pkg/front_end/testcases/inference/future_then_4.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_4.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_4.dart.legacy.transformed.expect
index c90b143..98c8918 100644
--- a/pkg/front_end/testcases/inference/future_then_4.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_4.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_4.dart.outline.expect
index 18f6651..6c0b0d6 100644
--- a/pkg/front_end/testcases/inference/future_then_4.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_4.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_5.dart.legacy.expect
index 141e3e7..58d742b 100644
--- a/pkg/front_end/testcases/inference/future_then_5.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_5.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_5.dart.legacy.transformed.expect
index 33b2911..5d553da 100644
--- a/pkg/front_end/testcases/inference/future_then_5.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_5.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_5.dart.outline.expect
index 18f6651..6c0b0d6 100644
--- a/pkg/front_end/testcases/inference/future_then_5.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_5.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_6.dart.legacy.expect
index cc6a439..0cc6848 100644
--- a/pkg/front_end/testcases/inference/future_then_6.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_6.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_6.dart.legacy.transformed.expect
index 9ad93e8..6d284e6 100644
--- a/pkg/front_end/testcases/inference/future_then_6.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_6.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_6.dart.outline.expect
index 18f6651..6c0b0d6 100644
--- a/pkg/front_end/testcases/inference/future_then_6.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_6.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.expect
index 579d81d..d16fb57 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.transformed.expect
index 1ae82f7..37a9eaf 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.outline.expect
index 18f6651..6c0b0d6 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.expect
index 3fbb4f7..b5e3e79 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.transformed.expect
index 9b1db02..e3526c6 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.outline.expect
index 18f6651..6c0b0d6 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.expect
index a38c5ae..dc6b8a1 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.transformed.expect
index 364a78a..8031722 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.outline.expect
index 18f6651..6c0b0d6 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.expect
index 189b93e..ac112f8 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.transformed.expect
index 4a5e294..0ebe142 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.outline.expect
index 18f6651..6c0b0d6 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.expect
index 8b21e2e..f359eff 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.transformed.expect
index e5e7c73..d73e7d4 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.outline.expect
index 18f6651..6c0b0d6 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.expect
index d4392fe..6231476 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.transformed.expect
index fecb72e..b10c087 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.outline.expect
index 18f6651..6c0b0d6 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.expect
index 985e5ba..211f9f3 100644
--- a/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.transformed.expect
index f3c12bb..a55a43b 100644
--- a/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.outline.expect
index 18f6651..6c0b0d6 100644
--- a/pkg/front_end/testcases/inference/future_then_ifNull.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_ifNull.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.expect
index c454264..c131aa9 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.transformed.expect
index c454264..c131aa9 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.outline.expect
index e5a534c..68201b4 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.expect
index 4c532cc..b418fd7 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.transformed.expect
index 4c532cc..b418fd7 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.outline.expect
index e5a534c..68201b4 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.expect
index 86abe95..93fd95b 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.transformed.expect
index 86abe95..93fd95b 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.outline.expect
index 9162c9b..a644d90 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(self::MyFuture::T x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.expect
index aed7501..f9b1dde 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(dynamic x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.transformed.expect
index 7697712..24f847d 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(dynamic x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.outline.expect
index e80eb43..3e05a12 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(dynamic x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.expect
index b3989b2..85cc477 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(dynamic x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.transformed.expect
index 8c463d9..7395c33 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value(dynamic x) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.outline.expect
index e80eb43..3e05a12 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value(dynamic x) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.expect
index c309ae6..3e9e23f 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value([dynamic x = null]) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.transformed.expect
index 5fb66a8..86df2a1 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value([dynamic x = null]) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.outline.expect
index 263a94f..6fbd438 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value([dynamic x]) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.expect
index a89b874..1f70652 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value([dynamic x = null]) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.transformed.expect
index ec5724d..1afd6d8 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value([dynamic x = null]) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.outline.expect
index 263a94f..6fbd438 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value([dynamic x]) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.expect
index 9b07131..51e5fde 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value([dynamic x = null]) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.transformed.expect
index a3884a8..ec3fde4 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value([dynamic x = null]) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.outline.expect
index da18d4d..2d1e70e 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value([dynamic x]) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.expect
index b27e6d9..ab6a0d3 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value([dynamic x = null]) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.transformed.expect
index ca29563..7fc5179 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•() {}
constructor value([dynamic x = null]) → self::MyFuture<self::MyFuture::T>
: super core::Object::•() {}
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError = null}) → self::MyFuture<self::MyFuture::then::S>
return null;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.outline.expect
index da18d4d..2d1e70e 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.outline.expect
@@ -10,7 +10,7 @@
;
constructor value([dynamic x]) → self::MyFuture<self::MyFuture::T>
;
- method noSuchMethod(dynamic invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
method then<S extends core::Object = dynamic>((self::MyFuture::T) → asy::FutureOr<self::MyFuture::then::S> f, {core::Function onError}) → self::MyFuture<self::MyFuture::then::S>
;
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.expect
index 1f86d32..b9c4222 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.expect
@@ -7,7 +7,7 @@
synthetic constructor •() → self::C<self::C::T>
: super self::D::•()
;
- method f<U extends core::Object = dynamic>(dynamic x) → dynamic {}
+ method f<U extends core::Object = dynamic>(self::C::f::U x) → (self::C::f::U) → void {}
}
class D<T extends core::Object = dynamic> extends core::Object {
synthetic constructor •() → self::D<self::D::T>
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.transformed.expect
index 1f86d32..b9c4222 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.transformed.expect
@@ -7,7 +7,7 @@
synthetic constructor •() → self::C<self::C::T>
: super self::D::•()
;
- method f<U extends core::Object = dynamic>(dynamic x) → dynamic {}
+ method f<U extends core::Object = dynamic>(self::C::f::U x) → (self::C::f::U) → void {}
}
class D<T extends core::Object = dynamic> extends core::Object {
synthetic constructor •() → self::D<self::D::T>
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.expect
index 08648c6..c1d63d6 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.expect
@@ -7,7 +7,7 @@
synthetic constructor •() → self::C<self::C::T>
: super self::D::•()
;
- method f<U extends core::Object = dynamic>(dynamic g) → dynamic
+ method f<U extends core::Object = dynamic>(() → core::List<self::C::f::U> g) → void
return null;
}
abstract class D<T extends core::Object = dynamic> extends core::Object {
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.transformed.expect
index 08648c6..c1d63d6 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.transformed.expect
@@ -7,7 +7,7 @@
synthetic constructor •() → self::C<self::C::T>
: super self::D::•()
;
- method f<U extends core::Object = dynamic>(dynamic g) → dynamic
+ method f<U extends core::Object = dynamic>(() → core::List<self::C::f::U> g) → void
return null;
}
abstract class D<T extends core::Object = dynamic> extends core::Object {
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.expect
index 57033a4..c9c76f5 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.expect
@@ -7,7 +7,7 @@
synthetic constructor •() → self::C<self::C::T>
: super self::D::•()
;
- method f<U extends core::Object = dynamic>(dynamic x) → dynamic {}
+ method f<U extends core::Object = dynamic>(self::C::f::U x) → () → self::C::f::U {}
}
class D<T extends core::Object = dynamic> extends core::Object {
synthetic constructor •() → self::D<self::D::T>
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.transformed.expect
index 57033a4..c9c76f5 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.transformed.expect
@@ -7,7 +7,7 @@
synthetic constructor •() → self::C<self::C::T>
: super self::D::•()
;
- method f<U extends core::Object = dynamic>(dynamic x) → dynamic {}
+ method f<U extends core::Object = dynamic>(self::C::f::U x) → () → self::C::f::U {}
}
class D<T extends core::Object = dynamic> extends core::Object {
synthetic constructor •() → self::D<self::D::T>
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.expect
index 29528fb..0500661 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.expect
@@ -13,7 +13,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- method m<S extends core::Object = dynamic>(dynamic x) → dynamic
+ method m<S extends core::Object = dynamic>(self::D::m::S x) → self::D::m::S
return x;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.transformed.expect
index 29528fb..0500661 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.transformed.expect
@@ -13,7 +13,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- method m<S extends core::Object = dynamic>(dynamic x) → dynamic
+ method m<S extends core::Object = dynamic>(self::D::m::S x) → self::D::m::S
return x;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.hierarchy.expect
new file mode 100644
index 0000000..ad5bb3a
--- /dev/null
+++ b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.hierarchy.expect
@@ -0,0 +1,95 @@
+Object:
+ superclasses:
+ interfaces:
+ classMembers:
+ Object._haveSameRuntimeType
+ Object.toString
+ Object.runtimeType
+ Object._toString
+ Object._simpleInstanceOf
+ Object._hashCodeRnd
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._objectHashCode
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+
+A:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ A.f
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ A.h
+ Object.hashCode
+ A.g
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+
+I:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ I.f
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ I.h
+ Object.hashCode
+ I.g
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+
+B:
+ superclasses:
+ Object
+ -> A
+ interfaces: I
+ classMembers:
+ B.f
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ B.h
+ Object.hashCode
+ B.g
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ interfaceMembers:
+ B.f
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ B.h
+ Object.hashCode
+ B.g
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.legacy.expect b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.legacy.expect
new file mode 100644
index 0000000..d8b5742
--- /dev/null
+++ b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.legacy.expect
@@ -0,0 +1,62 @@
+library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:3: Error: Can't infer a return type for 'f' as some of the inherited members have different types.
+// Try adding an explicit type.
+// f(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:5: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// f(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// f(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:18:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// h(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:17:5: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// g(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:17:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// g(x, {y}) {}
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+ method f(self::A x, {self::A y = null}) → self::A {}
+ method g(self::A x, {self::A y = null}) → self::A {}
+ method h(self::A x, {self::A y = null}) → self::A {}
+}
+class B extends self::A implements self::I {
+ synthetic constructor •() → self::B
+ : super self::A::•()
+ ;
+ method f(invalid-type x, {invalid-type y = null}) → invalid-type {}
+ method g(invalid-type x, {invalid-type y = null}) → self::A {}
+ method h(self::A x, {invalid-type y = null}) → self::A {}
+}
+class I extends core::Object {
+ synthetic constructor •() → self::I
+ : super core::Object::•()
+ ;
+ method f(self::I x, {self::I y = null}) → self::I {}
+ method g(self::I x, {self::I y = null}) → self::A {}
+ method h(self::A x, {self::I y = null}) → self::A {}
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.legacy.transformed.expect
new file mode 100644
index 0000000..d8b5742
--- /dev/null
+++ b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.legacy.transformed.expect
@@ -0,0 +1,62 @@
+library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:3: Error: Can't infer a return type for 'f' as some of the inherited members have different types.
+// Try adding an explicit type.
+// f(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:5: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// f(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// f(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:18:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// h(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:17:5: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// g(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:17:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// g(x, {y}) {}
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+ method f(self::A x, {self::A y = null}) → self::A {}
+ method g(self::A x, {self::A y = null}) → self::A {}
+ method h(self::A x, {self::A y = null}) → self::A {}
+}
+class B extends self::A implements self::I {
+ synthetic constructor •() → self::B
+ : super self::A::•()
+ ;
+ method f(invalid-type x, {invalid-type y = null}) → invalid-type {}
+ method g(invalid-type x, {invalid-type y = null}) → self::A {}
+ method h(self::A x, {invalid-type y = null}) → self::A {}
+}
+class I extends core::Object {
+ synthetic constructor •() → self::I
+ : super core::Object::•()
+ ;
+ method f(self::I x, {self::I y = null}) → self::I {}
+ method g(self::I x, {self::I y = null}) → self::A {}
+ method h(self::A x, {self::I y = null}) → self::A {}
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.outline.expect b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.outline.expect
new file mode 100644
index 0000000..26eafa0
--- /dev/null
+++ b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.outline.expect
@@ -0,0 +1,69 @@
+library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:3: Error: Can't infer a return type for 'f' as some of the inherited members have different types.
+// Try adding an explicit type.
+// f(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:5: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// f(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// f(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:18:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// h(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:17:5: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// g(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:17:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// g(x, {y}) {}
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ synthetic constructor •() → self::A
+ ;
+ method f(self::A x, {self::A y}) → self::A
+ ;
+ method g(self::A x, {self::A y}) → self::A
+ ;
+ method h(self::A x, {self::A y}) → self::A
+ ;
+}
+class B extends self::A implements self::I {
+ synthetic constructor •() → self::B
+ ;
+ method f(invalid-type x, {invalid-type y}) → invalid-type
+ ;
+ method g(invalid-type x, {invalid-type y}) → self::A
+ ;
+ method h(self::A x, {invalid-type y}) → self::A
+ ;
+}
+class I extends core::Object {
+ synthetic constructor •() → self::I
+ ;
+ method f(self::I x, {self::I y}) → self::I
+ ;
+ method g(self::I x, {self::I y}) → self::A
+ ;
+ method h(self::A x, {self::I y}) → self::A
+ ;
+}
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.strong.expect b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.strong.expect
new file mode 100644
index 0000000..d8b5742
--- /dev/null
+++ b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.strong.expect
@@ -0,0 +1,62 @@
+library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:3: Error: Can't infer a return type for 'f' as some of the inherited members have different types.
+// Try adding an explicit type.
+// f(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:5: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// f(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// f(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:18:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// h(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:17:5: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// g(x, {y}) {}
+// ^
+//
+// pkg/front_end/testcases/inference/inconsistent_overrides.dart:17:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// g(x, {y}) {}
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+ method f(self::A x, {self::A y = null}) → self::A {}
+ method g(self::A x, {self::A y = null}) → self::A {}
+ method h(self::A x, {self::A y = null}) → self::A {}
+}
+class B extends self::A implements self::I {
+ synthetic constructor •() → self::B
+ : super self::A::•()
+ ;
+ method f(invalid-type x, {invalid-type y = null}) → invalid-type {}
+ method g(invalid-type x, {invalid-type y = null}) → self::A {}
+ method h(self::A x, {invalid-type y = null}) → self::A {}
+}
+class I extends core::Object {
+ synthetic constructor •() → self::I
+ : super core::Object::•()
+ ;
+ method f(self::I x, {self::I y = null}) → self::I {}
+ method g(self::I x, {self::I y = null}) → self::A {}
+ method h(self::A x, {self::I y = null}) → self::A {}
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.expect
index b9f3f55..ba7aef9 100644
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.expect
@@ -18,6 +18,6 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- operator []=(dynamic index, dynamic value) → dynamic {}
+ operator []=(dynamic index, dynamic value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.transformed.expect
index b9f3f55..ba7aef9 100644
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.transformed.expect
@@ -18,6 +18,6 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- operator []=(dynamic index, dynamic value) → dynamic {}
+ operator []=(dynamic index, dynamic value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.outline.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.outline.expect
index 431131a..ef008c4 100644
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.outline.expect
@@ -17,7 +17,7 @@
class D extends self::C implements self::I {
synthetic constructor •() → self::D
;
- operator []=(dynamic index, dynamic value) → dynamic
+ operator []=(dynamic index, dynamic value) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.expect
index 5ffc002..587faf3 100644
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.expect
@@ -18,6 +18,6 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- operator []=(core::int index, dynamic value) → dynamic {}
+ operator []=(core::int index, dynamic value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.transformed.expect
index 5ffc002..587faf3 100644
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.transformed.expect
@@ -18,6 +18,6 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- operator []=(core::int index, dynamic value) → dynamic {}
+ operator []=(core::int index, dynamic value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.outline.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.outline.expect
index e1dc0dc..68f38e5 100644
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.outline.expect
@@ -17,7 +17,7 @@
class D extends self::C implements self::I {
synthetic constructor •() → self::D
;
- operator []=(core::int index, dynamic value) → dynamic
+ operator []=(core::int index, dynamic value) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.expect
index 6657368..4b35f0e 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
class A extends core::Object implements self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::A
: super core::Object::•()
;
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract get x() → dynamic;
+ abstract get x() → core::int;
}
abstract class C extends core::Object {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.transformed.expect
index 6657368..4b35f0e 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.transformed.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
class A extends core::Object implements self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::A
: super core::Object::•()
;
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract get x() → dynamic;
+ abstract get x() → core::int;
}
abstract class C extends core::Object {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.outline.expect
index 41317cd..b7b8fe3 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.outline.expect
@@ -3,14 +3,14 @@
import "dart:core" as core;
class A extends core::Object implements self::B {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::A
;
}
abstract class B extends core::Object implements self::C {
synthetic constructor •() → self::B
;
- abstract get x() → dynamic;
+ abstract get x() → core::int;
}
abstract class C extends core::Object {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.expect
index 67fa407..94de153 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
class A extends core::Object implements self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::A
: super core::Object::•()
;
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract set x(dynamic value) → void;
+ abstract set x(core::int value) → void;
}
abstract class C extends core::Object {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.transformed.expect
index 67fa407..94de153 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.transformed.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
class A extends core::Object implements self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::A
: super core::Object::•()
;
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract set x(dynamic value) → void;
+ abstract set x(core::int value) → void;
}
abstract class C extends core::Object {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.outline.expect
index 9de155a..25d6786 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.outline.expect
@@ -3,14 +3,14 @@
import "dart:core" as core;
class A extends core::Object implements self::B {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::A
;
}
abstract class B extends core::Object implements self::C {
synthetic constructor •() → self::B
;
- abstract set x(dynamic value) → void;
+ abstract set x(core::int value) → void;
}
abstract class C extends core::Object {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.expect
index 34995f9..b67d77f 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.expect
@@ -1,4 +1,22 @@
library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:32:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
+// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:36:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
+// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:40:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -27,25 +45,25 @@
abstract get x() → core::double;
}
class E extends self::A implements self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::E
: super self::A::•()
;
}
class F extends self::A implements self::C {
- field dynamic x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::F
: super self::A::•()
;
}
class G extends self::A implements self::D {
- field dynamic x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::G
: super self::A::•()
;
}
class H extends self::C implements self::D {
- field dynamic x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::H
: super self::C::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.transformed.expect
index 34995f9..b67d77f 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.transformed.expect
@@ -1,4 +1,22 @@
library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:32:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
+// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:36:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
+// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:40:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -27,25 +45,25 @@
abstract get x() → core::double;
}
class E extends self::A implements self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::E
: super self::A::•()
;
}
class F extends self::A implements self::C {
- field dynamic x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::F
: super self::A::•()
;
}
class G extends self::A implements self::D {
- field dynamic x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::G
: super self::A::•()
;
}
class H extends self::C implements self::D {
- field dynamic x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::H
: super self::C::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.outline.expect
index c55fa65..ac7a863 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.outline.expect
@@ -1,4 +1,22 @@
library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:32:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
+// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:36:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
+// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:40:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -23,22 +41,22 @@
abstract get x() → core::double;
}
class E extends self::A implements self::B {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::E
;
}
class F extends self::A implements self::C {
- field dynamic x;
+ field invalid-type x;
synthetic constructor •() → self::F
;
}
class G extends self::A implements self::D {
- field dynamic x;
+ field invalid-type x;
synthetic constructor •() → self::G
;
}
class H extends self::C implements self::D {
- field dynamic x;
+ field invalid-type x;
synthetic constructor •() → self::H
;
}
diff --git a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.strong.expect b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.strong.expect
index c24c0bb..b67d77f 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.strong.expect
@@ -17,54 +17,6 @@
// var x;
// ^
//
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:32:7: Error: The return type of the method 'F.x' is 'dynamic', which does not match the return type, 'int', of the overridden method, 'A.x'.
-// Change to a subtype of 'int'.
-// var x;
-// ^
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:9:11: Context: This is the overridden method ('x').
-// int get x;
-// ^
-//
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:32:7: Error: The return type of the method 'F.x' is 'dynamic', which does not match the return type, 'num', of the overridden method, 'C.x'.
-// Change to a subtype of 'num'.
-// var x;
-// ^
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:17:11: Context: This is the overridden method ('x').
-// num get x;
-// ^
-//
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:36:7: Error: The return type of the method 'G.x' is 'dynamic', which does not match the return type, 'int', of the overridden method, 'A.x'.
-// Change to a subtype of 'int'.
-// var x;
-// ^
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:9:11: Context: This is the overridden method ('x').
-// int get x;
-// ^
-//
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:36:7: Error: The return type of the method 'G.x' is 'dynamic', which does not match the return type, 'double', of the overridden method, 'D.x'.
-// Change to a subtype of 'double'.
-// var x;
-// ^
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:21:14: Context: This is the overridden method ('x').
-// double get x;
-// ^
-//
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:40:7: Error: The return type of the method 'H.x' is 'dynamic', which does not match the return type, 'num', of the overridden method, 'C.x'.
-// Change to a subtype of 'num'.
-// var x;
-// ^
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:17:11: Context: This is the overridden method ('x').
-// num get x;
-// ^
-//
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:40:7: Error: The return type of the method 'H.x' is 'dynamic', which does not match the return type, 'double', of the overridden method, 'D.x'.
-// Change to a subtype of 'double'.
-// var x;
-// ^
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:21:14: Context: This is the overridden method ('x').
-// double get x;
-// ^
-//
import self as self;
import "dart:core" as core;
@@ -99,19 +51,19 @@
;
}
class F extends self::A implements self::C {
- field dynamic x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::F
: super self::A::•()
;
}
class G extends self::A implements self::D {
- field dynamic x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::G
: super self::A::•()
;
}
class H extends self::C implements self::D {
- field dynamic x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::H
: super self::C::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.expect
index 651b972..f9b40cd 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.expect
@@ -15,7 +15,7 @@
abstract get x() → core::int;
}
class C extends self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::C
: super self::B::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.transformed.expect
index 651b972..f9b40cd 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.transformed.expect
@@ -15,7 +15,7 @@
abstract get x() → core::int;
}
class C extends self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::C
: super self::B::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.outline.expect
index 07bf8f9..f76fc3b 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.outline.expect
@@ -13,7 +13,7 @@
abstract get x() → core::int;
}
class C extends self::B {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::C
;
}
diff --git a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.expect
index 6e31b6d..c395f30 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.expect
@@ -11,9 +11,9 @@
abstract set y(generic-covariant-impl core::List<self::A::T> value) → void;
}
class B extends self::A<core::int> {
- field dynamic x = null;
- field dynamic y = null;
- field dynamic z = null;
+ field core::List<core::int> x = null;
+ generic-covariant-impl field core::List<core::int> y = null;
+ generic-covariant-impl field core::List<core::int> z = null;
synthetic constructor •() → self::B
: super self::A::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.transformed.expect
index 6e31b6d..c395f30 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.transformed.expect
@@ -11,9 +11,9 @@
abstract set y(generic-covariant-impl core::List<self::A::T> value) → void;
}
class B extends self::A<core::int> {
- field dynamic x = null;
- field dynamic y = null;
- field dynamic z = null;
+ field core::List<core::int> x = null;
+ generic-covariant-impl field core::List<core::int> y = null;
+ generic-covariant-impl field core::List<core::int> z = null;
synthetic constructor •() → self::B
: super self::A::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.outline.expect
index 2fc6225..711058e 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.outline.expect
@@ -10,9 +10,9 @@
abstract set y(generic-covariant-impl core::List<self::A::T> value) → void;
}
class B extends self::A<core::int> {
- field dynamic x;
- field dynamic y;
- field dynamic z;
+ field core::List<core::int> x;
+ generic-covariant-impl field core::List<core::int> y;
+ generic-covariant-impl field core::List<core::int> z;
synthetic constructor •() → self::B
;
}
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.expect
index 72b90ee..9f9de47 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.expect
@@ -16,25 +16,25 @@
return 0;
}
class C extends self::A {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::C
: super self::A::•()
;
}
class D extends self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::D
: super self::B::•()
;
}
class E extends core::Object implements self::A {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::E
: super core::Object::•()
;
}
class F extends core::Object implements self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::F
: super core::Object::•()
;
@@ -45,7 +45,7 @@
;
}
class G extends self::_G&Object&B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::G
: super self::_G&Object&B::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.transformed.expect
index 31c9fee..9f7817b 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.transformed.expect
@@ -16,25 +16,25 @@
return 0;
}
class C extends self::A {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::C
: super self::A::•()
;
}
class D extends self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::D
: super self::B::•()
;
}
class E extends core::Object implements self::A {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::E
: super core::Object::•()
;
}
class F extends core::Object implements self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::F
: super core::Object::•()
;
@@ -47,7 +47,7 @@
return 0;
}
class G extends self::_G&Object&B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::G
: super self::_G&Object&B::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.outline.expect
index b627b29..99e2051 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.outline.expect
@@ -14,22 +14,22 @@
;
}
class C extends self::A {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::C
;
}
class D extends self::B {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::D
;
}
class E extends core::Object implements self::A {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::E
;
}
class F extends core::Object implements self::B {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::F
;
}
@@ -39,7 +39,7 @@
;
}
class G extends self::_G&Object&B {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::G
;
}
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.expect
index 8baaa28..3c16ce0 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.expect
@@ -15,25 +15,25 @@
set x(core::int value) → void {}
}
class C extends self::A {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::C
: super self::A::•()
;
}
class D extends self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::D
: super self::B::•()
;
}
class E extends core::Object implements self::A {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::E
: super core::Object::•()
;
}
class F extends core::Object implements self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::F
: super core::Object::•()
;
@@ -44,7 +44,7 @@
;
}
class G extends self::_G&Object&B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::G
: super self::_G&Object&B::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.transformed.expect
index 1a36773..e3da27e 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.transformed.expect
@@ -15,25 +15,25 @@
set x(core::int value) → void {}
}
class C extends self::A {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::C
: super self::A::•()
;
}
class D extends self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::D
: super self::B::•()
;
}
class E extends core::Object implements self::A {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::E
: super core::Object::•()
;
}
class F extends core::Object implements self::B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::F
: super core::Object::•()
;
@@ -45,7 +45,7 @@
set x(core::int value) → void {}
}
class G extends self::_G&Object&B {
- field dynamic x = null;
+ field core::int x = null;
synthetic constructor •() → self::G
: super self::_G&Object&B::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.outline.expect
index 02e0c2b..0ce880d 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.outline.expect
@@ -14,22 +14,22 @@
;
}
class C extends self::A {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::C
;
}
class D extends self::B {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::D
;
}
class E extends core::Object implements self::A {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::E
;
}
class F extends core::Object implements self::B {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::F
;
}
@@ -39,7 +39,7 @@
;
}
class G extends self::_G&Object&B {
- field dynamic x;
+ field core::int x;
synthetic constructor •() → self::G
;
}
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.expect
index 18097da..e03bb9e 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.expect
@@ -10,7 +10,7 @@
set x(core::double value) → void {}
}
class B extends self::A {
- final field dynamic x;
+ final field core::int x;
constructor •(dynamic x) → self::B
: self::B::x = x, super self::A::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.transformed.expect
index 18097da..e03bb9e 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.transformed.expect
@@ -10,7 +10,7 @@
set x(core::double value) → void {}
}
class B extends self::A {
- final field dynamic x;
+ final field core::int x;
constructor •(dynamic x) → self::B
: self::B::x = x, super self::A::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.outline.expect
index 96dbb50..4709de3 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.outline.expect
@@ -10,7 +10,7 @@
;
}
class B extends self::A {
- final field dynamic x;
+ final field core::int x;
constructor •(dynamic x) → self::B
;
}
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.expect
index 28bd84b..7dea358 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.expect
@@ -9,7 +9,7 @@
abstract get x() → core::int;
}
class B extends self::A {
- final field dynamic x;
+ final field core::int x;
constructor •(dynamic x) → self::B
: self::B::x = x, super self::A::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.transformed.expect
index 28bd84b..7dea358 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.transformed.expect
@@ -9,7 +9,7 @@
abstract get x() → core::int;
}
class B extends self::A {
- final field dynamic x;
+ final field core::int x;
constructor •(dynamic x) → self::B
: self::B::x = x, super self::A::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.outline.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.outline.expect
index 11b26c0..5e18eaa 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.outline.expect
@@ -8,7 +8,7 @@
abstract get x() → core::int;
}
class B extends self::A {
- final field dynamic x;
+ final field core::int x;
constructor •(dynamic x) → self::B
;
}
diff --git a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.expect
index d9bfe67..148028f 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.expect
@@ -9,7 +9,7 @@
set x(core::double value) → void {}
}
class B extends self::A {
- final field dynamic x;
+ final field core::double x;
constructor •(dynamic x) → self::B
: self::B::x = x, super self::A::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.transformed.expect
index d9bfe67..148028f 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.transformed.expect
@@ -9,7 +9,7 @@
set x(core::double value) → void {}
}
class B extends self::A {
- final field dynamic x;
+ final field core::double x;
constructor •(dynamic x) → self::B
: self::B::x = x, super self::A::•()
;
diff --git a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.outline.expect b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.outline.expect
index b2085f3..b0206ee 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.outline.expect
@@ -9,7 +9,7 @@
;
}
class B extends self::A {
- final field dynamic x;
+ final field core::double x;
constructor •(dynamic x) → self::B
;
}
diff --git a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.expect
index 3d410db..1bb410b 100644
--- a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.expect
@@ -12,6 +12,6 @@
synthetic constructor •() → self::B
: super self::A::•()
;
- abstract get x() → dynamic;
+ abstract get x() → core::double;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.transformed.expect
index 3d410db..1bb410b 100644
--- a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.transformed.expect
@@ -12,6 +12,6 @@
synthetic constructor •() → self::B
: super self::A::•()
;
- abstract get x() → dynamic;
+ abstract get x() → core::double;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.outline.expect
index 35c511d..83d3f12 100644
--- a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.outline.expect
@@ -10,7 +10,7 @@
abstract class B extends self::A {
synthetic constructor •() → self::B
;
- abstract get x() → dynamic;
+ abstract get x() → core::double;
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.expect
index 69eff1f1..62a80b3 100644
--- a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.expect
@@ -6,14 +6,14 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- get x() → dynamic
+ get x() → core::int
return self::f();
}
abstract class B extends core::Object implements self::C {
synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract get x() → dynamic;
+ abstract get x() → core::int;
}
abstract class C extends core::Object {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.transformed.expect
index 69eff1f1..62a80b3 100644
--- a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.transformed.expect
@@ -6,14 +6,14 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- get x() → dynamic
+ get x() → core::int
return self::f();
}
abstract class B extends core::Object implements self::C {
synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract get x() → dynamic;
+ abstract get x() → core::int;
}
abstract class C extends core::Object {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.outline.expect
index a346b2f..64fa771 100644
--- a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.outline.expect
@@ -5,13 +5,13 @@
class A extends core::Object implements self::B {
synthetic constructor •() → self::A
;
- get x() → dynamic
+ get x() → core::int
;
}
abstract class B extends core::Object implements self::C {
synthetic constructor •() → self::B
;
- abstract get x() → dynamic;
+ abstract get x() → core::int;
}
abstract class C extends core::Object {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.expect
index 5337a40..3c40a1e 100644
--- a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.expect
@@ -1,14 +1,4 @@
library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/infer_method_missing_params.dart:23:3: Warning: The method 'C.f' has more required arguments than those of overridden method 'B.f'.
-// f(x, y);
-// ^
-// pkg/front_end/testcases/inference/infer_method_missing_params.dart:17:7: Context: This is the overridden method ('f').
-// int f(int x);
-// ^
-//
import self as self;
import "dart:core" as core;
@@ -32,8 +22,8 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
- abstract method f(dynamic x, dynamic y) → dynamic;
- abstract method g(dynamic x, [dynamic y = null]) → dynamic;
- abstract method h(dynamic x, {dynamic y = null}) → dynamic;
+ abstract method f(core::int x, core::int y) → core::int;
+ abstract method g(core::int x, [core::int y = null]) → core::int;
+ abstract method h(core::int x, {core::int y = null}) → core::int;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.transformed.expect
index 5337a40..3c40a1e 100644
--- a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.transformed.expect
@@ -1,14 +1,4 @@
library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/infer_method_missing_params.dart:23:3: Warning: The method 'C.f' has more required arguments than those of overridden method 'B.f'.
-// f(x, y);
-// ^
-// pkg/front_end/testcases/inference/infer_method_missing_params.dart:17:7: Context: This is the overridden method ('f').
-// int f(int x);
-// ^
-//
import self as self;
import "dart:core" as core;
@@ -32,8 +22,8 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
- abstract method f(dynamic x, dynamic y) → dynamic;
- abstract method g(dynamic x, [dynamic y = null]) → dynamic;
- abstract method h(dynamic x, {dynamic y = null}) → dynamic;
+ abstract method f(core::int x, core::int y) → core::int;
+ abstract method g(core::int x, [core::int y = null]) → core::int;
+ abstract method h(core::int x, {core::int y = null}) → core::int;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.outline.expect b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.outline.expect
index 0ae3513..332234b 100644
--- a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.outline.expect
@@ -1,14 +1,4 @@
library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/infer_method_missing_params.dart:23:3: Warning: The method 'C.f' has more required arguments than those of overridden method 'B.f'.
-// f(x, y);
-// ^
-// pkg/front_end/testcases/inference/infer_method_missing_params.dart:17:7: Context: This is the overridden method ('f').
-// int f(int x);
-// ^
-//
import self as self;
import "dart:core" as core;
@@ -29,9 +19,9 @@
abstract class C extends core::Object implements self::A, self::B {
synthetic constructor •() → self::C
;
- abstract method f(dynamic x, dynamic y) → dynamic;
- abstract method g(dynamic x, [dynamic y]) → dynamic;
- abstract method h(dynamic x, {dynamic y}) → dynamic;
+ abstract method f(core::int x, core::int y) → core::int;
+ abstract method g(core::int x, [core::int y]) → core::int;
+ abstract method h(core::int x, {core::int y}) → core::int;
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.expect
index b4be5c0..1b88745 100644
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.expect
@@ -6,7 +6,7 @@
synthetic constructor •() → self::C
: super self::D::•()
;
- set foo(dynamic x) → dynamic {}
+ set foo(core::int x) → void {}
}
class D extends core::Object {
field core::int foo = null;
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.transformed.expect
index b4be5c0..1b88745 100644
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.transformed.expect
@@ -6,7 +6,7 @@
synthetic constructor •() → self::C
: super self::D::•()
;
- set foo(dynamic x) → dynamic {}
+ set foo(core::int x) → void {}
}
class D extends core::Object {
field core::int foo = null;
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.expect
index 6288aaf..688faaf 100644
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.expect
@@ -6,12 +6,12 @@
synthetic constructor •() → self::C
: super self::D::•()
;
- set foo(dynamic x) → dynamic {}
+ set foo(core::int x) → void {}
}
class D extends core::Object {
synthetic constructor •() → self::D
: super core::Object::•()
;
- set foo(core::int x) → dynamic {}
+ set foo(core::int x) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.transformed.expect
index 6288aaf..688faaf 100644
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.transformed.expect
@@ -6,12 +6,12 @@
synthetic constructor •() → self::C
: super self::D::•()
;
- set foo(dynamic x) → dynamic {}
+ set foo(core::int x) → void {}
}
class D extends core::Object {
synthetic constructor •() → self::D
: super core::Object::•()
;
- set foo(core::int x) → dynamic {}
+ set foo(core::int x) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.expect
index 24beb1d..6f68db4 100644
--- a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.expect
@@ -6,7 +6,7 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
- static set foo(core::int x) → dynamic {}
+ static set foo(core::int x) → void {}
}
-static set bar(core::int x) → dynamic {}
+static set bar(core::int x) → void {}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.transformed.expect
index 24beb1d..6f68db4 100644
--- a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.transformed.expect
@@ -6,7 +6,7 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
- static set foo(core::int x) → dynamic {}
+ static set foo(core::int x) → void {}
}
-static set bar(core::int x) → dynamic {}
+static set bar(core::int x) → void {}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.outline.expect
index e12c95b..42e1a1a 100644
--- a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.outline.expect
@@ -5,10 +5,10 @@
class C extends core::Object {
synthetic constructor •() → self::C
;
- static set foo(core::int x) → dynamic
+ static set foo(core::int x) → void
;
}
-static set bar(core::int x) → dynamic
+static set bar(core::int x) → void
;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.expect
index db7fb96..849953f 100644
--- a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.expect
@@ -12,6 +12,6 @@
synthetic constructor •() → self::B
: super self::A::•()
;
- abstract set x(dynamic value) → void;
+ abstract set x(core::double value) → void;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.transformed.expect
index db7fb96..849953f 100644
--- a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.transformed.expect
@@ -12,6 +12,6 @@
synthetic constructor •() → self::B
: super self::A::•()
;
- abstract set x(dynamic value) → void;
+ abstract set x(core::double value) → void;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.outline.expect
index e80537c..1d8285f 100644
--- a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.outline.expect
@@ -10,7 +10,7 @@
abstract class B extends self::A {
synthetic constructor •() → self::B
;
- abstract set x(dynamic value) → void;
+ abstract set x(core::double value) → void;
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.expect
index 0c5bffd..d58802b 100644
--- a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.expect
@@ -6,13 +6,13 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- set x(dynamic value) → void {}
+ set x(core::int value) → void {}
}
abstract class B extends core::Object implements self::C {
synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract set x(dynamic value) → void;
+ abstract set x(core::int value) → void;
}
abstract class C extends core::Object {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.transformed.expect
index 0c5bffd..d58802b 100644
--- a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.transformed.expect
@@ -6,13 +6,13 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- set x(dynamic value) → void {}
+ set x(core::int value) → void {}
}
abstract class B extends core::Object implements self::C {
synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract set x(dynamic value) → void;
+ abstract set x(core::int value) → void;
}
abstract class C extends core::Object {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.outline.expect
index 47cd14e..462e7c5 100644
--- a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.outline.expect
@@ -5,13 +5,13 @@
class A extends core::Object implements self::B {
synthetic constructor •() → self::A
;
- set x(dynamic value) → void
+ set x(core::int value) → void
;
}
abstract class B extends core::Object implements self::C {
synthetic constructor •() → self::B
;
- abstract set x(dynamic value) → void;
+ abstract set x(core::int value) → void;
}
abstract class C extends core::Object {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.expect
index a8e04fb..670abbd 100644
--- a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super self::A::•()
;
- set x(core::Object o) → dynamic {}
+ set x(core::Object o) → void {}
}
static method main() → dynamic {
new self::B::•().x = "hello";
diff --git a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.transformed.expect
index a8e04fb..670abbd 100644
--- a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.transformed.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super self::A::•()
;
- set x(core::Object o) → dynamic {}
+ set x(core::Object o) → void {}
}
static method main() → dynamic {
new self::B::•().x = "hello";
diff --git a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.outline.expect b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.outline.expect
index 4afa24f..2f2f40b 100644
--- a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.outline.expect
@@ -11,7 +11,7 @@
class B extends self::A {
synthetic constructor •() → self::B
;
- set x(core::Object o) → dynamic
+ set x(core::Object o) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.expect
index 26d089c..2f5e471 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super self::A::•()
;
- get x() → dynamic
+ get x() → core::int
return 3;
}
static method foo() → dynamic {
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.transformed.expect
index 26d089c..2f5e471 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.transformed.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super self::A::•()
;
- get x() → dynamic
+ get x() → core::int
return 3;
}
static method foo() → dynamic {
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.expect
index 1159f05..922bf72 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- get x() → dynamic
+ get x() → core::int
return 3;
}
static method foo() → dynamic {
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.transformed.expect
index 1159f05..922bf72 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.transformed.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- get x() → dynamic
+ get x() → core::int
return 3;
}
static method foo() → dynamic {
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.expect
index 707d09d..601e9bb 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.expect
@@ -9,7 +9,7 @@
synthetic constructor •() → self::C
: super inf::B::•()
;
- get x() → dynamic
+ get x() → core::int
return null;
}
class A extends core::Object {
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.transformed.expect
index 707d09d..601e9bb 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.transformed.expect
@@ -9,7 +9,7 @@
synthetic constructor •() → self::C
: super inf::B::•()
;
- get x() → dynamic
+ get x() → core::int
return null;
}
class A extends core::Object {
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.expect
index f32c8d5..0b1b2b0 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.expect
@@ -22,7 +22,7 @@
synthetic constructor •() → test::C
: super self::B::•()
;
- get x() → dynamic
+ get x() → core::int
return null;
}
class A extends core::Object {
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.transformed.expect
index f32c8d5..0b1b2b0 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.transformed.expect
@@ -22,7 +22,7 @@
synthetic constructor •() → test::C
: super self::B::•()
;
- get x() → dynamic
+ get x() → core::int
return null;
}
class A extends core::Object {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.expect
index 927f51d..0360763 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.expect
@@ -13,9 +13,9 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- get x() → dynamic
+ get x() → core::int
return 3;
- get w() → dynamic
+ get w() → core::int
return "hello";
}
static method foo() → dynamic {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.transformed.expect
index 927f51d..0360763 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.transformed.expect
@@ -13,9 +13,9 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- get x() → dynamic
+ get x() → core::int
return 3;
- get w() → dynamic
+ get w() → core::int
return "hello";
}
static method foo() → dynamic {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.expect
index 3c624e6..4f44d59 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.expect
@@ -13,7 +13,7 @@
synthetic constructor •() → self::B<self::B::E>
: super self::A::•()
;
- get x() → dynamic
+ get x() → self::B::E
return this.{self::B::y};
}
static method foo() → dynamic {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.transformed.expect
index 3c624e6..4f44d59 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.transformed.expect
@@ -13,7 +13,7 @@
synthetic constructor •() → self::B<self::B::E>
: super self::A::•()
;
- get x() → dynamic
+ get x() → self::B::E
return this.{self::B::y};
}
static method foo() → dynamic {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.expect
index 23fb83d..2a0386f 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.expect
@@ -26,7 +26,7 @@
;
get y() → core::int
return 0;
- method m(dynamic a, (dynamic, self::B::E) → dynamic f) → dynamic {}
+ method m(dynamic a, (dynamic, self::B::E) → dynamic f) → core::String {}
}
static method foo() → dynamic {
core::int y = new self::B::•<dynamic>().m(null, null);
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.transformed.expect
index 23fb83d..2a0386f 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.transformed.expect
@@ -26,7 +26,7 @@
;
get y() → core::int
return 0;
- method m(dynamic a, (dynamic, self::B::E) → dynamic f) → dynamic {}
+ method m(dynamic a, (dynamic, self::B::E) → dynamic f) → core::String {}
}
static method foo() → dynamic {
core::int y = new self::B::•<dynamic>().m(null, null);
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.expect
index ecee2c6..be1a80f 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.expect
@@ -23,7 +23,7 @@
;
get y() → core::int
return 0;
- method m(dynamic a, (dynamic, core::int) → dynamic f) → dynamic {}
+ method m(dynamic a, (dynamic, core::int) → dynamic f) → self::A<self::B::E> {}
}
static method foo() → dynamic {
core::int y = new self::B::•<core::String>().m(null, null).value;
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.transformed.expect
index ecee2c6..be1a80f 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.transformed.expect
@@ -23,7 +23,7 @@
;
get y() → core::int
return 0;
- method m(dynamic a, (dynamic, core::int) → dynamic f) → dynamic {}
+ method m(dynamic a, (dynamic, core::int) → dynamic f) → self::A<self::B::E> {}
}
static method foo() → dynamic {
core::int y = new self::B::•<core::String>().m(null, null).value;
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.expect
index 54ed9fa..c669cd7 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.expect
@@ -38,7 +38,7 @@
;
get y() → core::int
return 0;
- method m(dynamic a, (dynamic, core::int) → dynamic f) → dynamic {}
+ method m(dynamic a, (dynamic, core::int) → dynamic f) → test::A<test::B::E> {}
}
static method foo() → dynamic {
core::int y = new test::B::•<core::String>().m(null, null).value;
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.transformed.expect
index 54ed9fa..c669cd7 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.transformed.expect
@@ -38,7 +38,7 @@
;
get y() → core::int
return 0;
- method m(dynamic a, (dynamic, core::int) → dynamic f) → dynamic {}
+ method m(dynamic a, (dynamic, core::int) → dynamic f) → test::A<test::B::E> {}
}
static method foo() → dynamic {
core::int y = new test::B::•<core::String>().m(null, null).value;
diff --git a/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.expect b/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.expect
index e0cd00f..7e9ace6 100644
--- a/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.expect
@@ -18,6 +18,6 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- set x(dynamic value) → dynamic {}
+ set x(core::int value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.transformed.expect
index e0cd00f..7e9ace6 100644
--- a/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.transformed.expect
@@ -18,6 +18,6 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- set x(dynamic value) → dynamic {}
+ set x(core::int value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/setter_return_type.dart.outline.expect b/pkg/front_end/testcases/inference/setter_return_type.dart.outline.expect
index 5052808..1ae8232 100644
--- a/pkg/front_end/testcases/inference/setter_return_type.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/setter_return_type.dart.outline.expect
@@ -17,7 +17,7 @@
class D extends self::C implements self::I {
synthetic constructor •() → self::D
;
- set x(dynamic value) → dynamic
+ set x(core::int value) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.expect b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.expect
index b1c6c5f..8793d9b 100644
--- a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.expect
@@ -15,7 +15,7 @@
synthetic constructor •() → self::C<self::C::U>
: super self::B::•()
;
- operator []=(core::Object x, core::Object y) → void {}
+ operator []=(generic-covariant-impl core::Object x, generic-covariant-impl core::Object y) → void {}
method h() → void {
super.{self::B::[]=}(self::f<dynamic>(), self::f<dynamic>());
}
diff --git a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.transformed.expect
index b1c6c5f..8793d9b 100644
--- a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.transformed.expect
@@ -15,7 +15,7 @@
synthetic constructor •() → self::C<self::C::U>
: super self::B::•()
;
- operator []=(core::Object x, core::Object y) → void {}
+ operator []=(generic-covariant-impl core::Object x, generic-covariant-impl core::Object y) → void {}
method h() → void {
super.{self::B::[]=}(self::f<dynamic>(), self::f<dynamic>());
}
diff --git a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.outline.expect b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.outline.expect
index 80fd653..adfd796 100644
--- a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.outline.expect
@@ -14,7 +14,7 @@
class C<U extends core::Object = dynamic> extends self::B<asy::Future<self::C::U>> {
synthetic constructor •() → self::C<self::C::U>
;
- operator []=(core::Object x, core::Object y) → void
+ operator []=(generic-covariant-impl core::Object x, generic-covariant-impl core::Object y) → void
;
method h() → void
;
diff --git a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.expect b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.expect
index 20df3bc..219fa54 100644
--- a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.expect
@@ -26,7 +26,7 @@
synthetic constructor •() → self::C<self::C::U>
: super self::B::•()
;
- method g(core::Object x) → self::E<asy::Future<self::C::U>>
+ method g(generic-covariant-impl core::Object x) → self::E<asy::Future<self::C::U>>
return null;
method h() → void {
dynamic x = super.{self::B::g}(self::f<dynamic>());
diff --git a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.transformed.expect
index 20df3bc..219fa54 100644
--- a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.transformed.expect
@@ -26,7 +26,7 @@
synthetic constructor •() → self::C<self::C::U>
: super self::B::•()
;
- method g(core::Object x) → self::E<asy::Future<self::C::U>>
+ method g(generic-covariant-impl core::Object x) → self::E<asy::Future<self::C::U>>
return null;
method h() → void {
dynamic x = super.{self::B::g}(self::f<dynamic>());
diff --git a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.outline.expect b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.outline.expect
index f2b99a5..07019f3 100644
--- a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.outline.expect
@@ -22,7 +22,7 @@
class C<U extends core::Object = dynamic> extends self::B<asy::Future<self::C::U>> {
synthetic constructor •() → self::C<self::C::U>
;
- method g(core::Object x) → self::E<asy::Future<self::C::U>>
+ method g(generic-covariant-impl core::Object x) → self::E<asy::Future<self::C::U>>
;
method h() → void
;
diff --git a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.expect b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.expect
index fd035f1..87b866d 100644
--- a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.expect
@@ -27,7 +27,7 @@
;
get x() → self::E<asy::Future<self::C::U>>
return null;
- set x(core::Object x) → void {}
+ set x(generic-covariant-impl core::Object x) → void {}
method g() → void {
dynamic y = super.{self::B::x};
}
diff --git a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.transformed.expect
index fd035f1..87b866d 100644
--- a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.transformed.expect
@@ -27,7 +27,7 @@
;
get x() → self::E<asy::Future<self::C::U>>
return null;
- set x(core::Object x) → void {}
+ set x(generic-covariant-impl core::Object x) → void {}
method g() → void {
dynamic y = super.{self::B::x};
}
diff --git a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.outline.expect b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.outline.expect
index caa88dc..941b8de 100644
--- a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.outline.expect
@@ -23,7 +23,7 @@
;
get x() → self::E<asy::Future<self::C::U>>
;
- set x(core::Object x) → void
+ set x(generic-covariant-impl core::Object x) → void
;
method g() → void
;
diff --git a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.expect b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.expect
index ae129dc..fec3618 100644
--- a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.expect
@@ -27,7 +27,7 @@
;
get x() → self::E<asy::Future<self::C::U>>
return null;
- set x(core::Object x) → void {}
+ set x(generic-covariant-impl core::Object x) → void {}
method g() → void {
super.{self::B::x} = self::f<dynamic>();
}
diff --git a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.transformed.expect
index ae129dc..fec3618 100644
--- a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.transformed.expect
@@ -27,7 +27,7 @@
;
get x() → self::E<asy::Future<self::C::U>>
return null;
- set x(core::Object x) → void {}
+ set x(generic-covariant-impl core::Object x) → void {}
method g() → void {
super.{self::B::x} = self::f<dynamic>();
}
diff --git a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.outline.expect b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.outline.expect
index 1fa178c..cf71077 100644
--- a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.outline.expect
@@ -23,7 +23,7 @@
;
get x() → self::E<asy::Future<self::C::U>>
;
- set x(core::Object x) → void
+ set x(generic-covariant-impl core::Object x) → void
;
method g() → void
;
diff --git a/pkg/front_end/testcases/inference/try_catch_promotion.dart.hierarchy.expect b/pkg/front_end/testcases/inference/try_catch_promotion.dart.hierarchy.expect
index 148400f..3a8a7d9 100644
--- a/pkg/front_end/testcases/inference/try_catch_promotion.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/inference/try_catch_promotion.dart.hierarchy.expect
@@ -58,7 +58,7 @@
Object
interfaces:
classMembers:
- Object.toString
+ StackTrace.Object.toString%StackTrace.toString
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
@@ -77,7 +77,7 @@
-> StackTrace
interfaces:
classMembers:
- Object.toString
+ StackTrace.Object.toString%StackTrace.toString
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.strong.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.strong.expect
index 1681eb9..2e9f7aa 100644
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.strong.expect
+++ b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.strong.expect
@@ -2,14 +2,9 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart:20:5: Error: Can't infer the type of 'c': circularity found during type inference.
-// Specify the type explicitly.
-// var c = /*@returnType=invalid-type*/ () =>
-// ^
-//
// pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart:18:5: Error: Can't infer the type of 'b': circularity found during type inference.
// Specify the type explicitly.
-// var b = /*@returnType=invalid-type*/ () =>
+// var b = /*@returnType=() -> invalid-type*/ () =>
// ^
//
import self as self;
@@ -25,8 +20,8 @@
return 0;
}
static field self::A a = new self::A::•();
-static field invalid-type b = (() → invalid-type => self::a.{self::A::f}<invalid-type>(self::c)) as{TypeError} invalid-type;
-static field invalid-type c = (() → invalid-type => self::a.{self::A::f}<invalid-type>(self::b)) as{TypeError} invalid-type;
+static field invalid-type b = (() → () → invalid-type => self::a.{self::A::f}<() → invalid-type>(self::c)) as{TypeError} invalid-type;
+static field () → invalid-type c = () → invalid-type => self::a.{self::A::f}<invalid-type>(self::b);
static field () → () → core::int d = () → () → core::int => self::a.{self::A::f}<() → core::int>(self::e);
static field () → core::int e = () → core::int => self::a.{self::A::g}(self::d);
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.strong.transformed.expect
index 1681eb9..2e9f7aa 100644
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.strong.transformed.expect
@@ -2,14 +2,9 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart:20:5: Error: Can't infer the type of 'c': circularity found during type inference.
-// Specify the type explicitly.
-// var c = /*@returnType=invalid-type*/ () =>
-// ^
-//
// pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart:18:5: Error: Can't infer the type of 'b': circularity found during type inference.
// Specify the type explicitly.
-// var b = /*@returnType=invalid-type*/ () =>
+// var b = /*@returnType=() -> invalid-type*/ () =>
// ^
//
import self as self;
@@ -25,8 +20,8 @@
return 0;
}
static field self::A a = new self::A::•();
-static field invalid-type b = (() → invalid-type => self::a.{self::A::f}<invalid-type>(self::c)) as{TypeError} invalid-type;
-static field invalid-type c = (() → invalid-type => self::a.{self::A::f}<invalid-type>(self::b)) as{TypeError} invalid-type;
+static field invalid-type b = (() → () → invalid-type => self::a.{self::A::f}<() → invalid-type>(self::c)) as{TypeError} invalid-type;
+static field () → invalid-type c = () → invalid-type => self::a.{self::A::f}<invalid-type>(self::b);
static field () → () → core::int d = () → () → core::int => self::a.{self::A::f}<() → core::int>(self::e);
static field () → core::int e = () → core::int => self::a.{self::A::g}(self::d);
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.strong.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.strong.expect
index f2657ee..88b2f85 100644
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.strong.expect
+++ b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.strong.expect
@@ -2,11 +2,6 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart:16:5: Error: Can't infer the type of 'b': circularity found during type inference.
-// Specify the type explicitly.
-// var b = a();
-// ^
-//
// pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart:15:5: Error: Can't infer the type of 'a': circularity found during type inference.
// Specify the type explicitly.
// var a = /*@returnType=num*/ () => intValue /*@target=num::+*/ + b;
@@ -19,7 +14,7 @@
static field core::num numValue = 0;
static field core::double doubleValue = 0.0;
static field invalid-type a = (() → core::num => self::intValue.{core::num::+}(self::b as{TypeError} core::num)) as{TypeError} invalid-type;
-static field invalid-type b = self::a.call() as{TypeError} invalid-type;
+static field dynamic b = self::a.call();
static field () → core::num c = () → core::num => self::numValue.{core::num::+}(self::d);
static field core::num d = self::c.call();
static field () → core::double e = () → core::double => self::doubleValue.{core::double::+}(self::f);
diff --git a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.strong.expect b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.strong.expect
index e436c4f..4f2a4c9 100644
--- a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.strong.expect
+++ b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.strong.expect
@@ -7,11 +7,6 @@
// var x = /*@returnType=invalid-type*/ () => new B(). /*@target=B::x*/ x;
// ^
//
-// pkg/front_end/testcases/inference_new/field_inference_circularity.dart:17:7: Error: Can't infer the type of 'x': circularity found during type inference.
-// Specify the type explicitly.
-// var x;
-// ^
-//
import self as self;
import "dart:core" as core;
diff --git a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.strong.transformed.expect
index e436c4f..4f2a4c9 100644
--- a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.strong.transformed.expect
@@ -7,11 +7,6 @@
// var x = /*@returnType=invalid-type*/ () => new B(). /*@target=B::x*/ x;
// ^
//
-// pkg/front_end/testcases/inference_new/field_inference_circularity.dart:17:7: Error: Can't infer the type of 'x': circularity found during type inference.
-// Specify the type explicitly.
-// var x;
-// ^
-//
import self as self;
import "dart:core" as core;
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.hierarchy.expect
index 7848afa..cf2893f 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.hierarchy.expect
@@ -56,3 +56,460 @@
Object.==
classSetters:
B.x
+
+Comparable:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Comparable.compareTo
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ Comparable.compare
+ classSetters:
+
+num:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Comparable<num>
+ classMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ classSetters:
+ interfaceMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ interfaceSetters:
+
+double:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ double.~/
+ double.minPositive
+ num.<=
+ num._equalToInteger
+ double.maxFinite
+ num.isInfinite
+ num.<
+ double._tryParseDouble
+ double.Object.toString%double.toString
+ double.+
+ double.negativeInfinity
+ num.clamp
+ num.toDouble
+ double._nativeParse
+ double.ceil
+ double.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ double./
+ double.abs
+ double.nan
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ double.remainder
+ double.infinity
+ num.isFinite
+ num.toInt
+ double.%
+ double.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ double.floorToDouble
+ Object._identityHashCode
+ num.>
+ double.roundToDouble
+ double.round
+ double.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ double.truncate
+ double.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ double.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ double.truncateToDouble
+ double.parse
+ double.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ double._parse
+ double.*
+ classSetters:
+ interfaceMembers:
+ double.~/
+ double.minPositive
+ num.<=
+ num._equalToInteger
+ double.maxFinite
+ num.isInfinite
+ num.<
+ double._tryParseDouble
+ double.Object.toString%double.toString
+ double.+
+ double.negativeInfinity
+ num.clamp
+ num.toDouble
+ double._nativeParse
+ double.ceil
+ double.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ double./
+ double.abs
+ double.nan
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ double.remainder
+ double.infinity
+ num.isFinite
+ num.toInt
+ double.%
+ double.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ double.floorToDouble
+ Object._identityHashCode
+ num.>
+ double.roundToDouble
+ double.round
+ double.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ double.truncate
+ double.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ double.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ double.truncateToDouble
+ double.parse
+ double.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ double._parse
+ double.*
+ interfaceSetters:
+
+int:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ classSetters:
+ interfaceMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.expect
index 30f357c..86fb4dd 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.expect
@@ -1,4 +1,12 @@
library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart:16:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -10,7 +18,7 @@
abstract set x(core::double value) → void;
}
class B extends self::A {
- field dynamic x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::B
: super self::A::•()
;
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.transformed.expect
index 30f357c..86fb4dd 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.transformed.expect
@@ -1,4 +1,12 @@
library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart:16:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -10,7 +18,7 @@
abstract set x(core::double value) → void;
}
class B extends self::A {
- field dynamic x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::B
: super self::A::•()
;
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.outline.expect
index 5006f0f..faa675a 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.outline.expect
@@ -1,4 +1,12 @@
library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart:16:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -9,7 +17,7 @@
abstract set x(core::double value) → void;
}
class B extends self::A {
- field dynamic x;
+ field invalid-type x;
synthetic constructor •() → self::B
;
}
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.strong.expect
index 9a78098..86fb4dd 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.strong.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.strong.expect
@@ -2,13 +2,10 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart:16:7: Error: The return type of the method 'B.x' is 'int', which does not match the return type, 'double', of the overridden method, 'A.x'.
-// Change to a subtype of 'double'.
+// pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart:16:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
// var x;
// ^
-// pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart:10:12: Context: This is the overridden method ('x').
-// void set x(double value);
-// ^
//
import self as self;
import "dart:core" as core;
@@ -21,7 +18,7 @@
abstract set x(core::double value) → void;
}
class B extends self::A {
- field core::int x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::B
: super self::A::•()
;
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.hierarchy.expect
new file mode 100644
index 0000000..b7417eb
--- /dev/null
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.hierarchy.expect
@@ -0,0 +1,85 @@
+Object:
+ superclasses:
+ interfaces:
+ classMembers:
+ Object._haveSameRuntimeType
+ Object.toString
+ Object.runtimeType
+ Object._toString
+ Object._simpleInstanceOf
+ Object._hashCodeRnd
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._objectHashCode
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+
+A:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ A.y
+ Object.toString
+ A.x
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ A.y
+ A.x
+
+B:
+ superclasses:
+ Object
+ -> A
+ interfaces:
+ classMembers:
+ A.y
+ Object.toString
+ A.x
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ A.y
+ A.x
+
+C:
+ superclasses:
+ Object
+ -> A
+ -> B
+ interfaces:
+ classMembers:
+ C.y
+ Object.toString
+ C.x
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ C.y
+ C.x
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.legacy.expect
new file mode 100644
index 0000000..0517fd9
--- /dev/null
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.legacy.expect
@@ -0,0 +1,34 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart:17:7: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var y;
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+ abstract get x() → self::A;
+ abstract set x(self::B value) → void;
+ abstract get y() → self::B;
+ abstract set y(self::A value) → void;
+}
+abstract class B extends self::A {
+ synthetic constructor •() → self::B
+ : super self::A::•()
+ ;
+}
+class C extends self::B {
+ field self::A x = null;
+ field invalid-type y = null;
+ synthetic constructor •() → self::C
+ : super self::B::•()
+ ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.legacy.transformed.expect
new file mode 100644
index 0000000..0517fd9
--- /dev/null
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.legacy.transformed.expect
@@ -0,0 +1,34 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart:17:7: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var y;
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+ abstract get x() → self::A;
+ abstract set x(self::B value) → void;
+ abstract get y() → self::B;
+ abstract set y(self::A value) → void;
+}
+abstract class B extends self::A {
+ synthetic constructor •() → self::B
+ : super self::A::•()
+ ;
+}
+class C extends self::B {
+ field self::A x = null;
+ field invalid-type y = null;
+ synthetic constructor •() → self::C
+ : super self::B::•()
+ ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.outline.expect
new file mode 100644
index 0000000..b6f7118
--- /dev/null
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.outline.expect
@@ -0,0 +1,32 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart:17:7: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var y;
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+ synthetic constructor •() → self::A
+ ;
+ abstract get x() → self::A;
+ abstract set x(self::B value) → void;
+ abstract get y() → self::B;
+ abstract set y(self::A value) → void;
+}
+abstract class B extends self::A {
+ synthetic constructor •() → self::B
+ ;
+}
+class C extends self::B {
+ field self::A x;
+ field invalid-type y;
+ synthetic constructor •() → self::C
+ ;
+}
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.strong.expect
new file mode 100644
index 0000000..0517fd9
--- /dev/null
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.strong.expect
@@ -0,0 +1,34 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart:17:7: Error: Can't infer a type for 'y' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var y;
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+ abstract get x() → self::A;
+ abstract set x(self::B value) → void;
+ abstract get y() → self::B;
+ abstract set y(self::A value) → void;
+}
+abstract class B extends self::A {
+ synthetic constructor •() → self::B
+ : super self::A::•()
+ ;
+}
+class C extends self::B {
+ field self::A x = null;
+ field invalid-type y = null;
+ synthetic constructor •() → self::C
+ : super self::B::•()
+ ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.hierarchy.expect
index 167e1f9..b0e92da 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.hierarchy.expect
@@ -76,3 +76,327 @@
Object.==
classSetters:
C.x
+
+Comparable:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Comparable.compareTo
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ Comparable.compare
+ classSetters:
+
+num:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Comparable<num>
+ classMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ classSetters:
+ interfaceMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ interfaceSetters:
+
+int:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ classSetters:
+ interfaceMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.expect
index d397440..d21c794 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.expect
@@ -1,4 +1,12 @@
library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart:19:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -15,7 +23,7 @@
abstract get x() → core::int;
}
class C extends self::B {
- field dynamic x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::C
: super self::B::•()
;
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.transformed.expect
index d397440..d21c794 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.transformed.expect
@@ -1,4 +1,12 @@
library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart:19:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -15,7 +23,7 @@
abstract get x() → core::int;
}
class C extends self::B {
- field dynamic x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::C
: super self::B::•()
;
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.outline.expect
index c425d73..42cca77 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.outline.expect
@@ -1,4 +1,12 @@
library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart:19:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
+// var x;
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -13,7 +21,7 @@
abstract get x() → core::int;
}
class C extends self::B {
- field dynamic x;
+ field invalid-type x;
synthetic constructor •() → self::C
;
}
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.strong.expect
index 83026ec..d21c794 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.strong.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.strong.expect
@@ -2,13 +2,10 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart:19:7: Error: The return type of the method 'C.x' is 'int', which does not match the return type, 'num', of the overridden method, 'A.x'.
-// Change to a subtype of 'num'.
+// pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart:19:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
+// Try adding an explicit type.
// var x;
// ^
-// pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart:9:12: Context: This is the overridden method ('x').
-// void set x(num value);
-// ^
//
import self as self;
import "dart:core" as core;
@@ -26,7 +23,7 @@
abstract get x() → core::int;
}
class C extends self::B {
- field core::int x = null;
+ field invalid-type x = null;
synthetic constructor •() → self::C
: super self::B::•()
;
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.hierarchy.expect
index 3dbfb21..6c951d9 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.hierarchy.expect
@@ -76,3 +76,327 @@
Object.==
classSetters:
C.x
+
+Comparable:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Comparable.compareTo
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ Comparable.compare
+ classSetters:
+
+num:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Comparable<num>
+ classMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ classSetters:
+ interfaceMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ interfaceSetters:
+
+int:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ classSetters:
+ interfaceMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.legacy.expect
index 24c6ed9..eec7015 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.legacy.expect
@@ -15,7 +15,7 @@
abstract set x(core::int value) → void;
}
class C extends self::B {
- field dynamic x = null;
+ field core::num x = null;
synthetic constructor •() → self::C
: super self::B::•()
;
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.legacy.transformed.expect
index 24c6ed9..eec7015 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.legacy.transformed.expect
@@ -15,7 +15,7 @@
abstract set x(core::int value) → void;
}
class C extends self::B {
- field dynamic x = null;
+ field core::num x = null;
synthetic constructor •() → self::C
: super self::B::•()
;
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.outline.expect
index 2d2fda0..ef2b978 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.outline.expect
@@ -13,7 +13,7 @@
abstract set x(core::int value) → void;
}
class C extends self::B {
- field dynamic x;
+ field core::num x;
synthetic constructor •() → self::C
;
}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.strong.expect
index 46baf2b..73a2dd9 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.strong.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.strong.expect
@@ -4,25 +4,20 @@
//
// pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart:11:7: Error: Can't infer the type of 'b': circularity found during type inference.
// Specify the type explicitly.
-// var b = /*@returnType=invalid-type*/ () => x;
+// var b = /*@returnType=() -> invalid-type*/ () => x;
// ^
//
-// pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart:16:5: Error: Can't infer the type of 'x': circularity found during type inference.
-// Specify the type explicitly.
-// var x = /*@returnType=invalid-type*/ () => a. /*@target=A::b*/ b;
-// ^
-//
import self as self;
import "dart:core" as core;
class A extends core::Object {
- field invalid-type b = (() → invalid-type => self::x) as{TypeError} invalid-type;
- field () → invalid-type c = () → invalid-type => self::x;
+ field invalid-type b = (() → () → invalid-type => self::x) as{TypeError} invalid-type;
+ field () → () → invalid-type c = () → () → invalid-type => self::x;
synthetic constructor •() → self::A
: super core::Object::•()
;
}
static field self::A a = new self::A::•();
-static field invalid-type x = (() → invalid-type => self::a.{self::A::b}) as{TypeError} invalid-type;
-static field () → () → invalid-type y = () → () → invalid-type => self::a.{self::A::c};
+static field () → invalid-type x = () → invalid-type => self::a.{self::A::b};
+static field () → () → () → invalid-type y = () → () → () → invalid-type => self::a.{self::A::c};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.strong.transformed.expect
index 46baf2b..73a2dd9 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.strong.transformed.expect
@@ -4,25 +4,20 @@
//
// pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart:11:7: Error: Can't infer the type of 'b': circularity found during type inference.
// Specify the type explicitly.
-// var b = /*@returnType=invalid-type*/ () => x;
+// var b = /*@returnType=() -> invalid-type*/ () => x;
// ^
//
-// pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart:16:5: Error: Can't infer the type of 'x': circularity found during type inference.
-// Specify the type explicitly.
-// var x = /*@returnType=invalid-type*/ () => a. /*@target=A::b*/ b;
-// ^
-//
import self as self;
import "dart:core" as core;
class A extends core::Object {
- field invalid-type b = (() → invalid-type => self::x) as{TypeError} invalid-type;
- field () → invalid-type c = () → invalid-type => self::x;
+ field invalid-type b = (() → () → invalid-type => self::x) as{TypeError} invalid-type;
+ field () → () → invalid-type c = () → () → invalid-type => self::x;
synthetic constructor •() → self::A
: super core::Object::•()
;
}
static field self::A a = new self::A::•();
-static field invalid-type x = (() → invalid-type => self::a.{self::A::b}) as{TypeError} invalid-type;
-static field () → () → invalid-type y = () → () → invalid-type => self::a.{self::A::c};
+static field () → invalid-type x = () → invalid-type => self::a.{self::A::b};
+static field () → () → () → invalid-type y = () → () → () → invalid-type => self::a.{self::A::c};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.legacy.expect
index f8f9e8f..3493bd8 100644
--- a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.legacy.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::C
: super self::B::•()
;
- method f() → dynamic {}
+ method f() → void {}
}
static field dynamic x = new self::C::•().f();
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.legacy.transformed.expect
index f8f9e8f..3493bd8 100644
--- a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.legacy.transformed.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::C
: super self::B::•()
;
- method f() → dynamic {}
+ method f() → void {}
}
static field dynamic x = new self::C::•().f();
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.outline.expect
index ac467ff..fbaac00 100644
--- a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.outline.expect
@@ -11,7 +11,7 @@
class C extends self::B {
synthetic constructor •() → self::C
;
- method f() → dynamic
+ method f() → void
;
}
static field dynamic x;
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.hierarchy.expect
index f92d773..5a9daa5 100644
--- a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.hierarchy.expect
@@ -72,7 +72,7 @@
Object.==
classSetters:
interfaceMembers:
- I1.f
+ C.I1.f%I2.f
Object.toString
Object.runtimeType
Object._simpleInstanceOf
@@ -136,7 +136,7 @@
Object.==
classSetters:
interfaceMembers:
- I2.f
+ E.I2.f%I1.f
Object.toString
Object.runtimeType
Object._simpleInstanceOf
@@ -181,3 +181,327 @@
Object._simpleInstanceOfTrue
Object.==
interfaceSetters:
+
+Comparable:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Comparable.compareTo
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ Comparable.compare
+ classSetters:
+
+num:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Comparable<num>
+ classMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ classSetters:
+ interfaceMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ interfaceSetters:
+
+int:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ classSetters:
+ interfaceMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.expect
index 525f04b..e52d854 100644
--- a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.expect
@@ -18,6 +18,7 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
+ abstract forwarding-stub method f(core::Object o) → void;
}
class D extends self::C {
synthetic constructor •() → self::D
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.transformed.expect
index 525f04b..e52d854 100644
--- a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.transformed.expect
@@ -18,6 +18,7 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
+ abstract forwarding-stub method f(core::Object o) → void;
}
class D extends self::C {
synthetic constructor •() → self::D
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.outline.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.outline.expect
index cbba19d..68748a3 100644
--- a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.outline.expect
+++ b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.outline.expect
@@ -15,6 +15,7 @@
abstract class C extends core::Object implements self::I1, self::I2 {
synthetic constructor •() → self::C
;
+ abstract forwarding-stub method f(core::Object o) → void;
}
class D extends self::C {
synthetic constructor •() → self::D
diff --git a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.strong.expect b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.strong.expect
index 88bfdb0..b228e01 100644
--- a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.strong.expect
+++ b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.strong.expect
@@ -2,22 +2,17 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference_new/strongly_connected_component.dart:18:5: Error: Can't infer the type of 'y': circularity found during type inference.
-// Specify the type explicitly.
-// var y = /*@returnType=invalid-type*/ () => x;
-// ^
-//
// pkg/front_end/testcases/inference_new/strongly_connected_component.dart:17:5: Error: Can't infer the type of 'x': circularity found during type inference.
// Specify the type explicitly.
-// var x = /*@returnType=invalid-type*/ () => f() ? y : z;
+// var x = /*@returnType=() -> invalid-type*/ () => f() ? y : z;
// ^
//
import self as self;
import "dart:core" as core;
-static field invalid-type x = (() → invalid-type => self::f() ?{invalid-type} self::y : self::z) as{TypeError} invalid-type;
-static field invalid-type y = (() → invalid-type => self::x) as{TypeError} invalid-type;
-static field () → dynamic z = () → invalid-type => self::x;
+static field invalid-type x = (() → () → invalid-type => self::f() ?{() → invalid-type} self::y : self::z) as{TypeError} invalid-type;
+static field () → invalid-type y = () → invalid-type => self::x;
+static field () → invalid-type z = () → invalid-type => self::x;
static method f() → core::bool
return null;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.strong.transformed.expect
index 9a54331..b228e01 100644
--- a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.strong.transformed.expect
@@ -2,22 +2,17 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/inference_new/strongly_connected_component.dart:19:67: Error: Can't infer the type of 'y': circularity found during type inference.
+// pkg/front_end/testcases/inference_new/strongly_connected_component.dart:17:5: Error: Can't infer the type of 'x': circularity found during type inference.
// Specify the type explicitly.
-// var /*@error=CantInferTypeDueToCircularity*/ y = /*@returnType=dynamic*/ () =>
-// ^
-//
-// pkg/front_end/testcases/inference_new/strongly_connected_component.dart:17:67: Error: Can't infer the type of 'x': circularity found during type inference.
-// Specify the type explicitly.
-// var /*@error=CantInferTypeDueToCircularity*/ x = /*@returnType=dynamic*/ () =>
-// ^
+// var x = /*@returnType=() -> invalid-type*/ () => f() ? y : z;
+// ^
//
import self as self;
import "dart:core" as core;
-static field dynamic x = () → dynamic => self::f() ?{dynamic} self::y : self::z;
-static field dynamic y = () → dynamic => self::x;
-static field () → dynamic z = () → dynamic => self::x;
+static field invalid-type x = (() → () → invalid-type => self::f() ?{() → invalid-type} self::y : self::z) as{TypeError} invalid-type;
+static field () → invalid-type y = () → invalid-type => self::x;
+static field () → invalid-type z = () → invalid-type => self::x;
static method f() → core::bool
return null;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.legacy.expect b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.legacy.expect
index 0f54c8d..bae8810 100644
--- a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.legacy.expect
@@ -26,7 +26,7 @@
synthetic constructor •() → self::C<self::C::U>
: super self::B::•()
;
- operator [](core::Object x) → self::E<asy::Future<self::C::U>>
+ operator [](generic-covariant-impl core::Object x) → self::E<asy::Future<self::C::U>>
return null;
method h() → void {
dynamic x = super.{self::B::[]}(self::f<dynamic>());
diff --git a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.legacy.transformed.expect
index 0f54c8d..bae8810 100644
--- a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.legacy.transformed.expect
@@ -26,7 +26,7 @@
synthetic constructor •() → self::C<self::C::U>
: super self::B::•()
;
- operator [](core::Object x) → self::E<asy::Future<self::C::U>>
+ operator [](generic-covariant-impl core::Object x) → self::E<asy::Future<self::C::U>>
return null;
method h() → void {
dynamic x = super.{self::B::[]}(self::f<dynamic>());
diff --git a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.outline.expect b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.outline.expect
index 12ca495..482f685 100644
--- a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.outline.expect
+++ b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.outline.expect
@@ -22,7 +22,7 @@
class C<U extends core::Object = dynamic> extends self::B<asy::Future<self::C::U>> {
synthetic constructor •() → self::C<self::C::U>
;
- operator [](core::Object x) → self::E<asy::Future<self::C::U>>
+ operator [](generic-covariant-impl core::Object x) → self::E<asy::Future<self::C::U>>
;
method h() → void
;
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.hierarchy.expect
index 00d3da3..59b9ccc 100644
--- a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.hierarchy.expect
@@ -148,7 +148,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- D.foo
+ G.D.foo%E.foo%F.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.expect
index cef6169..869fb78 100644
--- a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.expect
@@ -39,6 +39,7 @@
synthetic constructor •() → self::G
: super core::Object::•()
;
+ abstract forwarding-stub method foo() → self::B;
}
class H extends self::G {
synthetic constructor •() → self::H
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.transformed.expect
index cef6169..869fb78 100644
--- a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.transformed.expect
@@ -39,6 +39,7 @@
synthetic constructor •() → self::G
: super core::Object::•()
;
+ abstract forwarding-stub method foo() → self::B;
}
class H extends self::G {
synthetic constructor •() → self::H
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.outline.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.outline.expect
index 8801b74..b028b33 100644
--- a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.outline.expect
+++ b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.outline.expect
@@ -32,6 +32,7 @@
abstract class G extends core::Object implements self::D, self::E, self::F {
synthetic constructor •() → self::G
;
+ abstract forwarding-stub method foo() → self::B;
}
class H extends self::G {
synthetic constructor •() → self::H
diff --git a/pkg/front_end/testcases/issue129167943.dart.hierarchy.expect b/pkg/front_end/testcases/issue129167943.dart.hierarchy.expect
new file mode 100644
index 0000000..5b7b04e
--- /dev/null
+++ b/pkg/front_end/testcases/issue129167943.dart.hierarchy.expect
@@ -0,0 +1,778 @@
+Object:
+ superclasses:
+ interfaces:
+ classMembers:
+ Object._haveSameRuntimeType
+ Object.toString
+ Object.runtimeType
+ Object._toString
+ Object._simpleInstanceOf
+ Object._hashCodeRnd
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._objectHashCode
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+
+A:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+
+B:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ B.foo
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+
+C:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: B
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ C.foo
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ interfaceMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ C.foo
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ interfaceSetters:
+
+D1:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ interfaces: A, C, B
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ D1.foo
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ interfaceMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ D1.foo
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ interfaceSetters:
+
+D2:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ interfaces: A, C, B
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ D2.foo
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ interfaceMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ D2.foo
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ interfaceSetters:
+
+D3:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ interfaces: A, C, B
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ interfaceMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ D3.C.foo%B.foo
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ interfaceSetters:
+
+D4:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ interfaces: A, C, B
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ D4.foo
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ interfaceMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ D4.foo
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ interfaceSetters:
+
+D5:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ interfaces: A, C, B
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ D5.foo
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ interfaceMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ D5.foo
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ interfaceSetters:
+
+E:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ E.foo
+
+G:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: E
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ G.foo
+ interfaceMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ interfaceSetters:
+ G.foo
+
+H1:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ interfaces: A, E, G
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ H1.foo
+ interfaceMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ interfaceSetters:
+ H1.foo
+
+H2:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ interfaces: A, E, G
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ H2.foo
+ interfaceMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ interfaceSetters:
+ H2.foo
+
+H3:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ interfaces: A, E, G
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ interfaceMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ interfaceSetters:
+ H3.E.foo%G.foo
+
+H4:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ interfaces: A, E, G
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ H4.foo
+ interfaceMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ interfaceSetters:
+ H4.foo
+
+H5:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ interfaces: A, E, G
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ classSetters:
+ H5.foo
+ interfaceMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ interfaceSetters:
+ H5.foo
+
+Comparable:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Comparable.compareTo
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ Comparable.compare
+ classSetters:
+
+num:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Comparable<num>
+ classMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ classSetters:
+ interfaceMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ interfaceSetters:
+
+int:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ classSetters:
+ interfaceMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/issue129167943.dart.legacy.expect b/pkg/front_end/testcases/issue129167943.dart.legacy.expect
new file mode 100644
index 0000000..5e60b76
--- /dev/null
+++ b/pkg/front_end/testcases/issue129167943.dart.legacy.expect
@@ -0,0 +1,94 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+}
+abstract class B extends core::Object {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+ abstract method foo(core::num x) → void;
+}
+abstract class C extends core::Object implements self::B {
+ synthetic constructor •() → self::C
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+abstract class D1 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D1
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+class D2 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D2
+ : super core::Object::•()
+ ;
+ method foo(covariant core::int x) → void {}
+}
+abstract class D3 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D3
+ : super core::Object::•()
+ ;
+ abstract forwarding-stub method foo(covariant core::num x) → void;
+}
+abstract class D4 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D4
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+abstract class D5 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D5
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::num x) → void;
+}
+abstract class E extends core::Object {
+ synthetic constructor •() → self::E
+ : super core::Object::•()
+ ;
+ abstract set foo(core::num x) → void;
+}
+abstract class G extends core::Object implements self::E {
+ synthetic constructor •() → self::G
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+abstract class H1 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H1
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+class H2 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H2
+ : super core::Object::•()
+ ;
+ set foo(covariant core::int x) → void {}
+}
+abstract class H3 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H3
+ : super core::Object::•()
+ ;
+ abstract forwarding-stub set foo(covariant core::num x) → void;
+}
+abstract class H4 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H4
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+abstract class H5 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H5
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::num x) → void;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/issue129167943.dart.legacy.transformed.expect b/pkg/front_end/testcases/issue129167943.dart.legacy.transformed.expect
new file mode 100644
index 0000000..5e60b76
--- /dev/null
+++ b/pkg/front_end/testcases/issue129167943.dart.legacy.transformed.expect
@@ -0,0 +1,94 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+}
+abstract class B extends core::Object {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+ abstract method foo(core::num x) → void;
+}
+abstract class C extends core::Object implements self::B {
+ synthetic constructor •() → self::C
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+abstract class D1 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D1
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+class D2 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D2
+ : super core::Object::•()
+ ;
+ method foo(covariant core::int x) → void {}
+}
+abstract class D3 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D3
+ : super core::Object::•()
+ ;
+ abstract forwarding-stub method foo(covariant core::num x) → void;
+}
+abstract class D4 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D4
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+abstract class D5 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D5
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::num x) → void;
+}
+abstract class E extends core::Object {
+ synthetic constructor •() → self::E
+ : super core::Object::•()
+ ;
+ abstract set foo(core::num x) → void;
+}
+abstract class G extends core::Object implements self::E {
+ synthetic constructor •() → self::G
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+abstract class H1 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H1
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+class H2 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H2
+ : super core::Object::•()
+ ;
+ set foo(covariant core::int x) → void {}
+}
+abstract class H3 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H3
+ : super core::Object::•()
+ ;
+ abstract forwarding-stub set foo(covariant core::num x) → void;
+}
+abstract class H4 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H4
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+abstract class H5 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H5
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::num x) → void;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/issue129167943.dart.outline.expect b/pkg/front_end/testcases/issue129167943.dart.outline.expect
new file mode 100644
index 0000000..f6d1af6
--- /dev/null
+++ b/pkg/front_end/testcases/issue129167943.dart.outline.expect
@@ -0,0 +1,82 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+ synthetic constructor •() → self::A
+ ;
+}
+abstract class B extends core::Object {
+ synthetic constructor •() → self::B
+ ;
+ abstract method foo(core::num x) → void;
+}
+abstract class C extends core::Object implements self::B {
+ synthetic constructor •() → self::C
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+abstract class D1 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D1
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+class D2 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D2
+ ;
+ method foo(covariant core::int x) → void
+ ;
+}
+abstract class D3 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D3
+ ;
+ abstract forwarding-stub method foo(covariant core::num x) → void;
+}
+abstract class D4 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D4
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+abstract class D5 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D5
+ ;
+ abstract method foo(covariant core::num x) → void;
+}
+abstract class E extends core::Object {
+ synthetic constructor •() → self::E
+ ;
+ abstract set foo(core::num x) → void;
+}
+abstract class G extends core::Object implements self::E {
+ synthetic constructor •() → self::G
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+abstract class H1 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H1
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+class H2 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H2
+ ;
+ set foo(covariant core::int x) → void
+ ;
+}
+abstract class H3 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H3
+ ;
+ abstract forwarding-stub set foo(covariant core::num x) → void;
+}
+abstract class H4 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H4
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+abstract class H5 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H5
+ ;
+ abstract set foo(covariant core::num x) → void;
+}
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/issue129167943.dart.strong.expect b/pkg/front_end/testcases/issue129167943.dart.strong.expect
new file mode 100644
index 0000000..5e60b76
--- /dev/null
+++ b/pkg/front_end/testcases/issue129167943.dart.strong.expect
@@ -0,0 +1,94 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+}
+abstract class B extends core::Object {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+ abstract method foo(core::num x) → void;
+}
+abstract class C extends core::Object implements self::B {
+ synthetic constructor •() → self::C
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+abstract class D1 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D1
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+class D2 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D2
+ : super core::Object::•()
+ ;
+ method foo(covariant core::int x) → void {}
+}
+abstract class D3 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D3
+ : super core::Object::•()
+ ;
+ abstract forwarding-stub method foo(covariant core::num x) → void;
+}
+abstract class D4 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D4
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+abstract class D5 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D5
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::num x) → void;
+}
+abstract class E extends core::Object {
+ synthetic constructor •() → self::E
+ : super core::Object::•()
+ ;
+ abstract set foo(core::num x) → void;
+}
+abstract class G extends core::Object implements self::E {
+ synthetic constructor •() → self::G
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+abstract class H1 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H1
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+class H2 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H2
+ : super core::Object::•()
+ ;
+ set foo(covariant core::int x) → void {}
+}
+abstract class H3 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H3
+ : super core::Object::•()
+ ;
+ abstract forwarding-stub set foo(covariant core::num x) → void;
+}
+abstract class H4 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H4
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+abstract class H5 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H5
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::num x) → void;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/issue129167943.dart.strong.transformed.expect b/pkg/front_end/testcases/issue129167943.dart.strong.transformed.expect
new file mode 100644
index 0000000..5e60b76
--- /dev/null
+++ b/pkg/front_end/testcases/issue129167943.dart.strong.transformed.expect
@@ -0,0 +1,94 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+}
+abstract class B extends core::Object {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+ abstract method foo(core::num x) → void;
+}
+abstract class C extends core::Object implements self::B {
+ synthetic constructor •() → self::C
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+abstract class D1 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D1
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+class D2 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D2
+ : super core::Object::•()
+ ;
+ method foo(covariant core::int x) → void {}
+}
+abstract class D3 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D3
+ : super core::Object::•()
+ ;
+ abstract forwarding-stub method foo(covariant core::num x) → void;
+}
+abstract class D4 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D4
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::int x) → void;
+}
+abstract class D5 extends core::Object implements self::A, self::C, self::B {
+ synthetic constructor •() → self::D5
+ : super core::Object::•()
+ ;
+ abstract method foo(covariant core::num x) → void;
+}
+abstract class E extends core::Object {
+ synthetic constructor •() → self::E
+ : super core::Object::•()
+ ;
+ abstract set foo(core::num x) → void;
+}
+abstract class G extends core::Object implements self::E {
+ synthetic constructor •() → self::G
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+abstract class H1 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H1
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+class H2 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H2
+ : super core::Object::•()
+ ;
+ set foo(covariant core::int x) → void {}
+}
+abstract class H3 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H3
+ : super core::Object::•()
+ ;
+ abstract forwarding-stub set foo(covariant core::num x) → void;
+}
+abstract class H4 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H4
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::int x) → void;
+}
+abstract class H5 extends core::Object implements self::A, self::E, self::G {
+ synthetic constructor •() → self::H5
+ : super core::Object::•()
+ ;
+ abstract set foo(covariant core::num x) → void;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/mixin_application_override.dart.hierarchy.expect b/pkg/front_end/testcases/mixin_application_override.dart.hierarchy.expect
index 8351797..bec105b 100644
--- a/pkg/front_end/testcases/mixin_application_override.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/mixin_application_override.dart.hierarchy.expect
@@ -193,7 +193,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ A1.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -292,7 +292,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ A2.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -422,7 +422,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ _A1X&S&M1 with M.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -456,7 +456,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ A1X.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -555,7 +555,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ _A2X&S&M1&M2 with M.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -590,7 +590,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ A2X.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -720,7 +720,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ _B1&S&M1 with M.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -754,7 +754,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ B1.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -853,7 +853,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ _B2&S&M1&M2 with M.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -888,7 +888,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ B2.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -1052,7 +1052,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ _B1X&S&M1 with M.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -1086,7 +1086,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ _B1X&S&M1&M with MX.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -1121,7 +1121,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ B1X.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -1220,7 +1220,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ _B2X&S&M1&M2 with M.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -1255,7 +1255,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ _B2X&S&M1&M2&M with MX.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -1291,7 +1291,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- M.foo
+ B2X.M.foo%S.foo
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
diff --git a/pkg/front_end/testcases/mixin_application_override.dart.legacy.expect b/pkg/front_end/testcases/mixin_application_override.dart.legacy.expect
index b5c4a61..0900d21 100644
--- a/pkg/front_end/testcases/mixin_application_override.dart.legacy.expect
+++ b/pkg/front_end/testcases/mixin_application_override.dart.legacy.expect
@@ -122,6 +122,66 @@
// class B2X extends S with M1, M2, M, MX {}
// ^^^
//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:26:7: Context: Override was introduced in the mixin application class 'A1X'.
+// class A1X = S with M1, M, MX;
+// ^^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:27:7: Context: Override was introduced in the mixin application class 'A2X'.
+// class A2X = S with M1, M2, M, MX;
+// ^^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:31:7: Context: Both members are inherited by the non-abstract class 'B1'.
+// class B1 extends S with M1, M {}
+// ^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:33:7: Context: Both members are inherited by the non-abstract class 'B2'.
+// class B2 extends S with M1, M2, M {}
+// ^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:37:7: Context: Both members are inherited by the non-abstract class 'B1X'.
+// class B1X extends S with M1, M, MX {}
+// ^^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:39:7: Context: Both members are inherited by the non-abstract class 'B2X'.
+// class B2X extends S with M1, M2, M, MX {}
+// ^^^
+//
import self as self;
import "dart:core" as core;
@@ -166,6 +226,7 @@
synthetic constructor •() → self::A1
: super self::_A1&S&M1::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _A2&S&M1 = self::S with self::M1 {
synthetic constructor •() → self::_A2&S&M1
@@ -181,6 +242,7 @@
synthetic constructor •() → self::A2
: super self::_A2&S&M1&M2::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _A0X&S&M = self::S with self::M {
synthetic constructor •() → self::_A0X&S&M
@@ -201,11 +263,13 @@
synthetic constructor •() → self::_A1X&S&M1&M
: super self::_A1X&S&M1::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
class A1X = self::_A1X&S&M1&M with self::MX {
synthetic constructor •() → self::A1X
: super self::_A1X&S&M1&M::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _A2X&S&M1 = self::S with self::M1 {
synthetic constructor •() → self::_A2X&S&M1
@@ -221,11 +285,13 @@
synthetic constructor •() → self::_A2X&S&M1&M2&M
: super self::_A2X&S&M1&M2::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
class A2X = self::_A2X&S&M1&M2&M with self::MX {
synthetic constructor •() → self::A2X
: super self::_A2X&S&M1&M2&M::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _B0&S&M = self::S with self::M {
synthetic constructor •() → self::_B0&S&M
@@ -246,11 +312,13 @@
synthetic constructor •() → self::_B1&S&M1&M
: super self::_B1&S&M1::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
class B1 extends self::_B1&S&M1&M {
synthetic constructor •() → self::B1
: super self::_B1&S&M1&M::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _B2&S&M1 = self::S with self::M1 {
synthetic constructor •() → self::_B2&S&M1
@@ -266,11 +334,13 @@
synthetic constructor •() → self::_B2&S&M1&M2&M
: super self::_B2&S&M1&M2::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
class B2 extends self::_B2&S&M1&M2&M {
synthetic constructor •() → self::B2
: super self::_B2&S&M1&M2&M::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _B0X&S&M = self::S with self::M {
synthetic constructor •() → self::_B0X&S&M
@@ -296,16 +366,19 @@
synthetic constructor •() → self::_B1X&S&M1&M
: super self::_B1X&S&M1::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _B1X&S&M1&M&MX = self::_B1X&S&M1&M with self::MX {
synthetic constructor •() → self::_B1X&S&M1&M&MX
: super self::_B1X&S&M1&M::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
class B1X extends self::_B1X&S&M1&M&MX {
synthetic constructor •() → self::B1X
: super self::_B1X&S&M1&M&MX::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _B2X&S&M1 = self::S with self::M1 {
synthetic constructor •() → self::_B2X&S&M1
@@ -321,15 +394,18 @@
synthetic constructor •() → self::_B2X&S&M1&M2&M
: super self::_B2X&S&M1&M2::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _B2X&S&M1&M2&M&MX = self::_B2X&S&M1&M2&M with self::MX {
synthetic constructor •() → self::_B2X&S&M1&M2&M&MX
: super self::_B2X&S&M1&M2&M::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
class B2X extends self::_B2X&S&M1&M2&M&MX {
synthetic constructor •() → self::B2X
: super self::_B2X&S&M1&M2&M&MX::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/mixin_application_override.dart.legacy.transformed.expect b/pkg/front_end/testcases/mixin_application_override.dart.legacy.transformed.expect
index c5a8827..49aba4d 100644
--- a/pkg/front_end/testcases/mixin_application_override.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/mixin_application_override.dart.legacy.transformed.expect
@@ -122,6 +122,66 @@
// class B2X extends S with M1, M2, M, MX {}
// ^^^
//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:26:7: Context: Override was introduced in the mixin application class 'A1X'.
+// class A1X = S with M1, M, MX;
+// ^^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:27:7: Context: Override was introduced in the mixin application class 'A2X'.
+// class A2X = S with M1, M2, M, MX;
+// ^^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:31:7: Context: Both members are inherited by the non-abstract class 'B1'.
+// class B1 extends S with M1, M {}
+// ^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:33:7: Context: Both members are inherited by the non-abstract class 'B2'.
+// class B2 extends S with M1, M2, M {}
+// ^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:37:7: Context: Both members are inherited by the non-abstract class 'B1X'.
+// class B1X extends S with M1, M, MX {}
+// ^^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:39:7: Context: Both members are inherited by the non-abstract class 'B2X'.
+// class B2X extends S with M1, M2, M, MX {}
+// ^^^
+//
import self as self;
import "dart:core" as core;
@@ -167,7 +227,7 @@
synthetic constructor •() → self::A1
: super self::_A1&S&M1::•()
;
- method foo() → dynamic {}
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _A2&S&M1 extends self::S implements self::M1 {
synthetic constructor •() → self::_A2&S&M1
@@ -183,7 +243,7 @@
synthetic constructor •() → self::A2
: super self::_A2&S&M1&M2::•()
;
- method foo() → dynamic {}
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _A0X&S&M extends self::S implements self::M {
synthetic constructor •() → self::_A0X&S&M
@@ -205,12 +265,13 @@
synthetic constructor •() → self::_A1X&S&M1&M
: super self::_A1X&S&M1::•()
;
- method foo() → dynamic {}
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
class A1X extends self::_A1X&S&M1&M implements self::MX {
synthetic constructor •() → self::A1X
: super self::_A1X&S&M1&M::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _A2X&S&M1 extends self::S implements self::M1 {
synthetic constructor •() → self::_A2X&S&M1
@@ -226,12 +287,13 @@
synthetic constructor •() → self::_A2X&S&M1&M2&M
: super self::_A2X&S&M1&M2::•()
;
- method foo() → dynamic {}
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
class A2X extends self::_A2X&S&M1&M2&M implements self::MX {
synthetic constructor •() → self::A2X
: super self::_A2X&S&M1&M2&M::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _B0&S&M extends self::S implements self::M {
synthetic constructor •() → self::_B0&S&M
@@ -253,12 +315,13 @@
synthetic constructor •() → self::_B1&S&M1&M
: super self::_B1&S&M1::•()
;
- method foo() → dynamic {}
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
class B1 extends self::_B1&S&M1&M {
synthetic constructor •() → self::B1
: super self::_B1&S&M1&M::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _B2&S&M1 extends self::S implements self::M1 {
synthetic constructor •() → self::_B2&S&M1
@@ -274,12 +337,13 @@
synthetic constructor •() → self::_B2&S&M1&M2&M
: super self::_B2&S&M1&M2::•()
;
- method foo() → dynamic {}
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
class B2 extends self::_B2&S&M1&M2&M {
synthetic constructor •() → self::B2
: super self::_B2&S&M1&M2&M::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _B0X&S&M extends self::S implements self::M {
synthetic constructor •() → self::_B0X&S&M
@@ -306,17 +370,19 @@
synthetic constructor •() → self::_B1X&S&M1&M
: super self::_B1X&S&M1::•()
;
- method foo() → dynamic {}
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _B1X&S&M1&M&MX extends self::_B1X&S&M1&M implements self::MX {
synthetic constructor •() → self::_B1X&S&M1&M&MX
: super self::_B1X&S&M1&M::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
class B1X extends self::_B1X&S&M1&M&MX {
synthetic constructor •() → self::B1X
: super self::_B1X&S&M1&M&MX::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _B2X&S&M1 extends self::S implements self::M1 {
synthetic constructor •() → self::_B2X&S&M1
@@ -332,16 +398,18 @@
synthetic constructor •() → self::_B2X&S&M1&M2&M
: super self::_B2X&S&M1&M2::•()
;
- method foo() → dynamic {}
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
abstract class _B2X&S&M1&M2&M&MX extends self::_B2X&S&M1&M2&M implements self::MX {
synthetic constructor •() → self::_B2X&S&M1&M2&M&MX
: super self::_B2X&S&M1&M2&M::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
class B2X extends self::_B2X&S&M1&M2&M&MX {
synthetic constructor •() → self::B2X
: super self::_B2X&S&M1&M2&M&MX::•()
;
+ abstract forwarding-stub method foo([dynamic x = null]) → dynamic;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/mixin_application_override.dart.outline.expect b/pkg/front_end/testcases/mixin_application_override.dart.outline.expect
index 9983cfb..90453d9 100644
--- a/pkg/front_end/testcases/mixin_application_override.dart.outline.expect
+++ b/pkg/front_end/testcases/mixin_application_override.dart.outline.expect
@@ -122,6 +122,66 @@
// class B2X extends S with M1, M2, M, MX {}
// ^^^
//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:26:7: Context: Override was introduced in the mixin application class 'A1X'.
+// class A1X = S with M1, M, MX;
+// ^^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:27:7: Context: Override was introduced in the mixin application class 'A2X'.
+// class A2X = S with M1, M2, M, MX;
+// ^^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:31:7: Context: Both members are inherited by the non-abstract class 'B1'.
+// class B1 extends S with M1, M {}
+// ^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:33:7: Context: Both members are inherited by the non-abstract class 'B2'.
+// class B2 extends S with M1, M2, M {}
+// ^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:37:7: Context: Both members are inherited by the non-abstract class 'B1X'.
+// class B1X extends S with M1, M, MX {}
+// ^^^
+//
+// pkg/front_end/testcases/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+// foo() {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
+// foo([x]) {}
+// ^
+// pkg/front_end/testcases/mixin_application_override.dart:39:7: Context: Both members are inherited by the non-abstract class 'B2X'.
+// class B2X extends S with M1, M2, M, MX {}
+// ^^^
+//
import self as self;
import "dart:core" as core;
@@ -163,6 +223,7 @@
synthetic constructor •() → self::A1
: super self::_A1&S&M1::•()
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
abstract class _A2&S&M1 = self::S with self::M1 {
synthetic constructor •() → self::_A2&S&M1
@@ -178,6 +239,7 @@
synthetic constructor •() → self::A2
: super self::_A2&S&M1&M2::•()
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
abstract class _A0X&S&M = self::S with self::M {
synthetic constructor •() → self::_A0X&S&M
@@ -198,11 +260,13 @@
synthetic constructor •() → self::_A1X&S&M1&M
: super self::_A1X&S&M1::•()
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
class A1X = self::_A1X&S&M1&M with self::MX {
synthetic constructor •() → self::A1X
: super self::_A1X&S&M1&M::•()
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
abstract class _A2X&S&M1 = self::S with self::M1 {
synthetic constructor •() → self::_A2X&S&M1
@@ -218,11 +282,13 @@
synthetic constructor •() → self::_A2X&S&M1&M2&M
: super self::_A2X&S&M1&M2::•()
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
class A2X = self::_A2X&S&M1&M2&M with self::MX {
synthetic constructor •() → self::A2X
: super self::_A2X&S&M1&M2&M::•()
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
abstract class _B0&S&M = self::S with self::M {
synthetic constructor •() → self::_B0&S&M
@@ -242,10 +308,12 @@
synthetic constructor •() → self::_B1&S&M1&M
: super self::_B1&S&M1::•()
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
class B1 extends self::_B1&S&M1&M {
synthetic constructor •() → self::B1
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
abstract class _B2&S&M1 = self::S with self::M1 {
synthetic constructor •() → self::_B2&S&M1
@@ -261,10 +329,12 @@
synthetic constructor •() → self::_B2&S&M1&M2&M
: super self::_B2&S&M1&M2::•()
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
class B2 extends self::_B2&S&M1&M2&M {
synthetic constructor •() → self::B2
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
abstract class _B0X&S&M = self::S with self::M {
synthetic constructor •() → self::_B0X&S&M
@@ -289,15 +359,18 @@
synthetic constructor •() → self::_B1X&S&M1&M
: super self::_B1X&S&M1::•()
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
abstract class _B1X&S&M1&M&MX = self::_B1X&S&M1&M with self::MX {
synthetic constructor •() → self::_B1X&S&M1&M&MX
: super self::_B1X&S&M1&M::•()
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
class B1X extends self::_B1X&S&M1&M&MX {
synthetic constructor •() → self::B1X
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
abstract class _B2X&S&M1 = self::S with self::M1 {
synthetic constructor •() → self::_B2X&S&M1
@@ -313,15 +386,18 @@
synthetic constructor •() → self::_B2X&S&M1&M2&M
: super self::_B2X&S&M1&M2::•()
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
abstract class _B2X&S&M1&M2&M&MX = self::_B2X&S&M1&M2&M with self::MX {
synthetic constructor •() → self::_B2X&S&M1&M2&M&MX
: super self::_B2X&S&M1&M2&M::•()
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
class B2X extends self::_B2X&S&M1&M2&M&MX {
synthetic constructor •() → self::B2X
;
+ abstract forwarding-stub method foo([dynamic x]) → dynamic;
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/native_as_name.dart.legacy.expect b/pkg/front_end/testcases/native_as_name.dart.legacy.expect
index 52a151a..b2691b8 100644
--- a/pkg/front_end/testcases/native_as_name.dart.legacy.expect
+++ b/pkg/front_end/testcases/native_as_name.dart.legacy.expect
@@ -34,7 +34,7 @@
synthetic constructor •() → self::Z
: super core::Object::•()
;
- set native(core::String s) → dynamic
+ set native(core::String s) → void
return this.{self::Z::f} = s;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/native_as_name.dart.legacy.transformed.expect b/pkg/front_end/testcases/native_as_name.dart.legacy.transformed.expect
index 52a151a..b2691b8 100644
--- a/pkg/front_end/testcases/native_as_name.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/native_as_name.dart.legacy.transformed.expect
@@ -34,7 +34,7 @@
synthetic constructor •() → self::Z
: super core::Object::•()
;
- set native(core::String s) → dynamic
+ set native(core::String s) → void
return this.{self::Z::f} = s;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/native_as_name.dart.outline.expect b/pkg/front_end/testcases/native_as_name.dart.outline.expect
index b78f8ae..c2df01d 100644
--- a/pkg/front_end/testcases/native_as_name.dart.outline.expect
+++ b/pkg/front_end/testcases/native_as_name.dart.outline.expect
@@ -29,7 +29,7 @@
field core::String f;
synthetic constructor •() → self::Z
;
- set native(core::String s) → dynamic
+ set native(core::String s) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.expect
index 11c8d48..d420935 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
return "bar";
no-such-method-forwarder get foo() → core::int
return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} core::int;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.transformed.expect
index 11c8d48..d420935 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.transformed.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
return "bar";
no-such-method-forwarder get foo() → core::int
return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} core::int;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.outline.expect
index 1756340..e7230a4 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.outline.expect
@@ -10,7 +10,7 @@
class A extends core::Object implements self::I {
synthetic constructor •() → self::A
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
;
no-such-method-forwarder get foo() → core::int
return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} core::int;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.strong.expect
index 2e65c41..8387d6d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.strong.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.strong.expect
@@ -34,6 +34,6 @@
}
static method main() → dynamic {
self::A a = new self::A::•();
- self::expectTypeError(() → core::int => a.{self::A::foo});
+ self::expectTypeError(() → core::int => a.{self::I::foo});
self::expectTypeError(() → core::String => (a as dynamic).foo = "bar");
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.strong.transformed.expect
index 2e65c41..8387d6d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.strong.transformed.expect
@@ -34,6 +34,6 @@
}
static method main() → dynamic {
self::A a = new self::A::•();
- self::expectTypeError(() → core::int => a.{self::A::foo});
+ self::expectTypeError(() → core::int => a.{self::I::foo});
self::expectTypeError(() → core::String => (a as dynamic).foo = "bar");
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.expect
index 0e0e756..fa7bf1f 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- method noSuchMethod(dynamic i) → dynamic {
+ method noSuchMethod(core::Invocation i) → dynamic {
self::count = self::count.+(1);
return null;
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.transformed.expect
index e0f993c..dae5f70 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.transformed.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- method noSuchMethod(dynamic i) → dynamic {
+ method noSuchMethod(core::Invocation i) → dynamic {
self::count = self::count.+(1);
return null;
}
@@ -25,7 +25,7 @@
const synthetic constructor •() → self::_C&Object&B
: super core::Object::•()
;
- method noSuchMethod(dynamic i) → dynamic {
+ method noSuchMethod(core::Invocation i) → dynamic {
self::count = self::count.+(1);
return null;
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.outline.expect
index d92df10..11ba2e6 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.outline.expect
@@ -10,7 +10,7 @@
class B extends core::Object implements self::A {
synthetic constructor •() → self::B
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
;
no-such-method-forwarder get foo() → core::int
return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} core::int;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.expect
index c7fedd2..b172437 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.expect
@@ -14,7 +14,7 @@
;
get foo() → core::int
return 42;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
return "bar";
}
class C extends self::B {
@@ -29,7 +29,7 @@
: super core::Object::•()
;
set foo(core::int value) → void {}
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
return "bar";
}
class E extends self::D {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.transformed.expect
index c7fedd2..b172437 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.transformed.expect
@@ -14,7 +14,7 @@
;
get foo() → core::int
return 42;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
return "bar";
}
class C extends self::B {
@@ -29,7 +29,7 @@
: super core::Object::•()
;
set foo(core::int value) → void {}
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
return "bar";
}
class E extends self::D {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.outline.expect
index 523367d..ed38e84 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.outline.expect
@@ -12,7 +12,7 @@
;
get foo() → core::int
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
;
}
class C extends self::B {
@@ -26,7 +26,7 @@
;
set foo(core::int value) → void
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
;
}
class E extends self::D {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.strong.expect
index cb4a71e..7417039 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.strong.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.strong.expect
@@ -51,5 +51,5 @@
self::C c = new self::C::•();
self::expectTypeError(() → core::String => (c as dynamic).foo = "bar");
self::E e = new self::E::•();
- self::expectTypeError(() → core::int => e.{self::E::foo});
+ self::expectTypeError(() → core::int => e.{self::A::foo});
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.strong.transformed.expect
index cb4a71e..7417039 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.strong.transformed.expect
@@ -51,5 +51,5 @@
self::C c = new self::C::•();
self::expectTypeError(() → core::String => (c as dynamic).foo = "bar");
self::E e = new self::E::•();
- self::expectTypeError(() → core::int => e.{self::E::foo});
+ self::expectTypeError(() → core::int => e.{self::A::foo});
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.expect
index ed949f6..3daf444 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
return <dynamic>[];
no-such-method-forwarder get foo() → core::List<core::int>
return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} core::List<core::int>;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.transformed.expect
index ed949f6..3daf444 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.transformed.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
return <dynamic>[];
no-such-method-forwarder get foo() → core::List<core::int>
return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} core::List<core::int>;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.outline.expect
index 9679fbf..0cdcb88 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.outline.expect
@@ -10,7 +10,7 @@
class B extends core::Object implements self::A<core::int> {
synthetic constructor •() → self::B
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
;
no-such-method-forwarder get foo() → core::List<core::int>
return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} core::List<core::int>;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.strong.expect
index 0b0b415..a705020 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.strong.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.strong.expect
@@ -29,6 +29,6 @@
}
static method main() → dynamic {
self::B b = new self::B::•();
- self::expectTypeError(() → core::List<core::int> => b.{self::B::foo});
+ self::expectTypeError(() → core::List<core::int> => b.{self::A::foo});
self::expectTypeError(() → core::List<dynamic> => (b as dynamic).foo = <dynamic>[]);
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.strong.transformed.expect
index 0b0b415..a705020 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.strong.transformed.expect
@@ -29,6 +29,6 @@
}
static method main() → dynamic {
self::B b = new self::B::•();
- self::expectTypeError(() → core::List<core::int> => b.{self::B::foo});
+ self::expectTypeError(() → core::List<core::int> => b.{self::A::foo});
self::expectTypeError(() → core::List<dynamic> => (b as dynamic).foo = <dynamic>[]);
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.expect
index 521bedd..b71a516 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.expect
@@ -18,7 +18,7 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- method noSuchMethod(dynamic _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return null;
no-such-method-forwarder method foo() → dynamic
return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} dynamic;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.transformed.expect
index 528ca88..7cd29a7 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.transformed.expect
@@ -18,7 +18,7 @@
synthetic constructor •() → self::B
: super core::Object::•()
;
- method noSuchMethod(dynamic _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return null;
no-such-method-forwarder method foo() → dynamic
return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} dynamic;
@@ -27,7 +27,7 @@
synthetic constructor •() → self::_C&A&B
: super self::A::•()
;
- method noSuchMethod(dynamic _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return null;
}
class C extends self::_C&A&B {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.outline.expect
index 8007c45..f04505e 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.outline.expect
@@ -16,7 +16,7 @@
class B extends core::Object implements self::I {
synthetic constructor •() → self::B
;
- method noSuchMethod(dynamic _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
;
no-such-method-forwarder method foo() → dynamic
return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} dynamic;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.strong.expect
index 5f6f35b..075405d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.strong.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.strong.expect
@@ -31,10 +31,10 @@
static method main() → dynamic {
self::B b = new self::B::•();
dynamic value;
- if(!(value = b.{self::B::foo}()).{core::String::==}("baz")) {
+ if(!(value = b.{self::A::foo}()).{core::String::==}("baz")) {
throw "Unexpected value: '${value}'; expected 'baz'.";
}
- if(!(value = b.{self::B::hest}()).{core::num::==}(42)) {
+ if(!(value = b.{self::A::hest}()).{core::num::==}(42)) {
throw "Unexpected value: '${value}'; expected '42'.";
}
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.strong.transformed.expect
index 5f6f35b..075405d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.strong.transformed.expect
@@ -31,10 +31,10 @@
static method main() → dynamic {
self::B b = new self::B::•();
dynamic value;
- if(!(value = b.{self::B::foo}()).{core::String::==}("baz")) {
+ if(!(value = b.{self::A::foo}()).{core::String::==}("baz")) {
throw "Unexpected value: '${value}'; expected 'baz'.";
}
- if(!(value = b.{self::B::hest}()).{core::num::==}(42)) {
+ if(!(value = b.{self::A::hest}()).{core::num::==}(42)) {
throw "Unexpected value: '${value}'; expected '42'.";
}
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.expect
index f0470a5..f405f12 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.expect
@@ -6,7 +6,7 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
return null;
abstract method foo() → void;
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.transformed.expect
index f0470a5..f405f12 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.transformed.expect
@@ -6,7 +6,7 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
return null;
abstract method foo() → void;
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.outline.expect
index 32e8f80..e5f2ba8 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.outline.expect
@@ -5,7 +5,7 @@
abstract class A extends core::Object {
synthetic constructor •() → self::A
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
;
abstract method foo() → void;
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.expect
index bf620af..05f2839 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.expect
@@ -6,7 +6,7 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
return null;
abstract method foo() → void;
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.transformed.expect
index bf620af..05f2839 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.transformed.expect
@@ -6,7 +6,7 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
return null;
abstract method foo() → void;
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.outline.expect
index e72d0cf..df83640 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.outline.expect
@@ -5,7 +5,7 @@
abstract class A extends core::Object {
synthetic constructor •() → self::A
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
;
abstract method foo() → void;
}
diff --git a/pkg/front_end/testcases/operators.dart.legacy.expect b/pkg/front_end/testcases/operators.dart.legacy.expect
index 9760fe2..639223b 100644
--- a/pkg/front_end/testcases/operators.dart.legacy.expect
+++ b/pkg/front_end/testcases/operators.dart.legacy.expect
@@ -18,7 +18,7 @@
return null;
operator /(dynamic other) → dynamic
return null;
- operator ==(dynamic other) → dynamic
+ operator ==(dynamic other) → core::bool
return null;
operator >(dynamic other) → dynamic
return null;
diff --git a/pkg/front_end/testcases/operators.dart.legacy.transformed.expect b/pkg/front_end/testcases/operators.dart.legacy.transformed.expect
index 9760fe2..639223b 100644
--- a/pkg/front_end/testcases/operators.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/operators.dart.legacy.transformed.expect
@@ -18,7 +18,7 @@
return null;
operator /(dynamic other) → dynamic
return null;
- operator ==(dynamic other) → dynamic
+ operator ==(dynamic other) → core::bool
return null;
operator >(dynamic other) → dynamic
return null;
diff --git a/pkg/front_end/testcases/operators.dart.outline.expect b/pkg/front_end/testcases/operators.dart.outline.expect
index 22aa8c4..68ed1ff 100644
--- a/pkg/front_end/testcases/operators.dart.outline.expect
+++ b/pkg/front_end/testcases/operators.dart.outline.expect
@@ -17,7 +17,7 @@
;
operator /(dynamic other) → dynamic
;
- operator ==(dynamic other) → dynamic
+ operator ==(dynamic other) → core::bool
;
operator >(dynamic other) → dynamic
;
diff --git a/pkg/front_end/testcases/optional.dart.outline.expect b/pkg/front_end/testcases/optional.dart.outline.expect
index 0f681fd..03d2b6e 100644
--- a/pkg/front_end/testcases/optional.dart.outline.expect
+++ b/pkg/front_end/testcases/optional.dart.outline.expect
@@ -22,13 +22,13 @@
class TestListener extends self::Listener {
synthetic constructor •() → self::TestListener
;
- method event(dynamic input, [dynamic x, dynamic y]) → void
+ method event(core::String input, [core::int x, core::int y]) → void
;
}
class ExtendedListener extends self::Listener {
synthetic constructor •() → self::ExtendedListener
;
- method event(dynamic input, [dynamic x, dynamic y, dynamic z]) → void
+ method event(core::String input, [core::int x, core::int y, dynamic z]) → void
;
}
class InvalidListener extends core::Object {
diff --git a/pkg/front_end/testcases/override_check_accessor_after_inference.dart.legacy.expect b/pkg/front_end/testcases/override_check_accessor_after_inference.dart.legacy.expect
index cf84a61..b8259ec 100644
--- a/pkg/front_end/testcases/override_check_accessor_after_inference.dart.legacy.expect
+++ b/pkg/front_end/testcases/override_check_accessor_after_inference.dart.legacy.expect
@@ -24,8 +24,8 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- set x(dynamic value) → void {}
- get y() → dynamic
+ set x(self::A value) → void {}
+ get y() → self::B
return null;
}
class E extends self::D {
diff --git a/pkg/front_end/testcases/override_check_accessor_after_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/override_check_accessor_after_inference.dart.legacy.transformed.expect
index cf84a61..b8259ec 100644
--- a/pkg/front_end/testcases/override_check_accessor_after_inference.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/override_check_accessor_after_inference.dart.legacy.transformed.expect
@@ -24,8 +24,8 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- set x(dynamic value) → void {}
- get y() → dynamic
+ set x(self::A value) → void {}
+ get y() → self::B
return null;
}
class E extends self::D {
diff --git a/pkg/front_end/testcases/override_check_accessor_after_inference.dart.outline.expect b/pkg/front_end/testcases/override_check_accessor_after_inference.dart.outline.expect
index 98a1f1b..f6baaa1 100644
--- a/pkg/front_end/testcases/override_check_accessor_after_inference.dart.outline.expect
+++ b/pkg/front_end/testcases/override_check_accessor_after_inference.dart.outline.expect
@@ -21,9 +21,9 @@
class D extends self::C {
synthetic constructor •() → self::D
;
- set x(dynamic value) → void
+ set x(self::A value) → void
;
- get y() → dynamic
+ get y() → self::B
;
}
class E extends self::D {
diff --git a/pkg/front_end/testcases/override_check_accessor_with_covariant_modifier.dart.legacy.expect b/pkg/front_end/testcases/override_check_accessor_with_covariant_modifier.dart.legacy.expect
index 7a03141..ec9f575 100644
--- a/pkg/front_end/testcases/override_check_accessor_with_covariant_modifier.dart.legacy.expect
+++ b/pkg/front_end/testcases/override_check_accessor_with_covariant_modifier.dart.legacy.expect
@@ -27,7 +27,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- set x1(self::B value) → void {}
+ set x1(covariant self::B value) → void {}
set x2(covariant self::B value) → void {}
set x3(covariant self::B value) → void {}
set x4(self::B value) → void {}
diff --git a/pkg/front_end/testcases/override_check_accessor_with_covariant_modifier.dart.legacy.transformed.expect b/pkg/front_end/testcases/override_check_accessor_with_covariant_modifier.dart.legacy.transformed.expect
index 7a03141..ec9f575 100644
--- a/pkg/front_end/testcases/override_check_accessor_with_covariant_modifier.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/override_check_accessor_with_covariant_modifier.dart.legacy.transformed.expect
@@ -27,7 +27,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- set x1(self::B value) → void {}
+ set x1(covariant self::B value) → void {}
set x2(covariant self::B value) → void {}
set x3(covariant self::B value) → void {}
set x4(self::B value) → void {}
diff --git a/pkg/front_end/testcases/override_check_accessor_with_covariant_modifier.dart.outline.expect b/pkg/front_end/testcases/override_check_accessor_with_covariant_modifier.dart.outline.expect
index f5ae95c..eb8c429 100644
--- a/pkg/front_end/testcases/override_check_accessor_with_covariant_modifier.dart.outline.expect
+++ b/pkg/front_end/testcases/override_check_accessor_with_covariant_modifier.dart.outline.expect
@@ -29,7 +29,7 @@
class D extends self::C {
synthetic constructor •() → self::D
;
- set x1(self::B value) → void
+ set x1(covariant self::B value) → void
;
set x2(covariant self::B value) → void
;
diff --git a/pkg/front_end/testcases/override_check_after_inference.dart.legacy.expect b/pkg/front_end/testcases/override_check_after_inference.dart.legacy.expect
index deaf420..adf56f6 100644
--- a/pkg/front_end/testcases/override_check_after_inference.dart.legacy.expect
+++ b/pkg/front_end/testcases/override_check_after_inference.dart.legacy.expect
@@ -22,7 +22,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- method f(dynamic x) → void {}
+ method f(self::A x) → void {}
}
class E extends self::D {
synthetic constructor •() → self::E
diff --git a/pkg/front_end/testcases/override_check_after_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/override_check_after_inference.dart.legacy.transformed.expect
index deaf420..adf56f6 100644
--- a/pkg/front_end/testcases/override_check_after_inference.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/override_check_after_inference.dart.legacy.transformed.expect
@@ -22,7 +22,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- method f(dynamic x) → void {}
+ method f(self::A x) → void {}
}
class E extends self::D {
synthetic constructor •() → self::E
diff --git a/pkg/front_end/testcases/override_check_after_inference.dart.outline.expect b/pkg/front_end/testcases/override_check_after_inference.dart.outline.expect
index 82c9ce4..6f3f1e6 100644
--- a/pkg/front_end/testcases/override_check_after_inference.dart.outline.expect
+++ b/pkg/front_end/testcases/override_check_after_inference.dart.outline.expect
@@ -19,7 +19,7 @@
class D extends self::C {
synthetic constructor •() → self::D
;
- method f(dynamic x) → void
+ method f(self::A x) → void
;
}
class E extends self::D {
diff --git a/pkg/front_end/testcases/override_check_two_substitutions.dart.legacy.expect b/pkg/front_end/testcases/override_check_two_substitutions.dart.legacy.expect
index dd0c4d5..05d92ea 100644
--- a/pkg/front_end/testcases/override_check_two_substitutions.dart.legacy.expect
+++ b/pkg/front_end/testcases/override_check_two_substitutions.dart.legacy.expect
@@ -12,6 +12,6 @@
synthetic constructor •() → self::B
: super self::A::•()
;
- method f<V extends core::Object = dynamic>(core::Map<core::String, self::B::f::V> m) → void {}
+ method f<V extends core::Object = dynamic>(generic-covariant-impl core::Map<core::String, self::B::f::V> m) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/override_check_two_substitutions.dart.legacy.transformed.expect b/pkg/front_end/testcases/override_check_two_substitutions.dart.legacy.transformed.expect
index dd0c4d5..05d92ea 100644
--- a/pkg/front_end/testcases/override_check_two_substitutions.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/override_check_two_substitutions.dart.legacy.transformed.expect
@@ -12,6 +12,6 @@
synthetic constructor •() → self::B
: super self::A::•()
;
- method f<V extends core::Object = dynamic>(core::Map<core::String, self::B::f::V> m) → void {}
+ method f<V extends core::Object = dynamic>(generic-covariant-impl core::Map<core::String, self::B::f::V> m) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/override_check_two_substitutions.dart.outline.expect b/pkg/front_end/testcases/override_check_two_substitutions.dart.outline.expect
index e836ac4..713595c 100644
--- a/pkg/front_end/testcases/override_check_two_substitutions.dart.outline.expect
+++ b/pkg/front_end/testcases/override_check_two_substitutions.dart.outline.expect
@@ -11,7 +11,7 @@
class B extends self::A<core::String> {
synthetic constructor •() → self::B
;
- method f<V extends core::Object = dynamic>(core::Map<core::String, self::B::f::V> m) → void
+ method f<V extends core::Object = dynamic>(generic-covariant-impl core::Map<core::String, self::B::f::V> m) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/override_check_with_covariant_modifier.dart.legacy.expect b/pkg/front_end/testcases/override_check_with_covariant_modifier.dart.legacy.expect
index bd8f94e..30f268c 100644
--- a/pkg/front_end/testcases/override_check_with_covariant_modifier.dart.legacy.expect
+++ b/pkg/front_end/testcases/override_check_with_covariant_modifier.dart.legacy.expect
@@ -27,7 +27,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- method f1(self::B x) → void {}
+ method f1(covariant self::B x) → void {}
method f2(covariant self::B x) → void {}
method f3(covariant self::B x) → void {}
method f4(self::B x) → void {}
diff --git a/pkg/front_end/testcases/override_check_with_covariant_modifier.dart.legacy.transformed.expect b/pkg/front_end/testcases/override_check_with_covariant_modifier.dart.legacy.transformed.expect
index bd8f94e..30f268c 100644
--- a/pkg/front_end/testcases/override_check_with_covariant_modifier.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/override_check_with_covariant_modifier.dart.legacy.transformed.expect
@@ -27,7 +27,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- method f1(self::B x) → void {}
+ method f1(covariant self::B x) → void {}
method f2(covariant self::B x) → void {}
method f3(covariant self::B x) → void {}
method f4(self::B x) → void {}
diff --git a/pkg/front_end/testcases/override_check_with_covariant_modifier.dart.outline.expect b/pkg/front_end/testcases/override_check_with_covariant_modifier.dart.outline.expect
index 2d4aa32..5ff196d 100644
--- a/pkg/front_end/testcases/override_check_with_covariant_modifier.dart.outline.expect
+++ b/pkg/front_end/testcases/override_check_with_covariant_modifier.dart.outline.expect
@@ -29,7 +29,7 @@
class D extends self::C {
synthetic constructor •() → self::D
;
- method f1(self::B x) → void
+ method f1(covariant self::B x) → void
;
method f2(covariant self::B x) → void
;
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.expect
index 5a47079..ad364e1 100644
--- a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.expect
+++ b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.expect
@@ -15,7 +15,7 @@
C() : field = null;
^^^^^"
;
- set field(dynamic value) → dynamic {}
+ set field(dynamic value) → void {}
}
static method main() → dynamic {
new self::C::•();
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.transformed.expect
index 5a47079..ad364e1 100644
--- a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.transformed.expect
@@ -15,7 +15,7 @@
C() : field = null;
^^^^^"
;
- set field(dynamic value) → dynamic {}
+ set field(dynamic value) → void {}
}
static method main() → dynamic {
new self::C::•();
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.outline.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.outline.expect
index 97d6cdd..1f58e29 100644
--- a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.outline.expect
@@ -5,7 +5,7 @@
class C extends core::Object {
constructor •() → self::C
;
- set field(dynamic value) → dynamic
+ set field(dynamic value) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.expect
index 5fabc15..3be7ccc 100644
--- a/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.expect
+++ b/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.expect
@@ -4,7 +4,7 @@
static get x() → dynamic
return 42;
-static set x(dynamic val) → dynamic {}
+static set x(dynamic val) → void {}
static method main() → dynamic {
core::print(self::x);
core::print(self::x = 87);
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.transformed.expect
index 5fabc15..3be7ccc 100644
--- a/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.transformed.expect
@@ -4,7 +4,7 @@
static get x() → dynamic
return 42;
-static set x(dynamic val) → dynamic {}
+static set x(dynamic val) → void {}
static method main() → dynamic {
core::print(self::x);
core::print(self::x = 87);
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.outline.expect
index aab1950..8ee979d 100644
--- a/pkg/front_end/testcases/rasta/issue_000025.dart.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000025.dart.outline.expect
@@ -3,7 +3,7 @@
static get x() → dynamic
;
-static set x(dynamic val) → dynamic
+static set x(dynamic val) → void
;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.expect
index 230c10b..4dbd973 100644
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.expect
+++ b/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.expect
@@ -6,7 +6,7 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
- operator ==(dynamic other) → dynamic
+ operator ==(dynamic other) → core::bool
return throw "x";
method test() → dynamic {
super.{core::Object::==}(null);
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.transformed.expect
index 230c10b..4dbd973 100644
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.transformed.expect
@@ -6,7 +6,7 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
- operator ==(dynamic other) → dynamic
+ operator ==(dynamic other) → core::bool
return throw "x";
method test() → dynamic {
super.{core::Object::==}(null);
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.outline.expect
index bc032b0..f3f1fd5 100644
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000053.dart.outline.expect
@@ -5,7 +5,7 @@
class C extends core::Object {
synthetic constructor •() → self::C
;
- operator ==(dynamic other) → dynamic
+ operator ==(dynamic other) → core::bool
;
method test() → dynamic
;
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.outline.expect
index cb7bd6b..b12559d 100644
--- a/pkg/front_end/testcases/rasta/issue_000081.dart.outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000081.dart.outline.expect
@@ -11,7 +11,7 @@
field core::int _hashCode;
synthetic constructor •() → self::Sub
;
- get hashCode() → dynamic
+ get hashCode() → core::int
;
method foo() → dynamic
;
diff --git a/pkg/front_end/testcases/rasta/native_is_illegal.dart.outline.expect b/pkg/front_end/testcases/rasta/native_is_illegal.dart.outline.expect
index a7ea25b..fc3831b 100644
--- a/pkg/front_end/testcases/rasta/native_is_illegal.dart.outline.expect
+++ b/pkg/front_end/testcases/rasta/native_is_illegal.dart.outline.expect
@@ -5,7 +5,7 @@
class Bar extends core::Object {
get x() → self::Bar
;
- set x(self::Bar value) → dynamic
+ set x(self::Bar value) → void
;
method f() → dynamic
;
diff --git a/pkg/front_end/testcases/rasta/static.dart.legacy.expect b/pkg/front_end/testcases/rasta/static.dart.legacy.expect
index 70d0f8c..b9c1b3e 100644
--- a/pkg/front_end/testcases/rasta/static.dart.legacy.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.legacy.expect
@@ -150,7 +150,7 @@
static method staticFunction() → dynamic {}
static get staticGetter() → dynamic
return null;
- static set staticSetter(dynamic _) → dynamic {}
+ static set staticSetter(dynamic _) → void {}
}
static method use(dynamic x) → dynamic {
if(x.==(new core::DateTime::now().millisecondsSinceEpoch))
diff --git a/pkg/front_end/testcases/rasta/static.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/static.dart.legacy.transformed.expect
index 70d0f8c..b9c1b3e 100644
--- a/pkg/front_end/testcases/rasta/static.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.legacy.transformed.expect
@@ -150,7 +150,7 @@
static method staticFunction() → dynamic {}
static get staticGetter() → dynamic
return null;
- static set staticSetter(dynamic _) → dynamic {}
+ static set staticSetter(dynamic _) → void {}
}
static method use(dynamic x) → dynamic {
if(x.==(new core::DateTime::now().millisecondsSinceEpoch))
diff --git a/pkg/front_end/testcases/rasta/static.dart.outline.expect b/pkg/front_end/testcases/rasta/static.dart.outline.expect
index f9b177a..2e9d362 100644
--- a/pkg/front_end/testcases/rasta/static.dart.outline.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.outline.expect
@@ -11,7 +11,7 @@
;
static get staticGetter() → dynamic
;
- static set staticSetter(dynamic _) → dynamic
+ static set staticSetter(dynamic _) → void
;
}
static method use(dynamic x) → dynamic
diff --git a/pkg/front_end/testcases/rasta/super.dart.legacy.expect b/pkg/front_end/testcases/rasta/super.dart.legacy.expect
index 55dfd57..dbd7908 100644
--- a/pkg/front_end/testcases/rasta/super.dart.legacy.expect
+++ b/pkg/front_end/testcases/rasta/super.dart.legacy.expect
@@ -253,24 +253,24 @@
;
get e() → dynamic
return null;
- set g(dynamic _) → dynamic {}
+ set g(dynamic _) → void {}
get h() → dynamic
return null;
- set h(dynamic _) → dynamic {}
+ set h(dynamic _) → void {}
get i() → dynamic
return null;
operator [](dynamic _) → dynamic
return null;
- operator []=(dynamic a, dynamic b) → dynamic {}
+ operator []=(dynamic a, dynamic b) → void {}
operator ~() → dynamic
return 117;
operator unary-() → dynamic
return 117;
- operator ==(dynamic other) → dynamic
+ operator ==(dynamic other) → core::bool
return true;
method m() → void {}
method n() → void {}
- set n(dynamic _) → dynamic {}
+ set n(dynamic _) → void {}
}
class B extends self::A {
final field dynamic d = null;
@@ -279,8 +279,8 @@
;
get b() → dynamic
return null;
- set c(dynamic x) → dynamic {}
- set i(dynamic x) → dynamic {}
+ set c(dynamic x) → void {}
+ set i(dynamic x) → void {}
}
class C extends self::B {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/rasta/super.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/super.dart.legacy.transformed.expect
index 55dfd57..dbd7908 100644
--- a/pkg/front_end/testcases/rasta/super.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/rasta/super.dart.legacy.transformed.expect
@@ -253,24 +253,24 @@
;
get e() → dynamic
return null;
- set g(dynamic _) → dynamic {}
+ set g(dynamic _) → void {}
get h() → dynamic
return null;
- set h(dynamic _) → dynamic {}
+ set h(dynamic _) → void {}
get i() → dynamic
return null;
operator [](dynamic _) → dynamic
return null;
- operator []=(dynamic a, dynamic b) → dynamic {}
+ operator []=(dynamic a, dynamic b) → void {}
operator ~() → dynamic
return 117;
operator unary-() → dynamic
return 117;
- operator ==(dynamic other) → dynamic
+ operator ==(dynamic other) → core::bool
return true;
method m() → void {}
method n() → void {}
- set n(dynamic _) → dynamic {}
+ set n(dynamic _) → void {}
}
class B extends self::A {
final field dynamic d = null;
@@ -279,8 +279,8 @@
;
get b() → dynamic
return null;
- set c(dynamic x) → dynamic {}
- set i(dynamic x) → dynamic {}
+ set c(dynamic x) → void {}
+ set i(dynamic x) → void {}
}
class C extends self::B {
synthetic constructor •() → self::C
diff --git a/pkg/front_end/testcases/rasta/super.dart.outline.expect b/pkg/front_end/testcases/rasta/super.dart.outline.expect
index d668783..9b0da41 100644
--- a/pkg/front_end/testcases/rasta/super.dart.outline.expect
+++ b/pkg/front_end/testcases/rasta/super.dart.outline.expect
@@ -22,29 +22,29 @@
;
get e() → dynamic
;
- set g(dynamic _) → dynamic
+ set g(dynamic _) → void
;
get h() → dynamic
;
- set h(dynamic _) → dynamic
+ set h(dynamic _) → void
;
get i() → dynamic
;
operator [](dynamic _) → dynamic
;
- operator []=(dynamic a, dynamic b) → dynamic
+ operator []=(dynamic a, dynamic b) → void
;
operator ~() → dynamic
;
operator unary-() → dynamic
;
- operator ==(dynamic other) → dynamic
+ operator ==(dynamic other) → core::bool
;
method m() → void
;
method n() → void
;
- set n(dynamic _) → dynamic
+ set n(dynamic _) → void
;
}
class B extends self::A {
@@ -53,9 +53,9 @@
;
get b() → dynamic
;
- set c(dynamic x) → dynamic
+ set c(dynamic x) → void
;
- set i(dynamic x) → dynamic
+ set i(dynamic x) → void
;
}
class C extends self::B {
diff --git a/pkg/front_end/testcases/rasta/super_operator.dart.outline.expect b/pkg/front_end/testcases/rasta/super_operator.dart.outline.expect
index d0ecc4d..01e59ad 100644
--- a/pkg/front_end/testcases/rasta/super_operator.dart.outline.expect
+++ b/pkg/front_end/testcases/rasta/super_operator.dart.outline.expect
@@ -9,7 +9,7 @@
;
operator [](dynamic i) → dynamic
;
- operator []=(dynamic i, dynamic val) → dynamic
+ operator []=(dynamic i, dynamic val) → void
;
}
class B extends self::A {
@@ -19,7 +19,7 @@
;
operator [](dynamic i) → dynamic
;
- operator []=(dynamic i, dynamic val) → dynamic
+ operator []=(dynamic i, dynamic val) → void
;
}
class Autobianchi extends core::Object {
diff --git a/pkg/front_end/testcases/redirection_chain_type_arguments.dart.legacy.expect b/pkg/front_end/testcases/redirection_chain_type_arguments.dart.legacy.expect
index bba4f23..32a5b17 100644
--- a/pkg/front_end/testcases/redirection_chain_type_arguments.dart.legacy.expect
+++ b/pkg/front_end/testcases/redirection_chain_type_arguments.dart.legacy.expect
@@ -25,7 +25,7 @@
constructor •() → self::C<self::C::V, self::C::S, self::C::R>
: super self::B::empty()
;
- method toString() → dynamic
+ method toString() → core::String
return "${self::C::V},${self::C::S},${self::C::R}";
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/redirection_chain_type_arguments.dart.legacy.transformed.expect b/pkg/front_end/testcases/redirection_chain_type_arguments.dart.legacy.transformed.expect
index bba4f23..32a5b17 100644
--- a/pkg/front_end/testcases/redirection_chain_type_arguments.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/redirection_chain_type_arguments.dart.legacy.transformed.expect
@@ -25,7 +25,7 @@
constructor •() → self::C<self::C::V, self::C::S, self::C::R>
: super self::B::empty()
;
- method toString() → dynamic
+ method toString() → core::String
return "${self::C::V},${self::C::S},${self::C::R}";
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/redirection_chain_type_arguments.dart.outline.expect b/pkg/front_end/testcases/redirection_chain_type_arguments.dart.outline.expect
index 3b0ee19..d4a0e63 100644
--- a/pkg/front_end/testcases/redirection_chain_type_arguments.dart.outline.expect
+++ b/pkg/front_end/testcases/redirection_chain_type_arguments.dart.outline.expect
@@ -21,7 +21,7 @@
class C<V extends core::Object = dynamic, S extends core::Object = dynamic, R extends core::Object = dynamic> extends self::B<self::C::V, self::C::S> {
constructor •() → self::C<self::C::V, self::C::S, self::C::R>
;
- method toString() → dynamic
+ method toString() → core::String
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/redirection_chain_type_arguments_subst.dart.legacy.expect b/pkg/front_end/testcases/redirection_chain_type_arguments_subst.dart.legacy.expect
index cee4e10..09e1d27 100644
--- a/pkg/front_end/testcases/redirection_chain_type_arguments_subst.dart.legacy.expect
+++ b/pkg/front_end/testcases/redirection_chain_type_arguments_subst.dart.legacy.expect
@@ -25,7 +25,7 @@
constructor •() → self::C<self::C::V, self::C::S, self::C::R>
: super self::B::empty()
;
- method toString() → dynamic
+ method toString() → core::String
return "${self::C::V},${self::C::S},${self::C::R}";
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/redirection_chain_type_arguments_subst.dart.legacy.transformed.expect b/pkg/front_end/testcases/redirection_chain_type_arguments_subst.dart.legacy.transformed.expect
index cee4e10..09e1d27 100644
--- a/pkg/front_end/testcases/redirection_chain_type_arguments_subst.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/redirection_chain_type_arguments_subst.dart.legacy.transformed.expect
@@ -25,7 +25,7 @@
constructor •() → self::C<self::C::V, self::C::S, self::C::R>
: super self::B::empty()
;
- method toString() → dynamic
+ method toString() → core::String
return "${self::C::V},${self::C::S},${self::C::R}";
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/redirection_chain_type_arguments_subst.dart.outline.expect b/pkg/front_end/testcases/redirection_chain_type_arguments_subst.dart.outline.expect
index 2b481ac..f9db296 100644
--- a/pkg/front_end/testcases/redirection_chain_type_arguments_subst.dart.outline.expect
+++ b/pkg/front_end/testcases/redirection_chain_type_arguments_subst.dart.outline.expect
@@ -21,7 +21,7 @@
class C<V extends core::Object = dynamic, S extends core::Object = dynamic, R extends core::Object = dynamic> extends self::B<self::C::V, self::C::S> {
constructor •() → self::C<self::C::V, self::C::S, self::C::R>
;
- method toString() → dynamic
+ method toString() → core::String
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/redirection_type_arguments.dart.legacy.expect b/pkg/front_end/testcases/redirection_type_arguments.dart.legacy.expect
index 2fff34d..0dc1e9e 100644
--- a/pkg/front_end/testcases/redirection_type_arguments.dart.legacy.expect
+++ b/pkg/front_end/testcases/redirection_type_arguments.dart.legacy.expect
@@ -17,7 +17,7 @@
const constructor •() → self::B<self::B::T>
: super self::A::empty()
;
- method toString() → dynamic
+ method toString() → core::String
return "${self::B::T}";
}
static method main() → void {
diff --git a/pkg/front_end/testcases/redirection_type_arguments.dart.legacy.transformed.expect b/pkg/front_end/testcases/redirection_type_arguments.dart.legacy.transformed.expect
index 2fff34d..0dc1e9e 100644
--- a/pkg/front_end/testcases/redirection_type_arguments.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/redirection_type_arguments.dart.legacy.transformed.expect
@@ -17,7 +17,7 @@
const constructor •() → self::B<self::B::T>
: super self::A::empty()
;
- method toString() → dynamic
+ method toString() → core::String
return "${self::B::T}";
}
static method main() → void {
diff --git a/pkg/front_end/testcases/redirection_type_arguments.dart.outline.expect b/pkg/front_end/testcases/redirection_type_arguments.dart.outline.expect
index 4e65df8..0fcea3e 100644
--- a/pkg/front_end/testcases/redirection_type_arguments.dart.outline.expect
+++ b/pkg/front_end/testcases/redirection_type_arguments.dart.outline.expect
@@ -14,7 +14,7 @@
class B<T extends core::Object = dynamic> extends self::A {
const constructor •() → self::B<self::B::T>
;
- method toString() → dynamic
+ method toString() → core::String
;
}
static method main() → void
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_30834.dart.legacy.expect
index d90c580..2f3e686 100644
--- a/pkg/front_end/testcases/regress/issue_30834.dart.legacy.expect
+++ b/pkg/front_end/testcases/regress/issue_30834.dart.legacy.expect
@@ -13,7 +13,7 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- set A(dynamic v) → dynamic {}
+ set A(dynamic v) → void {}
}
static method main() → dynamic {
dynamic a = new self::A::•();
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_30834.dart.legacy.transformed.expect
index d90c580..2f3e686 100644
--- a/pkg/front_end/testcases/regress/issue_30834.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_30834.dart.legacy.transformed.expect
@@ -13,7 +13,7 @@
synthetic constructor •() → self::A
: super core::Object::•()
;
- set A(dynamic v) → dynamic {}
+ set A(dynamic v) → void {}
}
static method main() → dynamic {
dynamic a = new self::A::•();
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.outline.expect b/pkg/front_end/testcases/regress/issue_30834.dart.outline.expect
index b7a0c48..f48580b 100644
--- a/pkg/front_end/testcases/regress/issue_30834.dart.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_30834.dart.outline.expect
@@ -12,7 +12,7 @@
class A extends core::Object {
synthetic constructor •() → self::A
;
- set A(dynamic v) → dynamic
+ set A(dynamic v) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_32660.dart.hierarchy.expect
index 5c7b6fa..3cbcc36 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.hierarchy.expect
@@ -77,7 +77,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- A.foo
+ C.A.foo%B.foo
C.noSuchMethod
Object._identityHashCode
Object.hashCode
@@ -114,7 +114,7 @@
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
- D.foo
+ E.D.foo%E.foo
E.noSuchMethod
Object._identityHashCode
Object.hashCode
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_32660.dart.legacy.expect
index 46f8dc2..e4d64d6 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.legacy.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.legacy.expect
@@ -1,4 +1,27 @@
library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_32660.dart:21:3: Warning: The method 'D.foo' has fewer named arguments than those of overridden method 'E.foo'.
+// foo(int x) => x;
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:25:3: Context: This is the overridden method ('foo').
+// foo(int x, {int y});
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:24:7: Context: Both members are inherited by the non-abstract class 'E'.
+// class E extends D {
+// ^
+//
+// pkg/front_end/testcases/regress/issue_32660.dart:6:3: Warning: The method 'A.foo' has fewer named arguments than those of overridden method 'B.foo'.
+// foo(int x) => x;
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:10:3: Context: This is the overridden method ('foo').
+// foo(int x, {int y}) => y;
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:13:7: Context: Both members are inherited by the non-abstract class 'C'.
+// class C extends A implements B {
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -20,10 +43,11 @@
synthetic constructor •() → self::C
: super self::A::•()
;
- method noSuchMethod(dynamic i) → dynamic {
+ method noSuchMethod(core::Invocation i) → dynamic {
core::print("No such method!");
return 42;
}
+ abstract forwarding-stub method foo(core::int x, {core::int y = null}) → dynamic;
}
class D extends core::Object {
synthetic constructor •() → self::D
@@ -37,7 +61,7 @@
: super self::D::•()
;
abstract method foo(core::int x, {core::int y = null}) → dynamic;
- method noSuchMethod(dynamic i) → dynamic {
+ method noSuchMethod(core::Invocation i) → dynamic {
core::print(i.namedArguments);
return 42;
}
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_32660.dart.legacy.transformed.expect
index 46f8dc2..e4d64d6 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.legacy.transformed.expect
@@ -1,4 +1,27 @@
library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_32660.dart:21:3: Warning: The method 'D.foo' has fewer named arguments than those of overridden method 'E.foo'.
+// foo(int x) => x;
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:25:3: Context: This is the overridden method ('foo').
+// foo(int x, {int y});
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:24:7: Context: Both members are inherited by the non-abstract class 'E'.
+// class E extends D {
+// ^
+//
+// pkg/front_end/testcases/regress/issue_32660.dart:6:3: Warning: The method 'A.foo' has fewer named arguments than those of overridden method 'B.foo'.
+// foo(int x) => x;
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:10:3: Context: This is the overridden method ('foo').
+// foo(int x, {int y}) => y;
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:13:7: Context: Both members are inherited by the non-abstract class 'C'.
+// class C extends A implements B {
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -20,10 +43,11 @@
synthetic constructor •() → self::C
: super self::A::•()
;
- method noSuchMethod(dynamic i) → dynamic {
+ method noSuchMethod(core::Invocation i) → dynamic {
core::print("No such method!");
return 42;
}
+ abstract forwarding-stub method foo(core::int x, {core::int y = null}) → dynamic;
}
class D extends core::Object {
synthetic constructor •() → self::D
@@ -37,7 +61,7 @@
: super self::D::•()
;
abstract method foo(core::int x, {core::int y = null}) → dynamic;
- method noSuchMethod(dynamic i) → dynamic {
+ method noSuchMethod(core::Invocation i) → dynamic {
core::print(i.namedArguments);
return 42;
}
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.outline.expect b/pkg/front_end/testcases/regress/issue_32660.dart.outline.expect
index 9dc571a..7b9f48b 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.outline.expect
@@ -1,4 +1,27 @@
library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_32660.dart:21:3: Warning: The method 'D.foo' has fewer named arguments than those of overridden method 'E.foo'.
+// foo(int x) => x;
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:25:3: Context: This is the overridden method ('foo').
+// foo(int x, {int y});
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:24:7: Context: Both members are inherited by the non-abstract class 'E'.
+// class E extends D {
+// ^
+//
+// pkg/front_end/testcases/regress/issue_32660.dart:6:3: Warning: The method 'A.foo' has fewer named arguments than those of overridden method 'B.foo'.
+// foo(int x) => x;
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:10:3: Context: This is the overridden method ('foo').
+// foo(int x, {int y}) => y;
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:13:7: Context: Both members are inherited by the non-abstract class 'C'.
+// class C extends A implements B {
+// ^
+//
import self as self;
import "dart:core" as core;
@@ -17,8 +40,9 @@
class C extends self::A implements self::B {
synthetic constructor •() → self::C
;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
;
+ abstract forwarding-stub method foo(core::int x, {core::int y}) → dynamic;
}
class D extends core::Object {
synthetic constructor •() → self::D
@@ -30,7 +54,7 @@
synthetic constructor •() → self::E
;
abstract method foo(core::int x, {core::int y}) → dynamic;
- method noSuchMethod(dynamic i) → dynamic
+ method noSuchMethod(core::Invocation i) → dynamic
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.strong.expect b/pkg/front_end/testcases/regress/issue_32660.dart.strong.expect
index 910fc65..73b1b6a 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.strong.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.strong.expect
@@ -2,16 +2,6 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/regress/issue_32660.dart:6:3: Error: The method 'A.foo' has fewer named arguments than those of overridden method 'B.foo'.
-// foo(int x) => x;
-// ^
-// pkg/front_end/testcases/regress/issue_32660.dart:10:3: Context: This is the overridden method ('foo').
-// foo(int x, {int y}) => y;
-// ^
-// pkg/front_end/testcases/regress/issue_32660.dart:13:7: Context: Both members are inherited by the non-abstract class 'C'.
-// class C extends A implements B {
-// ^
-//
// pkg/front_end/testcases/regress/issue_32660.dart:21:3: Error: The method 'D.foo' has fewer named arguments than those of overridden method 'E.foo'.
// foo(int x) => x;
// ^
@@ -22,6 +12,16 @@
// class E extends D {
// ^
//
+// pkg/front_end/testcases/regress/issue_32660.dart:6:3: Error: The method 'A.foo' has fewer named arguments than those of overridden method 'B.foo'.
+// foo(int x) => x;
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:10:3: Context: This is the overridden method ('foo').
+// foo(int x, {int y}) => y;
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:13:7: Context: Both members are inherited by the non-abstract class 'C'.
+// class C extends A implements B {
+// ^
+//
import self as self;
import "dart:core" as core;
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_32660.dart.strong.transformed.expect
index 910fc65..73b1b6a 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.strong.transformed.expect
@@ -2,16 +2,6 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/regress/issue_32660.dart:6:3: Error: The method 'A.foo' has fewer named arguments than those of overridden method 'B.foo'.
-// foo(int x) => x;
-// ^
-// pkg/front_end/testcases/regress/issue_32660.dart:10:3: Context: This is the overridden method ('foo').
-// foo(int x, {int y}) => y;
-// ^
-// pkg/front_end/testcases/regress/issue_32660.dart:13:7: Context: Both members are inherited by the non-abstract class 'C'.
-// class C extends A implements B {
-// ^
-//
// pkg/front_end/testcases/regress/issue_32660.dart:21:3: Error: The method 'D.foo' has fewer named arguments than those of overridden method 'E.foo'.
// foo(int x) => x;
// ^
@@ -22,6 +12,16 @@
// class E extends D {
// ^
//
+// pkg/front_end/testcases/regress/issue_32660.dart:6:3: Error: The method 'A.foo' has fewer named arguments than those of overridden method 'B.foo'.
+// foo(int x) => x;
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:10:3: Context: This is the overridden method ('foo').
+// foo(int x, {int y}) => y;
+// ^
+// pkg/front_end/testcases/regress/issue_32660.dart:13:7: Context: Both members are inherited by the non-abstract class 'C'.
+// class C extends A implements B {
+// ^
+//
import self as self;
import "dart:core" as core;
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_34225.dart.legacy.expect
index 24e8a2a..1b764c6 100644
--- a/pkg/front_end/testcases/regress/issue_34225.dart.legacy.expect
+++ b/pkg/front_end/testcases/regress/issue_34225.dart.legacy.expect
@@ -17,13 +17,13 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
- static set C(dynamic v) → dynamic {}
+ static set C(dynamic v) → void {}
}
class D extends core::Object {
synthetic constructor •() → self::D
: super core::Object::•()
;
- set D(dynamic v) → dynamic {}
+ set D(dynamic v) → void {}
}
static method main() → dynamic {
dynamic c = new self::C::•();
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_34225.dart.legacy.transformed.expect
index 24e8a2a..1b764c6 100644
--- a/pkg/front_end/testcases/regress/issue_34225.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34225.dart.legacy.transformed.expect
@@ -17,13 +17,13 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
- static set C(dynamic v) → dynamic {}
+ static set C(dynamic v) → void {}
}
class D extends core::Object {
synthetic constructor •() → self::D
: super core::Object::•()
;
- set D(dynamic v) → dynamic {}
+ set D(dynamic v) → void {}
}
static method main() → dynamic {
dynamic c = new self::C::•();
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.outline.expect b/pkg/front_end/testcases/regress/issue_34225.dart.outline.expect
index 4582fae..5cfdb48 100644
--- a/pkg/front_end/testcases/regress/issue_34225.dart.outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34225.dart.outline.expect
@@ -16,13 +16,13 @@
class C extends core::Object {
synthetic constructor •() → self::C
;
- static set C(dynamic v) → dynamic
+ static set C(dynamic v) → void
;
}
class D extends core::Object {
synthetic constructor •() → self::D
;
- set D(dynamic v) → dynamic
+ set D(dynamic v) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.expect
index 96700b1..2092b43 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.expect
@@ -13,15 +13,15 @@
synthetic constructor •() → self::C<self::C::U>
: super core::Object::•()
;
- method f1(core::int x) → void {}
- method f2(core::int x, [generic-covariant-impl self::C::U y = null]) → void {}
+ method f1(generic-covariant-impl core::int x) → void {}
+ method f2(generic-covariant-impl core::int x, [generic-covariant-impl self::C::U y = null]) → void {}
}
class D<U extends core::Object = dynamic> extends self::C<self::D::U> {
synthetic constructor •() → self::D<self::D::U>
: super self::C::•()
;
- method f1(core::int x) → void {}
- method f2(core::int x, [generic-covariant-impl self::D::U y = null]) → void {}
+ method f1(generic-covariant-impl core::int x) → void {}
+ method f2(generic-covariant-impl core::int x, [generic-covariant-impl self::D::U y = null]) → void {}
}
static method g1(self::C<core::num> c) → void {
c.f1(1);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.transformed.expect
index 96700b1..2092b43 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.transformed.expect
@@ -13,15 +13,15 @@
synthetic constructor •() → self::C<self::C::U>
: super core::Object::•()
;
- method f1(core::int x) → void {}
- method f2(core::int x, [generic-covariant-impl self::C::U y = null]) → void {}
+ method f1(generic-covariant-impl core::int x) → void {}
+ method f2(generic-covariant-impl core::int x, [generic-covariant-impl self::C::U y = null]) → void {}
}
class D<U extends core::Object = dynamic> extends self::C<self::D::U> {
synthetic constructor •() → self::D<self::D::U>
: super self::C::•()
;
- method f1(core::int x) → void {}
- method f2(core::int x, [generic-covariant-impl self::D::U y = null]) → void {}
+ method f1(generic-covariant-impl core::int x) → void {}
+ method f2(generic-covariant-impl core::int x, [generic-covariant-impl self::D::U y = null]) → void {}
}
static method g1(self::C<core::num> c) → void {
c.f1(1);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.outline.expect
index fe2f698..9779f69 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.outline.expect
@@ -11,17 +11,17 @@
class C<U extends core::Object = dynamic> extends core::Object implements self::I<core::int> {
synthetic constructor •() → self::C<self::C::U>
;
- method f1(core::int x) → void
+ method f1(generic-covariant-impl core::int x) → void
;
- method f2(core::int x, [generic-covariant-impl self::C::U y]) → void
+ method f2(generic-covariant-impl core::int x, [generic-covariant-impl self::C::U y]) → void
;
}
class D<U extends core::Object = dynamic> extends self::C<self::D::U> {
synthetic constructor •() → self::D<self::D::U>
;
- method f1(core::int x) → void
+ method f1(generic-covariant-impl core::int x) → void
;
- method f2(core::int x, [generic-covariant-impl self::D::U y]) → void
+ method f2(generic-covariant-impl core::int x, [generic-covariant-impl self::D::U y]) → void
;
}
static method g1(self::C<core::num> c) → void
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.hierarchy.expect
index 6ad21c9..eee2991 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.hierarchy.expect
@@ -91,7 +91,7 @@
Object.==
classSetters:
interfaceMembers:
- M.f
+ C.M.f%I.f
Object.toString
Object.runtimeType
Object._simpleInstanceOf
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.expect
index 144807a..226d14a 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.expect
@@ -24,6 +24,8 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f(generic-covariant-impl core::int x) → void
+ return super.{self::B::f}(x);
}
static method g1(self::C c) → void {
c.f(1);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.transformed.expect
index 20d3a2e..9af26fa 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.transformed.expect
@@ -24,7 +24,7 @@
synthetic constructor •() → self::C
: super self::B::•()
;
- method f(core::int x) → void {}
+ method f(generic-covariant-impl core::int x) → void {}
}
static method g1(self::C c) → void {
c.f(1);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.outline.expect
index 10f6ea9..db72bce 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.outline.expect
@@ -23,6 +23,8 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f(generic-covariant-impl core::int x) → void
+ return super.{self::B::f}(x);
}
static method g1(self::C c) → void
;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.hierarchy.expect
index c6a5468..66e9deb 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.hierarchy.expect
@@ -73,7 +73,7 @@
Object.==
classSetters:
interfaceMembers:
- B.f
+ C.B.f%I.f
Object.toString
Object.runtimeType
Object._simpleInstanceOf
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.expect
index ca44867..dd05793 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.expect
@@ -18,6 +18,8 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f(generic-covariant-impl core::int x) → void
+ return super.{self::B::f}(x);
}
static method g1(self::C c) → void {
c.f(1);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.transformed.expect
index ca44867..dd05793 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.transformed.expect
@@ -18,6 +18,8 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f(generic-covariant-impl core::int x) → void
+ return super.{self::B::f}(x);
}
static method g1(self::C c) → void {
c.f(1);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.outline.expect
index ee14e2c..bd1c5ab 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.outline.expect
@@ -16,6 +16,8 @@
class C extends self::B implements self::I<core::int> {
synthetic constructor •() → self::C
;
+ forwarding-stub method f(generic-covariant-impl core::int x) → void
+ return super.{self::B::f}(x);
}
static method g1(self::C c) → void
;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.hierarchy.expect
index 3b034c6..63ed69c 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.hierarchy.expect
@@ -90,7 +90,7 @@
Object.==
classSetters:
interfaceMembers:
- B.f
+ C.B.f%I.f
Object.toString
Object.runtimeType
Object._simpleInstanceOf
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.expect
index 45abbbf..b31bd2e 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.expect
@@ -23,6 +23,8 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f(generic-covariant-impl core::int x) → void
+ return super.{self::B::f}(x);
}
static method g1(self::C c) → void {
c.f(1);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.transformed.expect
index 0e61a92..1fb19f0 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.transformed.expect
@@ -23,6 +23,8 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f(generic-covariant-impl core::int x) → void
+ return super.{self::B::f}(x);
}
static method g1(self::C c) → void {
c.f(1);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.outline.expect
index 926b281..97f802d 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.outline.expect
@@ -21,6 +21,8 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f(generic-covariant-impl core::int x) → void
+ return super.{self::B::f}(x);
}
static method g1(self::C c) → void
;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.expect
index 31aa1f7..9faa7e3 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.expect
@@ -19,7 +19,7 @@
synthetic constructor •() → self::E
: super self::D::•()
;
- method f(core::int x) → void {}
+ method f(covariant core::int x) → void {}
}
static method g1(self::C c) → void {
c.f(1.5);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.transformed.expect
index 31aa1f7..9faa7e3 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.transformed.expect
@@ -19,7 +19,7 @@
synthetic constructor •() → self::E
: super self::D::•()
;
- method f(core::int x) → void {}
+ method f(covariant core::int x) → void {}
}
static method g1(self::C c) → void {
c.f(1.5);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.outline.expect
index 3303a29..dd2a7ad 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.outline.expect
@@ -18,7 +18,7 @@
class E extends self::D {
synthetic constructor •() → self::E
;
- method f(core::int x) → void
+ method f(covariant core::int x) → void
;
}
static method g1(self::C c) → void
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.expect
index 306dd42..1f3710c 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.expect
@@ -15,7 +15,7 @@
;
}
class E extends core::Object implements self::D {
- field core::int x = null;
+ covariant field core::int x = null;
synthetic constructor •() → self::E
: super core::Object::•()
;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.transformed.expect
index 306dd42..1f3710c 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.transformed.expect
@@ -15,7 +15,7 @@
;
}
class E extends core::Object implements self::D {
- field core::int x = null;
+ covariant field core::int x = null;
synthetic constructor •() → self::E
: super core::Object::•()
;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.outline.expect
index 643c93c..063eafe 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.outline.expect
@@ -13,7 +13,7 @@
;
}
class E extends core::Object implements self::D {
- field core::int x;
+ covariant field core::int x;
synthetic constructor •() → self::E
;
}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.expect
index 4e1a3ad..760a9dc 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.expect
@@ -20,6 +20,6 @@
;
get x() → core::int
return 0;
- set x(core::int value) → void {}
+ set x(covariant core::int value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.transformed.expect
index 4e1a3ad..760a9dc 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.transformed.expect
@@ -20,6 +20,6 @@
;
get x() → core::int
return 0;
- set x(core::int value) → void {}
+ set x(covariant core::int value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.outline.expect
index 358009c..0bc780e 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.outline.expect
@@ -17,7 +17,7 @@
;
get x() → core::int
;
- set x(core::int value) → void
+ set x(covariant core::int value) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.expect
index d5f7a72..cc9e3d7 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.expect
@@ -18,6 +18,6 @@
synthetic constructor •() → self::E
: super self::D::•()
;
- set x(core::int value) → void {}
+ set x(covariant core::int value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.transformed.expect
index d5f7a72..cc9e3d7 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.transformed.expect
@@ -18,6 +18,6 @@
synthetic constructor •() → self::E
: super self::D::•()
;
- set x(core::int value) → void {}
+ set x(covariant core::int value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.outline.expect
index 8f94f9e..840f751 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.outline.expect
@@ -17,7 +17,7 @@
class E extends self::D {
synthetic constructor •() → self::E
;
- set x(core::int value) → void
+ set x(covariant core::int value) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.expect
index 79a95bb..492c9a2 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.expect
@@ -15,7 +15,7 @@
set x(covariant core::int value) → void {}
}
class E extends core::Object implements self::D {
- field core::int x = null;
+ covariant field core::int x = null;
synthetic constructor •() → self::E
: super core::Object::•()
;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.transformed.expect
index 79a95bb..492c9a2 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.transformed.expect
@@ -15,7 +15,7 @@
set x(covariant core::int value) → void {}
}
class E extends core::Object implements self::D {
- field core::int x = null;
+ covariant field core::int x = null;
synthetic constructor •() → self::E
: super core::Object::•()
;
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.outline.expect
index 97331e8..809ec55 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.outline.expect
@@ -15,7 +15,7 @@
;
}
class E extends core::Object implements self::D {
- field core::int x;
+ covariant field core::int x;
synthetic constructor •() → self::E
;
}
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.expect
index 2efc919..a6d4f4c 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.expect
@@ -13,7 +13,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- method f1(covariant core::int x) → void {}
+ method f1(covariant generic-covariant-impl core::int x) → void {}
}
static method g1(dynamic d) → void {
d.f1(1.5);
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.transformed.expect
index 2efc919..a6d4f4c 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.transformed.expect
@@ -13,7 +13,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- method f1(covariant core::int x) → void {}
+ method f1(covariant generic-covariant-impl core::int x) → void {}
}
static method g1(dynamic d) → void {
d.f1(1.5);
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.outline.expect
index 87b6f89..6d8aa4a 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.outline.expect
@@ -13,7 +13,7 @@
class D extends self::C<core::num> {
synthetic constructor •() → self::D
;
- method f1(covariant core::int x) → void
+ method f1(covariant generic-covariant-impl core::int x) → void
;
}
static method g1(dynamic d) → void
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.hierarchy.expect
index 1153bca..7869c3b 100644
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.hierarchy.expect
@@ -77,7 +77,7 @@
C.x
interfaceMembers:
Object.toString
- C.x
+ D.C.x%B.x
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
@@ -88,4 +88,4 @@
Object._simpleInstanceOfTrue
Object.==
interfaceSetters:
- C.x
+ D.C.x%B.x
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.expect
index 084024b..4a50297 100644
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.expect
@@ -18,5 +18,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
+ forwarding-stub set x(generic-covariant-impl core::num _) → void
+ return super.{self::C::x} = _;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.transformed.expect
index 084024b..4a50297 100644
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.transformed.expect
@@ -18,5 +18,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
+ forwarding-stub set x(generic-covariant-impl core::num _) → void
+ return super.{self::C::x} = _;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.outline.expect
index d696974..8bf7b77 100644
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.outline.expect
@@ -15,6 +15,8 @@
class D extends self::C implements self::B<core::num> {
synthetic constructor •() → self::D
;
+ forwarding-stub set x(generic-covariant-impl core::num _) → void
+ return super.{self::C::x} = _;
}
static method main() → void
;
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.hierarchy.expect
index 389c831..8993132 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.hierarchy.expect
@@ -82,7 +82,7 @@
classSetters:
B._x
interfaceMembers:
- B.f
+ C.B.f%I.f
Object.toString
B._x
Object.runtimeType
@@ -91,7 +91,7 @@
Object.noSuchMethod
Object._identityHashCode
Object.hashCode
- B.g
+ C.B.g%I.g
B.check
Object._simpleInstanceOfFalse
Object._simpleInstanceOfTrue
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.expect
index 82a32ab..339d3dc 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.expect
@@ -30,6 +30,10 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f([generic-covariant-impl core::num x = 10]) → void
+ return super.{self::B::f}(x);
+ forwarding-stub method g({generic-covariant-impl core::num x = 20}) → void
+ return super.{self::B::g}(x: x);
}
static method main() → dynamic {
self::C c = new self::C::•();
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.transformed.expect
index 82a32ab..339d3dc 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.transformed.expect
@@ -30,6 +30,10 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f([generic-covariant-impl core::num x = 10]) → void
+ return super.{self::B::f}(x);
+ forwarding-stub method g({generic-covariant-impl core::num x = 20}) → void
+ return super.{self::B::g}(x: x);
}
static method main() → dynamic {
self::C c = new self::C::•();
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.outline.expect
index 5998e7f..d95ebff 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.outline.expect
@@ -22,6 +22,10 @@
class C extends self::B implements self::I<core::num> {
synthetic constructor •() → self::C
;
+ forwarding-stub method f([generic-covariant-impl core::num x]) → void
+ return super.{self::B::f}(x);
+ forwarding-stub method g({generic-covariant-impl core::num x}) → void
+ return super.{self::B::g}(x: x);
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.hierarchy.expect
index c6a5468..66e9deb 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.hierarchy.expect
@@ -73,7 +73,7 @@
Object.==
classSetters:
interfaceMembers:
- B.f
+ C.B.f%I.f
Object.toString
Object.runtimeType
Object._simpleInstanceOf
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.expect
index 5486a15..760fd0e 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.expect
@@ -18,5 +18,7 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f(generic-covariant-impl core::int x, core::int y) → void
+ return super.{self::B::f}(x, y);
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.transformed.expect
index 5486a15..760fd0e 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.transformed.expect
@@ -18,5 +18,7 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f(generic-covariant-impl core::int x, core::int y) → void
+ return super.{self::B::f}(x, y);
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.outline.expect
index a0b2b04..32a8732 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.outline.expect
@@ -16,6 +16,8 @@
class C extends self::B implements self::I<core::int> {
synthetic constructor •() → self::C
;
+ forwarding-stub method f(generic-covariant-impl core::int x, core::int y) → void
+ return super.{self::B::f}(x, y);
}
static method main() → void
;
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.expect
index 121a90b..add41b9 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.expect
@@ -10,8 +10,8 @@
set x(generic-covariant-impl self::C::T t) → void {}
}
class D extends core::Object implements self::C<core::num> {
- field core::num x = null;
- field core::num y = null;
+ generic-covariant-impl field core::num x = null;
+ generic-covariant-impl field core::num y = null;
synthetic constructor •() → self::D
: super core::Object::•()
;
@@ -20,9 +20,9 @@
synthetic constructor •() → self::E
: super core::Object::•()
;
- set x(core::num t) → void {}
+ set x(generic-covariant-impl core::num t) → void {}
get y() → core::num
return null;
- set y(core::num t) → void {}
+ set y(generic-covariant-impl core::num t) → void {}
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.transformed.expect
index 121a90b..add41b9 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.transformed.expect
@@ -10,8 +10,8 @@
set x(generic-covariant-impl self::C::T t) → void {}
}
class D extends core::Object implements self::C<core::num> {
- field core::num x = null;
- field core::num y = null;
+ generic-covariant-impl field core::num x = null;
+ generic-covariant-impl field core::num y = null;
synthetic constructor •() → self::D
: super core::Object::•()
;
@@ -20,9 +20,9 @@
synthetic constructor •() → self::E
: super core::Object::•()
;
- set x(core::num t) → void {}
+ set x(generic-covariant-impl core::num t) → void {}
get y() → core::num
return null;
- set y(core::num t) → void {}
+ set y(generic-covariant-impl core::num t) → void {}
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.outline.expect
index bf98c8f..53b0ab7 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.outline.expect
@@ -10,19 +10,19 @@
;
}
class D extends core::Object implements self::C<core::num> {
- field core::num x;
- field core::num y;
+ generic-covariant-impl field core::num x;
+ generic-covariant-impl field core::num y;
synthetic constructor •() → self::D
;
}
class E extends core::Object implements self::C<core::num> {
synthetic constructor •() → self::E
;
- set x(core::num t) → void
+ set x(generic-covariant-impl core::num t) → void
;
get y() → core::num
;
- set y(core::num t) → void
+ set y(generic-covariant-impl core::num t) → void
;
}
static method main() → void
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.expect
index fc559f4..d50d07e 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.expect
@@ -9,17 +9,17 @@
abstract set x(covariant core::Object value) → void;
}
class B extends core::Object implements self::A {
- field core::Object x = null;
+ covariant field core::Object x = null;
synthetic constructor •() → self::B
: super core::Object::•()
;
method f(covariant core::Object x) → void {}
}
class C<T extends core::Object = dynamic> extends core::Object implements self::B {
- generic-covariant-impl field self::C::T x = null;
+ covariant generic-covariant-impl field self::C::T x = null;
synthetic constructor •() → self::C<self::C::T>
: super core::Object::•()
;
- method f(generic-covariant-impl self::C::T x) → void {}
+ method f(covariant generic-covariant-impl self::C::T x) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.transformed.expect
index fc559f4..d50d07e 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.transformed.expect
@@ -9,17 +9,17 @@
abstract set x(covariant core::Object value) → void;
}
class B extends core::Object implements self::A {
- field core::Object x = null;
+ covariant field core::Object x = null;
synthetic constructor •() → self::B
: super core::Object::•()
;
method f(covariant core::Object x) → void {}
}
class C<T extends core::Object = dynamic> extends core::Object implements self::B {
- generic-covariant-impl field self::C::T x = null;
+ covariant generic-covariant-impl field self::C::T x = null;
synthetic constructor •() → self::C<self::C::T>
: super core::Object::•()
;
- method f(generic-covariant-impl self::C::T x) → void {}
+ method f(covariant generic-covariant-impl self::C::T x) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.outline.expect
index 4ed0cca..037ffa8 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.outline.expect
@@ -8,17 +8,17 @@
abstract set x(covariant core::Object value) → void;
}
class B extends core::Object implements self::A {
- field core::Object x;
+ covariant field core::Object x;
synthetic constructor •() → self::B
;
method f(covariant core::Object x) → void
;
}
class C<T extends core::Object = dynamic> extends core::Object implements self::B {
- generic-covariant-impl field self::C::T x;
+ covariant generic-covariant-impl field self::C::T x;
synthetic constructor •() → self::C<self::C::T>
;
- method f(generic-covariant-impl self::C::T x) → void
+ method f(covariant generic-covariant-impl self::C::T x) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.hierarchy.expect
index c844506..0bd7033 100644
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.hierarchy.expect
@@ -60,7 +60,7 @@
-> B
interfaces: I<num>
classMembers:
- B.f
+ C.B.f%C.f
Object.toString
Object.runtimeType
Object._simpleInstanceOf
@@ -73,7 +73,7 @@
Object.==
classSetters:
interfaceMembers:
- B.f
+ C.B.f%C.f
Object.toString
Object.runtimeType
Object._simpleInstanceOf
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.expect
index 95fdf8b..5862850 100644
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.expect
@@ -18,6 +18,7 @@
synthetic constructor •() → self::C
: super self::B::•()
;
- abstract method f(core::num x) → void;
+ forwarding-stub forwarding-semi-stub method f(generic-covariant-impl core::num x) → void
+ return super.{self::B::f}(x);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.transformed.expect
index 95fdf8b..5862850 100644
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.transformed.expect
@@ -18,6 +18,7 @@
synthetic constructor •() → self::C
: super self::B::•()
;
- abstract method f(core::num x) → void;
+ forwarding-stub forwarding-semi-stub method f(generic-covariant-impl core::num x) → void
+ return super.{self::B::f}(x);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.outline.expect
index 8b7ff11..c8141fe 100644
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.outline.expect
@@ -16,7 +16,8 @@
class C extends self::B implements self::I<core::num> {
synthetic constructor •() → self::C
;
- abstract method f(core::num x) → void;
+ forwarding-stub forwarding-semi-stub method f(generic-covariant-impl core::num x) → void
+ return super.{self::B::f}(x);
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.expect
index f9eaac1..2a7623e 100644
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.expect
@@ -29,7 +29,7 @@
synthetic constructor •() → self::E
: super self::C::•()
;
- method f(covariant core::int x) → void {}
+ method f(covariant generic-covariant-impl core::int x) → void {}
}
static method test() → dynamic {
dynamic x = new self::D::•().g4() as (core::Object) → dynamic;
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.transformed.expect
index f9eaac1..2a7623e 100644
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.transformed.expect
@@ -29,7 +29,7 @@
synthetic constructor •() → self::E
: super self::C::•()
;
- method f(covariant core::int x) → void {}
+ method f(covariant generic-covariant-impl core::int x) → void {}
}
static method test() → dynamic {
dynamic x = new self::D::•().g4() as (core::Object) → dynamic;
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.outline.expect
index 0c9d1ca..1f6aacf 100644
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.outline.expect
@@ -24,7 +24,7 @@
class E extends self::C<core::num> {
synthetic constructor •() → self::E
;
- method f(covariant core::int x) → void
+ method f(covariant generic-covariant-impl core::int x) → void
;
}
static method test() → dynamic
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.hierarchy.expect
index d6381e8..54bc8ea 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.hierarchy.expect
@@ -77,7 +77,7 @@
C.x
interfaceMembers:
Object.toString
- C.x
+ D.C.x%B.x
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
@@ -88,4 +88,328 @@
Object._simpleInstanceOfTrue
Object.==
interfaceSetters:
- C.x
+ D.C.x%B.x
+
+Comparable:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Comparable.compareTo
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ Comparable.compare
+ classSetters:
+
+num:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Comparable<num>
+ classMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ classSetters:
+ interfaceMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ interfaceSetters:
+
+int:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ classSetters:
+ interfaceMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.expect
index 3f2338c..eea0f36 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.expect
@@ -18,5 +18,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
+ forwarding-stub set x(covariant core::num _) → void
+ return super.{self::C::x} = _;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.transformed.expect
index 3f2338c..eea0f36 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.transformed.expect
@@ -18,5 +18,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
+ forwarding-stub set x(covariant core::num _) → void
+ return super.{self::C::x} = _;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.outline.expect
index 64163de..d8da134 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.outline.expect
@@ -15,6 +15,8 @@
class D extends self::C implements self::B {
synthetic constructor •() → self::D
;
+ forwarding-stub set x(covariant core::num _) → void
+ return super.{self::C::x} = _;
}
static method main() → void
;
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.expect
index a959413..f6be89d 100644
--- a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.expect
@@ -10,19 +10,19 @@
;
}
abstract class C<T extends core::Object = dynamic> extends core::Object implements self::B<core::num> {
- field dynamic x = null;
+ generic-covariant-impl field core::num x = null;
synthetic constructor •() → self::C<self::C::T>
: super core::Object::•()
;
- abstract get y() → dynamic;
- abstract set y(dynamic value) → dynamic;
+ abstract get y() → core::num;
+ abstract set y(generic-covariant-impl core::num value) → void;
}
abstract class D<T extends core::Object = dynamic> extends core::Object implements self::B<self::D::T> {
- field dynamic x = null;
+ generic-covariant-impl field self::D::T x = null;
synthetic constructor •() → self::D<self::D::T>
: super core::Object::•()
;
- abstract get y() → dynamic;
- abstract set y(dynamic value) → dynamic;
+ abstract get y() → self::D::T;
+ abstract set y(generic-covariant-impl self::D::T value) → void;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.transformed.expect
index a959413..f6be89d 100644
--- a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.transformed.expect
@@ -10,19 +10,19 @@
;
}
abstract class C<T extends core::Object = dynamic> extends core::Object implements self::B<core::num> {
- field dynamic x = null;
+ generic-covariant-impl field core::num x = null;
synthetic constructor •() → self::C<self::C::T>
: super core::Object::•()
;
- abstract get y() → dynamic;
- abstract set y(dynamic value) → dynamic;
+ abstract get y() → core::num;
+ abstract set y(generic-covariant-impl core::num value) → void;
}
abstract class D<T extends core::Object = dynamic> extends core::Object implements self::B<self::D::T> {
- field dynamic x = null;
+ generic-covariant-impl field self::D::T x = null;
synthetic constructor •() → self::D<self::D::T>
: super core::Object::•()
;
- abstract get y() → dynamic;
- abstract set y(dynamic value) → dynamic;
+ abstract get y() → self::D::T;
+ abstract set y(generic-covariant-impl self::D::T value) → void;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.outline.expect
index 60525b9..2696bf4 100644
--- a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.outline.expect
@@ -9,18 +9,18 @@
;
}
abstract class C<T extends core::Object = dynamic> extends core::Object implements self::B<core::num> {
- field dynamic x;
+ generic-covariant-impl field core::num x;
synthetic constructor •() → self::C<self::C::T>
;
- abstract get y() → dynamic;
- abstract set y(dynamic value) → dynamic;
+ abstract get y() → core::num;
+ abstract set y(generic-covariant-impl core::num value) → void;
}
abstract class D<T extends core::Object = dynamic> extends core::Object implements self::B<self::D::T> {
- field dynamic x;
+ generic-covariant-impl field self::D::T x;
synthetic constructor •() → self::D<self::D::T>
;
- abstract get y() → dynamic;
- abstract set y(dynamic value) → dynamic;
+ abstract get y() → self::D::T;
+ abstract set y(generic-covariant-impl self::D::T value) → void;
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.hierarchy.expect
index 94c8b5c..df047dc 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.hierarchy.expect
@@ -103,9 +103,9 @@
M.y
M.x
interfaceMembers:
- M.y
+ C.M.y%I.y
Object.toString
- M.x
+ C.M.x%I.x
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
@@ -116,5 +116,329 @@
Object._simpleInstanceOfTrue
Object.==
interfaceSetters:
- M.y
- M.x
+ C.M.y%I.y
+ C.M.x%I.x
+
+Comparable:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Comparable.compareTo
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ Comparable.compare
+ classSetters:
+
+num:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Comparable<num>
+ classMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ classSetters:
+ interfaceMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ interfaceSetters:
+
+int:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ classSetters:
+ interfaceMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.outline.expect
index 4978034..b99aea3 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.outline.expect
@@ -32,6 +32,10 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub set y(covariant core::Object value) → void
+ return super.{self::B::y} = value;
+ forwarding-stub set x(generic-covariant-impl core::int _) → void
+ return super.{self::B::x} = _;
}
static method expectTypeError(() → void callback) → void
;
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.hierarchy.expect
index 94c8b5c..df047dc 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.hierarchy.expect
@@ -103,9 +103,9 @@
M.y
M.x
interfaceMembers:
- M.y
+ C.M.y%I.y
Object.toString
- M.x
+ C.M.x%I.x
Object.runtimeType
Object._simpleInstanceOf
Object._instanceOf
@@ -116,5 +116,329 @@
Object._simpleInstanceOfTrue
Object.==
interfaceSetters:
- M.y
- M.x
+ C.M.y%I.y
+ C.M.x%I.x
+
+Comparable:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Comparable.compareTo
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ Comparable.compare
+ classSetters:
+
+num:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Comparable<num>
+ classMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ classSetters:
+ interfaceMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ interfaceSetters:
+
+int:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ classSetters:
+ interfaceMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.outline.expect
index 4b6371a..782ccf3 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.outline.expect
@@ -38,6 +38,10 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub set y(covariant core::Object value) → void
+ return super.{self::B::y} = value;
+ forwarding-stub set x(generic-covariant-impl core::int value) → void
+ return super.{self::B::x} = value;
}
static method expectTypeError(() → void callback) → void
;
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.hierarchy.expect
index 5459bc4..dbd4f79 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.hierarchy.expect
@@ -73,7 +73,7 @@
Object.==
classSetters:
interfaceMembers:
- B.f
+ C.B.f%I.f
Object.toString
Object.runtimeType
Object._simpleInstanceOf
@@ -85,3 +85,327 @@
Object._simpleInstanceOfTrue
Object.==
interfaceSetters:
+
+Comparable:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Comparable.compareTo
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ Comparable.compare
+ classSetters:
+
+num:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Comparable<num>
+ classMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ classSetters:
+ interfaceMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ interfaceSetters:
+
+int:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ classSetters:
+ interfaceMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.outline.expect
index 4e4266a..91a76ee 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.outline.expect
@@ -16,6 +16,8 @@
class C extends self::B implements self::I {
synthetic constructor •() → self::C
;
+ forwarding-stub method f(covariant core::Object x) → core::int
+ return super.{self::B::f}(x);
}
static method expectTypeError(() → void callback) → void
;
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.hierarchy.expect
index c6a5468..f7b0451 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.hierarchy.expect
@@ -73,7 +73,7 @@
Object.==
classSetters:
interfaceMembers:
- B.f
+ C.B.f%I.f
Object.toString
Object.runtimeType
Object._simpleInstanceOf
@@ -85,3 +85,327 @@
Object._simpleInstanceOfTrue
Object.==
interfaceSetters:
+
+Comparable:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Comparable.compareTo
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ Comparable.compare
+ classSetters:
+
+num:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Comparable<num>
+ classMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ classSetters:
+ interfaceMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ interfaceSetters:
+
+int:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ classSetters:
+ interfaceMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.expect
index 3334045..082a15f 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.expect
@@ -18,5 +18,7 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f(generic-covariant-impl core::int x, core::Object y) → void
+ return super.{self::B::f}(x, y);
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.transformed.expect
index 3334045..082a15f 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.transformed.expect
@@ -18,5 +18,7 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f(generic-covariant-impl core::int x, core::Object y) → void
+ return super.{self::B::f}(x, y);
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.outline.expect
index 205776d..5890db1 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.outline.expect
@@ -16,6 +16,8 @@
abstract class C extends self::B implements self::I<core::int> {
synthetic constructor •() → self::C
;
+ forwarding-stub method f(generic-covariant-impl core::int x, core::Object y) → void
+ return super.{self::B::f}(x, y);
}
static method main() → void
;
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.hierarchy.expect
index 2defd9d..578a89f 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.hierarchy.expect
@@ -73,7 +73,7 @@
Object.==
classSetters:
interfaceMembers:
- B.f
+ C.B.f%I.f
Object.toString
Object.runtimeType
Object._simpleInstanceOf
@@ -85,3 +85,327 @@
Object._simpleInstanceOfTrue
Object.==
interfaceSetters:
+
+Comparable:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Comparable.compareTo
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ Comparable.compare
+ classSetters:
+
+num:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Comparable<num>
+ classMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ classSetters:
+ interfaceMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ interfaceSetters:
+
+int:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ classSetters:
+ interfaceMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.expect
index 3038f0e..04bbcf3 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.expect
@@ -18,5 +18,6 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ abstract forwarding-stub method f(generic-covariant-impl core::int x, core::Object y) → void;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.transformed.expect
index 3038f0e..04bbcf3 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.transformed.expect
@@ -18,5 +18,6 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ abstract forwarding-stub method f(generic-covariant-impl core::int x, core::Object y) → void;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.outline.expect
index 9e7de41..5c37f4b 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.outline.expect
@@ -16,6 +16,7 @@
abstract class C extends self::B<core::int> implements self::I {
synthetic constructor •() → self::C
;
+ abstract forwarding-stub method f(generic-covariant-impl core::int x, core::Object y) → void;
}
static method main() → void
;
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.hierarchy.expect
index 5459bc4..dbd4f79 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.hierarchy.expect
@@ -73,7 +73,7 @@
Object.==
classSetters:
interfaceMembers:
- B.f
+ C.B.f%I.f
Object.toString
Object.runtimeType
Object._simpleInstanceOf
@@ -85,3 +85,327 @@
Object._simpleInstanceOfTrue
Object.==
interfaceSetters:
+
+Comparable:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Comparable.compareTo
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ Comparable.compare
+ classSetters:
+
+num:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Comparable<num>
+ classMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ classSetters:
+ interfaceMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ interfaceSetters:
+
+int:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ classSetters:
+ interfaceMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.expect
index 22a66005..ed5aa28 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.expect
@@ -18,5 +18,7 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f(covariant core::int x, core::Object y) → void
+ return super.{self::B::f}(x, y);
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.transformed.expect
index 22a66005..ed5aa28 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.transformed.expect
@@ -18,5 +18,7 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ forwarding-stub method f(covariant core::int x, core::Object y) → void
+ return super.{self::B::f}(x, y);
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.outline.expect
index 91a90a9..ac22acd 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.outline.expect
@@ -16,6 +16,8 @@
abstract class C extends self::B implements self::I {
synthetic constructor •() → self::C
;
+ forwarding-stub method f(covariant core::int x, core::Object y) → void
+ return super.{self::B::f}(x, y);
}
static method main() → void
;
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.hierarchy.expect
index 5459bc4..dbd4f79 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.hierarchy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.hierarchy.expect
@@ -73,7 +73,7 @@
Object.==
classSetters:
interfaceMembers:
- B.f
+ C.B.f%I.f
Object.toString
Object.runtimeType
Object._simpleInstanceOf
@@ -85,3 +85,327 @@
Object._simpleInstanceOfTrue
Object.==
interfaceSetters:
+
+Comparable:
+ superclasses:
+ Object
+ interfaces:
+ classMembers:
+ Object.toString
+ Object.runtimeType
+ Object._simpleInstanceOf
+ Object._instanceOf
+ Object.noSuchMethod
+ Object._identityHashCode
+ Comparable.compareTo
+ Object.hashCode
+ Object._simpleInstanceOfFalse
+ Object._simpleInstanceOfTrue
+ Object.==
+ Comparable.compare
+ classSetters:
+
+num:
+ Longest path to Object: 2
+ superclasses:
+ Object
+ interfaces: Comparable<num>
+ classMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ classSetters:
+ interfaceMembers:
+ num.~/
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ num._returnDoubleNull
+ num.Object.toString%num.toString
+ num._returnIntNull
+ num.+
+ num.clamp
+ num.toDouble
+ num.ceil
+ num.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ num.toStringAsExponential
+ num./
+ num.abs
+ num._moduloFromInteger
+ num._subFromInteger
+ num._addFromInteger
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ num.sign
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ num.floorToDouble
+ Object._identityHashCode
+ num.>
+ num.roundToDouble
+ num.round
+ num.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ num.truncate
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ num.ceilToDouble
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ num.truncateToDouble
+ num.parse
+ num.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ num.*
+ interfaceSetters:
+
+int:
+ Longest path to Object: 3
+ superclasses:
+ Object
+ -> num
+ interfaces: Comparable<num>
+ classMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ classSetters:
+ interfaceMembers:
+ int._minInt64
+ num.~/
+ int.toSigned
+ int._shrFromInteger
+ int._throwFormatException
+ int._parseBlock
+ num.<=
+ num._equalToInteger
+ num.isInfinite
+ num.<
+ int._int64OverflowLimits
+ int._parseRadix
+ int.Object.toString%int.toString
+ int._PARSE_LIMITS
+ int._kNull
+ num.+
+ num.clamp
+ num.toDouble
+ int.ceil
+ int.unary-
+ num._mulFromInteger
+ num.>=
+ Object.runtimeType
+ Object._simpleInstanceOf
+ num.isNegative
+ num.isNaN
+ int._initInt64OverflowLimits
+ int.isEven
+ num.toStringAsExponential
+ num./
+ int.abs
+ int._bitAndFromSmi
+ int.|
+ num._moduloFromInteger
+ int.gcd
+ int._int64UnsignedOverflowLimits
+ int.<<
+ num._subFromInteger
+ num._addFromInteger
+ int.toUnsigned
+ int.toRadixString
+ int._int64UnsignedSmiOverflowLimits
+ Object._instanceOf
+ num.remainder
+ num.isFinite
+ num.toInt
+ num.%
+ int._tryParseSmi
+ int.sign
+ int.>>
+ Object.noSuchMethod
+ num.toStringAsPrecision
+ int.modInverse
+ int.floorToDouble
+ Object._identityHashCode
+ num.>
+ int.roundToDouble
+ int.round
+ int._maxInt64
+ int.floor
+ num.compareTo
+ num.Object.hashCode%num.hashCode
+ num._truncDivFromInteger
+ int.truncate
+ int.^
+ int._shlFromInteger
+ int.&
+ num.-
+ Object._simpleInstanceOfFalse
+ num._greaterThanFromInteger
+ int.bitLength
+ int.ceilToDouble
+ int.modPow
+ int.isOdd
+ int._bitAndFromInteger
+ Object._simpleInstanceOfTrue
+ num.Object.==%num.==
+ int._bitOrFromInteger
+ int.truncateToDouble
+ int._bitXorFromInteger
+ int.parse
+ int.tryParse
+ num.toStringAsFixed
+ num._remainderFromInteger
+ int._parse
+ num.*
+ int.~
+ interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.expect
index cf870cc..1ce982c 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.expect
@@ -18,5 +18,6 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ abstract forwarding-stub method f(covariant core::int x, core::Object y) → void;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.transformed.expect
index cf870cc..1ce982c 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.transformed.expect
@@ -18,5 +18,6 @@
synthetic constructor •() → self::C
: super self::B::•()
;
+ abstract forwarding-stub method f(covariant core::int x, core::Object y) → void;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.outline.expect
index d4b0825..9c7aa8f 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.outline.expect
@@ -16,6 +16,7 @@
abstract class C extends self::B implements self::I {
synthetic constructor •() → self::C
;
+ abstract forwarding-stub method f(covariant core::int x, core::Object y) → void;
}
static method main() → void
;
diff --git a/pkg/front_end/testcases/static_setter.dart.legacy.expect b/pkg/front_end/testcases/static_setter.dart.legacy.expect
index 05125e5..055ed11 100644
--- a/pkg/front_end/testcases/static_setter.dart.legacy.expect
+++ b/pkg/front_end/testcases/static_setter.dart.legacy.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
}
-static set foo(dynamic x) → dynamic {}
+static set foo(dynamic x) → void {}
static method main() → dynamic {
self::foo = new self::Foo::•();
}
diff --git a/pkg/front_end/testcases/static_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/static_setter.dart.legacy.transformed.expect
index 05125e5..055ed11 100644
--- a/pkg/front_end/testcases/static_setter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/static_setter.dart.legacy.transformed.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
}
-static set foo(dynamic x) → dynamic {}
+static set foo(dynamic x) → void {}
static method main() → dynamic {
self::foo = new self::Foo::•();
}
diff --git a/pkg/front_end/testcases/static_setter.dart.outline.expect b/pkg/front_end/testcases/static_setter.dart.outline.expect
index 13eaefe..0c46d4c 100644
--- a/pkg/front_end/testcases/static_setter.dart.outline.expect
+++ b/pkg/front_end/testcases/static_setter.dart.outline.expect
@@ -6,7 +6,7 @@
synthetic constructor •() → self::Foo
;
}
-static set foo(dynamic x) → dynamic
+static set foo(dynamic x) → void
;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/strong.status b/pkg/front_end/testcases/strong.status
index 04a59b2..23300d4 100644
--- a/pkg/front_end/testcases/strong.status
+++ b/pkg/front_end/testcases/strong.status
@@ -25,11 +25,12 @@
extension_methods: TypeCheckError
external_import: RuntimeError # The native extension to import doesn't exist. This is ok.
fallthrough: ExpectationFileMismatch
+ignore_function: TypeCheckError
incomplete_field_formal_parameter: RuntimeError
inference/abstract_class_instantiation: InstrumentationMismatch # Issue #30040
inference/conflicting_fields: TypeCheckError
-inference/conflicts_can_happen: TypeCheckError
inference/conflicts_can_happen2: TypeCheckError
+inference/conflicts_can_happen: TypeCheckError
inference/constructors_infer_from_arguments_argument_not_assignable: TypeCheckError
inference/constructors_too_many_positional_arguments: InstrumentationMismatch # Issue #30040
inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer: TypeCheckError
@@ -45,8 +46,10 @@
inference/generic_methods_do_not_infer_invalid_override_of_generic_method: TypeCheckError
inference/generic_methods_handle_override_of_non_generic_with_generic: TypeCheckError
inference/generic_methods_infer_js_builtin: InstrumentationMismatch # Issue #30029
+inference/inconsistent_overrides: TypeCheckError
inference/infer_field_override_multiple: TypeCheckError
inference/infer_from_complex_expressions_if_outer_most_value_is_precise: TypeCheckError # Issue #35630
+inference/infer_method_missing_params: ExpectationFileMismatch # Not supposed to be able to infer types if supertypes disagree on number of parameters. An error may be missing as C.f and B.f are not compatible at all.
inference/infer_method_missing_params: TypeCheckError
inference/infer_type_regardless_of_declaration_order_or_cycles: RuntimeError
inference/infer_types_on_generic_instantiations_4: RuntimeError
@@ -67,15 +70,16 @@
inference_new/infer_assign_to_index_upwards: TypeCheckError
inference_new/infer_assign_to_property_custom: TypeCheckError
inference_new/infer_field_getter_setter_mismatch: TypeCheckError
+inference_new/infer_field_override_accessors: TypeCheckError
inference_new/infer_field_override_getter_overrides_setter: TypeCheckError
inference_new/invalid_assignment_during_toplevel_inference: TypeCheckError
-inference_new/strongly_connected_component: TypeCheckError
instantiate_to_bound/non_simple_class_parametrized_typedef_cycle: RuntimeError # Expected
instantiate_to_bound/non_simple_generic_function_in_bound_regress: RuntimeError # Expected
invalid_type: TypeCheckError
invocations: RuntimeError
issue34899: TypeCheckError
micro: RuntimeError
+mixin_application_override: ExpectationFileMismatch # Too many errors.
mixin_application_override: TypeCheckError
nnbd/nullable_param: RuntimeError
operator_method_not_found: RuntimeError # Expected
diff --git a/pkg/front_end/testcases/super_nsm.dart.legacy.expect b/pkg/front_end/testcases/super_nsm.dart.legacy.expect
index a0c7a8c..eb7ebeb 100644
--- a/pkg/front_end/testcases/super_nsm.dart.legacy.expect
+++ b/pkg/front_end/testcases/super_nsm.dart.legacy.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
- method noSuchMethod(dynamic _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return "C";
no-such-method-forwarder method interfaceMethod() → dynamic
return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} dynamic;
@@ -21,7 +21,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- method noSuchMethod(dynamic _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return "D";
method dMethod() → dynamic
return super.{self::C::interfaceMethod}();
diff --git a/pkg/front_end/testcases/super_nsm.dart.legacy.transformed.expect b/pkg/front_end/testcases/super_nsm.dart.legacy.transformed.expect
index a0c7a8c..eb7ebeb 100644
--- a/pkg/front_end/testcases/super_nsm.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/super_nsm.dart.legacy.transformed.expect
@@ -12,7 +12,7 @@
synthetic constructor •() → self::C
: super core::Object::•()
;
- method noSuchMethod(dynamic _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return "C";
no-such-method-forwarder method interfaceMethod() → dynamic
return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} dynamic;
@@ -21,7 +21,7 @@
synthetic constructor •() → self::D
: super self::C::•()
;
- method noSuchMethod(dynamic _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return "D";
method dMethod() → dynamic
return super.{self::C::interfaceMethod}();
diff --git a/pkg/front_end/testcases/super_nsm.dart.outline.expect b/pkg/front_end/testcases/super_nsm.dart.outline.expect
index de7c531..6ec8595 100644
--- a/pkg/front_end/testcases/super_nsm.dart.outline.expect
+++ b/pkg/front_end/testcases/super_nsm.dart.outline.expect
@@ -10,7 +10,7 @@
class C extends core::Object implements self::I {
synthetic constructor •() → self::C
;
- method noSuchMethod(dynamic _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
;
no-such-method-forwarder method interfaceMethod() → dynamic
return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} dynamic;
@@ -18,7 +18,7 @@
class D extends self::C {
synthetic constructor •() → self::D
;
- method noSuchMethod(dynamic _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
;
method dMethod() → dynamic
;
diff --git a/pkg/front_end/testcases/void_methods.dart.outline.expect b/pkg/front_end/testcases/void_methods.dart.outline.expect
index b73833b..881f4a6 100644
--- a/pkg/front_end/testcases/void_methods.dart.outline.expect
+++ b/pkg/front_end/testcases/void_methods.dart.outline.expect
@@ -6,9 +6,9 @@
field core::List<dynamic> list;
synthetic constructor •() → self::Foo
;
- set first(dynamic x) → dynamic
+ set first(dynamic x) → void
;
- operator []=(dynamic x, dynamic y) → dynamic
+ operator []=(dynamic x, dynamic y) → void
;
method clear() → void
;
diff --git a/tests/language_2/language_2_kernel.status b/tests/language_2/language_2_kernel.status
index 5953301..1920b97 100644
--- a/tests/language_2/language_2_kernel.status
+++ b/tests/language_2/language_2_kernel.status
@@ -135,7 +135,6 @@
web_int_literals_test/*: SkipByDesign # Test applies only to JavaScript targets
[ $compiler == dartdevk ]
-mixin_method_override_test/G5: Skip # Issue 34354
private_method_tearoff_test: RuntimeError
[ $compiler == dartkp ]
@@ -236,7 +235,6 @@
mixin_illegal_superclass_test/28: MissingCompileTimeError
mixin_illegal_superclass_test/29: MissingCompileTimeError
mixin_illegal_superclass_test/30: MissingCompileTimeError
-mixin_method_override_test/G4: Crash # Assertion error: mixin_full_resolution.dart': 'src.typeParameters.length == dst.typeParameters.length': is not true.
multiline_newline_test/04: MissingCompileTimeError
multiline_newline_test/04r: MissingCompileTimeError
multiline_newline_test/05: MissingCompileTimeError
@@ -275,21 +273,13 @@
f_bounded_quantification4_test: CompileTimeError # Issue 34583
issue31596_super_test/02: MissingCompileTimeError # Issue 31596
issue31596_super_test/04: MissingCompileTimeError # Issue 31596
-issue34488_test/01: MissingCompileTimeError # Issue 34488
-issue34488_test/02: MissingCompileTimeError # Issue 34488
-issue34488_test/03: MissingCompileTimeError # Issue 34488
-issue34488_test/04: MissingCompileTimeError # Issue 34488
-issue34488_test/05: MissingCompileTimeError # Issue 34488
-issue34488_test/06: MissingCompileTimeError # Issue 34488
mixin_declaration/mixin_declaration_invalid_override_test/08: MissingCompileTimeError
mixin_declaration/mixin_declaration_superinvocation_application_test/04: MissingCompileTimeError
mixin_declaration/mixin_declaration_superinvocation_application_test/05: MissingCompileTimeError
mixin_declaration/mixin_declaration_superinvocation_application_test/06: MissingCompileTimeError
mixin_declaration/mixin_declaration_superinvocation_application_test/07: MissingCompileTimeError
mixin_declaration/mixin_declaration_superinvocation_application_test/08: MissingCompileTimeError
-mixin_method_override_test/G5: Crash # Issue 34354
nnbd/*: Skip
-override_inheritance_field_test/42: MissingCompileTimeError
regress_22976_test/*: CompileTimeError # Issue 31935
set_literals/invalid_set_literal_test/08: MissingCompileTimeError # Requires constant evaluation
set_literals/invalid_set_literal_test/09: MissingCompileTimeError # Requires constant evaluation