Index: pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.expect |
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.expect |
new file mode 100644 |
index 0000000000000000000000000000000000000000..28cb7761861820d05d89254d4246308c0fdb9075 |
--- /dev/null |
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.expect |
@@ -0,0 +1,60 @@ |
+library test; |
+import self as self; |
+import "dart:core" as core; |
+ |
+static method main() → void { |
+ { |
+ function f(core::int x) → core::String |
+ return null; |
+ (core::int) → core::String v = f; |
+ v = (core::int x) → core::String => null; |
+ v = (core::int x) → core::String => "hello"; |
+ v = (core::String x) → core::String => "hello"; |
+ v = (core::int x) → core::int => 3; |
+ v = (core::int x) → core::String { |
+ return 3; |
+ }; |
+ } |
+ { |
+ function f(core::int x) → core::String |
+ return null; |
+ (core::int) → core::String v = f; |
+ v = (core::int x) → core::String => null; |
+ v = (core::int x) → core::String => "hello"; |
+ v = (core::int x) → core::int => 3; |
+ v = (core::int x) → core::String { |
+ return 3; |
+ }; |
+ v = (core::int x) → core::String { |
+ return x; |
+ }; |
+ } |
+ { |
+ function f(core::int x) → core::List<core::String> |
+ return null; |
+ (core::int) → core::List<core::String> v = f; |
+ v = (core::int x) → core::List<core::String> => null; |
+ v = (core::int x) → core::List<core::String> => <core::String>["hello"]; |
+ v = (core::String x) → core::List<core::String> => <core::String>["hello"]; |
+ v = (core::int x) → core::List<core::String> => <core::String>[3]; |
+ v = (core::int x) → core::List<core::String> { |
+ return <core::String>[3]; |
+ }; |
+ } |
+ { |
+ function int2int(core::int x) → core::int |
+ return null; |
+ function int2String(core::int x) → core::String |
+ return null; |
+ function string2String(core::String x) → core::String |
+ return null; |
+ (core::int) → core::int x = int2int; |
+ x = (core::int x) → core::int => x; |
+ x = (core::int x) → core::int => x.{core::num::+}(1); |
+ (core::int) → core::String y = int2String; |
+ y = (core::int x) → core::int => x; |
+ y = (core::int x) → core::String => x.substring(3); |
+ (core::String) → core::String z = string2String; |
+ z = (core::String x) → core::String => x.{core::String::substring}(3); |
+ } |
+} |