a6bba9520b
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 Review URL: https://codereview.chromium.org/2460373002 .