Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(750)

Unified Diff: pkg/front_end/test/fasta/mixin.dart.direct.expect

Issue 2689303003: Implement type variables in mixin applications. (Closed)
Patch Set: Restore duplication handling and set mixedInType. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/front_end/test/fasta/mixin.dart.direct.expect
diff --git a/pkg/front_end/test/fasta/mixin.dart.direct.expect b/pkg/front_end/test/fasta/mixin.dart.direct.expect
index ab5f3d6766872fdeec2bd75f6ac7978b0d84738e..5c49faf830d384bb4a71a446710c6b30218dac29 100644
--- a/pkg/front_end/test/fasta/mixin.dart.direct.expect
+++ b/pkg/front_end/test/fasta/mixin.dart.direct.expect
@@ -2,6 +2,11 @@ library;
import self as self;
import "dart:core" as core;
+class B extends self::Object&M1&M2 {
+ constructor •(dynamic value) → void
+ : super self::Object&M1&M2::•()
ahe 2017/02/14 18:12:36 This is invalid-initializer if I don't set mixedIn
+ ;
+}
abstract class M1 extends core::Object {
constructor •() → void
: super core::Object::•()
@@ -17,10 +22,22 @@ abstract class M2 extends core::Object {
return core::print("M2");
}
class C extends self::Object&M1&M2 {
- constructor •() → void
+ constructor •(dynamic value) → void
: super self::Object&M1&M2::•()
;
}
+abstract class G1<T extends core::Object> extends core::Object {
+ constructor •() → void
+ : super core::Object::•()
+ ;
+ method m() → dynamic
+ return core::print(self::G1::T);
+}
+class D<S extends core::Object> extends self::D^G1<self::D::S> {
+ constructor •() → void
+ : super self::D^G1::•()
+ ;
+}
abstract class Object&M1 extends core::Object implements self::M1 {
constructor •() → void
: super core::Object::•()
@@ -35,6 +52,31 @@ abstract class Object&M1&M2 extends self::Object&M1 implements self::M2 {
method m() → dynamic
return core::print("M2");
}
+abstract class Object&M1 extends core::Object implements self::M1 {
+ constructor •() → void
+ : super core::Object::•()
+ ;
+ method m() → dynamic
+ return core::print("M1");
+}
+abstract class Object&M1&M2 extends self::Object&M1 implements self::M2 {
+ constructor •() → void
+ : super self::Object&M1::•()
+ ;
+ method m() → dynamic
+ return core::print("M2");
+}
+abstract class D^G1<S extends core::Object> extends core::Object implements self::G1<self::D^G1::S> {
+ constructor •() → void
+ : super core::Object::•()
+ ;
+ method m() → dynamic
+ return core::print(self::D^G1::S);
+}
static method main() → dynamic {
- new self::C::•().m();
+ new self::B::•(null).m();
+ new self::C::•(null).m();
+ new self::D::•<dynamic>().m();
+ new self::D::•<core::int>().m();
+ new self::D::•<core::List<core::int>>().m();
}

Powered by Google App Engine
This is Rietveld 408576698