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

Issue 2904263003: Implement type inference for await expressions in front_end. (Closed)

Created:
3 years, 7 months ago by Paul Berry
Modified:
3 years, 6 months ago
Reviewers:
scheglov
CC:
reviews_dartlang.org, dart-fe-team+reviews_google.com
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Implement type inference for await expressions in front_end. This required implementing FutureOr rules in type_constraint_gatherer.dart. It also required fixing an incorrect type in analyzer's mock SDK, which had some follow on effects on analyzer unit tests. R=scheglov@google.com Committed: https://github.com/dart-lang/sdk/commit/e4042e5de291b19db885a1860e9fc5f8d89b58d6

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1868 lines, -84 lines) Patch
M pkg/analyzer/test/generated/strong_mode_test.dart View 1 chunk +5 lines, -2 lines 0 comments Download
M pkg/analyzer/test/src/context/mock_sdk.dart View 1 chunk +1 line, -1 line 0 comments Download
M pkg/analyzer/test/src/task/strong/checker_test.dart View 1 chunk +8 lines, -4 lines 0 comments Download
M pkg/analyzer/test/src/task/strong/inferred_type_test.dart View 5 chunks +29 lines, -10 lines 0 comments Download
M pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart View 1 chunk +10 lines, -2 lines 0 comments Download
M pkg/front_end/lib/src/fasta/type_inference/type_constraint_gatherer.dart View 1 chunk +42 lines, -21 lines 0 comments Download
M pkg/front_end/lib/src/fasta/type_inference/type_inference_listener.dart View 1 chunk +6 lines, -0 lines 0 comments Download
M pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart View 1 chunk +10 lines, -0 lines 0 comments Download
M pkg/front_end/lib/src/fasta/type_inference/type_schema_environment.dart View 4 chunks +14 lines, -11 lines 0 comments Download
M pkg/front_end/test/fasta/strong.status View 2 chunks +0 lines, -20 lines 0 comments Download
M pkg/front_end/testcases/inference/downwards_inference_async_await.dart View 1 chunk +2 lines, -2 lines 0 comments Download
A pkg/front_end/testcases/inference/downwards_inference_async_await.dart.strong.expect View 1 chunk +36 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_or_subtyping.dart View 1 chunk +3 lines, -1 line 0 comments Download
A pkg/front_end/testcases/inference/future_or_subtyping.dart.strong.expect View 1 chunk +13 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_then.dart View 2 chunks +3 lines, -1 line 0 comments Download
A pkg/front_end/testcases/inference/future_then.dart.strong.expect View 1 chunk +178 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_then_2.dart View 2 chunks +3 lines, -1 line 0 comments Download
A pkg/front_end/testcases/inference/future_then_2.dart.strong.expect View 1 chunk +178 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_then_3.dart View 2 chunks +3 lines, -1 line 0 comments Download
A pkg/front_end/testcases/inference/future_then_3.dart.strong.expect View 1 chunk +178 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_then_4.dart View 2 chunks +3 lines, -1 line 0 comments Download
A pkg/front_end/testcases/inference/future_then_4.dart.strong.expect View 1 chunk +178 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_then_5.dart View 2 chunks +3 lines, -1 line 0 comments Download
A pkg/front_end/testcases/inference/future_then_5.dart.strong.expect View 1 chunk +178 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_then_6.dart View 2 chunks +3 lines, -1 line 0 comments Download
A pkg/front_end/testcases/inference/future_then_6.dart.strong.expect View 1 chunk +178 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_then_downwards_method_target.dart View 2 chunks +3 lines, -1 line 0 comments Download
A pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.strong.expect View 1 chunk +11 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/inference/future_then_upwards.dart.strong.expect View 1 chunk +21 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/inference/future_then_upwards_2.dart.strong.expect View 1 chunk +21 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/inference/future_then_upwards_3.dart.strong.expect View 1 chunk +21 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_then_upwards_from_block.dart View 2 chunks +3 lines, -1 line 0 comments Download
A pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.strong.expect View 1 chunk +15 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_union_async_conditional.dart View 1 chunk +3 lines, -1 line 0 comments Download
A pkg/front_end/testcases/inference/future_union_async_conditional.dart.strong.expect View 1 chunk +91 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_union_async_conditional_2.dart View 1 chunk +2 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.strong.expect View 1 chunk +91 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_union_downwards.dart View 1 chunk +2 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/inference/future_union_downwards.dart.strong.expect View 1 chunk +68 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_union_downwards_2.dart View 1 chunk +2 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/inference/future_union_downwards_2.dart.strong.expect View 1 chunk +68 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_union_downwards_3.dart View 1 chunk +2 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/inference/future_union_downwards_3.dart.strong.expect View 1 chunk +68 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_union_downwards_4.dart View 1 chunk +2 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/inference/future_union_downwards_4.dart.strong.expect View 1 chunk +68 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart View 1 chunk +2 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart View 1 chunk +3 lines, -1 line 0 comments Download
A pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.strong.expect View 1 chunk +36 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (2 generated)
Paul Berry
3 years, 7 months ago (2017-05-26 23:07:26 UTC) #2
scheglov
LGTM
3 years, 6 months ago (2017-05-27 09:16:24 UTC) #3
Paul Berry
3 years, 6 months ago (2017-05-27 14:30:52 UTC) #5
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
e4042e5de291b19db885a1860e9fc5f8d89b58d6 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698