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

Unified Diff: pkg/kernel/testcases/closures/closure_types.dart.expect

Issue 3007623002: Fix many bugs with closure conversion in checked mode. (Closed)
Patch Set: Review comments Created 3 years, 4 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/kernel/testcases/closures/closure_types.dart.expect
diff --git a/pkg/kernel/testcases/closures/closure_types.dart.expect b/pkg/kernel/testcases/closures/closure_types.dart.expect
new file mode 100644
index 0000000000000000000000000000000000000000..2e8dd4b8d2ff8eea2f58297a8a65a07bb72093d5
--- /dev/null
+++ b/pkg/kernel/testcases/closures/closure_types.dart.expect
@@ -0,0 +1,49 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+typedef ct = (core::int) → void;
+typedef dt = (core::int) → core::String;
+class C<T extends core::Object> extends core::Object {
+ default constructor •() → void
+ : super core::Object::•()
+ ;
+ method getf() → void {
+ final (self::C::T) → self::C::T fn = MakeClosure<<T extends core::Object>(T) → T, self::C::T>(self::closure#C#getf#fn, MakeVector(1));
+ ;
+ return fn;
+ }
+}
+class D<T extends core::Object> extends core::Object {
+ default constructor •() → void
+ : super core::Object::•()
+ ;
+ method getf() → void {
+ final (dynamic) → self::D::T fn = MakeClosure<<T extends core::Object>(dynamic) → T, self::D::T>(self::closure#D#getf#fn, MakeVector(1));
+ return fn;
+ }
+}
+static method test_c() → void {
+ dynamic x = new self::C::•<core::int>().getf();
+ assert(x is (core::int) → void);
+ dynamic y = new self::C::•<core::String>().getf();
+ assert(!(y is (core::int) → void));
+}
+static method test_d() → void {
+ dynamic x = new self::D::•<core::String>().getf();
+ assert(x is (core::int) → core::String);
+ dynamic y = new self::D::•<core::int>().getf();
+ assert(!(y is (core::int) → core::String));
+ dynamic z = new self::D::•<core::int>().getf();
+ assert(!(z is (core::int) → core::String));
+}
+static method main() → dynamic {
+ self::test_c();
+ self::test_d();
+}
+static method closure#C#getf#fn<T extends core::Object>(dynamic #contextParameter, self::closure#C#getf#fn::T x) → self::closure#C#getf#fn::T {
+ return x;
+}
+static method closure#D#getf#fn<T extends core::Object>(dynamic #contextParameter, dynamic y) → self::closure#D#getf#fn::T {
+ return null;
+}
« no previous file with comments | « pkg/kernel/testcases/closures/closure_types.dart ('k') | pkg/kernel/testcases/closures/closures.dart.expect » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698