Chromium Code Reviews
DescriptionRemove BlockExpression from the Kernel language.
BlockExpression allowed statements to appear in an expression context.
It is unsafe for its original use case, allowing 'yield' to appear as an
expression, because the VM's yield implementation does not work when
there are live expression intermediate values.
Eliminate it by changing the async ExpressionLifter to return a
transformed expression and emit statements into a given list as a side
effect. This requires implementing the transformation for all
statements to account for how they may contain a nested expression.
BUG=
R=asgerf@google.com
Committed: https://github.com/dart-lang/kernel/commit/698af311ca03ca9691e593bbcfca47cb1c69936d
Patch Set 1 #
Total comments: 11
Patch Set 2 : Incorporate review comments, format continuation.dart. #
Messages
Total messages: 6 (2 generated)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||