transform(enclosingFinally, machineEndState, reporter) {
    let stateId, statements;
    if (State.isFinallyExit(enclosingFinally, this.callbackState)) {
      stateId = enclosingFinally.finallyState;
      statements =
          parseStatements `$ctx.finallyFallThrough = ${this.callbackState}`;
    } else {
      stateId = this.callbackState;
      statements = [];
    }

    statements.push(
      ...parseStatements `Promise.resolve(${this.expression}).then(
          $ctx.createCallback(${stateId}), $ctx.errback);
          return;`);
    return statements;
  }
@param {FinallyState} enclosingFinally
@param {number} machineEndState
@param {ErrorReporter} reporter
@return {Array.<ParseTree>}