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

Issue 1417733007: VM: Fix bug with ??= expressions using await. (Closed)

Created:
5 years, 1 month ago by Florian Schneider
Modified:
5 years, 1 month ago
Reviewers:
hausner, sra1
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

VM: Fix bug with ??= expressions using await. Moving the construction of ?? into the parser using LetNode, so that the await-transformations are properly applied. a ?? b becomes { temp = a; temp !== null ? temp : b; } a ??= b becomes { temp = a; temp != null ? temp : a = b; } BUG=issue #24392 R=hausner@google.com Committed: https://github.com/dart-lang/sdk/commit/598018bd212a072e025866865ba4e5a1bd6841c7

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 2

Patch Set 4 : added test, addressed comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+36 lines, -86 lines) Patch
M runtime/vm/flow_graph_builder.cc View 1 2 chunks +1 line, -61 lines 0 comments Download
M runtime/vm/parser.cc View 1 2 3 2 chunks +23 lines, -4 lines 0 comments Download
A + tests/language/await_null_aware_test.dart View 1 2 3 1 chunk +12 lines, -21 lines 0 comments Download

Messages

Total messages: 8 (3 generated)
Florian Schneider
5 years, 1 month ago (2015-11-03 16:50:00 UTC) #3
sra1
DBC - please add a test so we never do this by accident in dart2js.
5 years, 1 month ago (2015-11-03 17:02:55 UTC) #5
hausner
Thank you for fixing this. As discussed offline, I can't remember why I handled the ...
5 years, 1 month ago (2015-11-03 19:03:08 UTC) #6
Florian Schneider
Added test. https://codereview.chromium.org/1417733007/diff/40001/runtime/vm/parser.cc File runtime/vm/parser.cc (right): https://codereview.chromium.org/1417733007/diff/40001/runtime/vm/parser.cc#newcode10760 runtime/vm/parser.cc:10760: LetNode* let_node = new(Z) LetNode(no_pos); On 2015/11/03 ...
5 years, 1 month ago (2015-11-03 19:10:59 UTC) #7
Florian Schneider
5 years, 1 month ago (2015-11-03 20:47:10 UTC) #8
Message was sent while issue was closed.
Committed patchset #4 (id:60001) manually as
598018bd212a072e025866865ba4e5a1bd6841c7 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698