anchor.diff:      }
       inits.add(makeInit(handlerName, js.number(rethrowLabel)));
       inits.add(makeInit(currentErrorName, null));
  -    if (hasJumpThroughFinally || analysis.hasYield) {
  +    if (analysis.hasFinally || (isAsyncStar && analysis.hasYield)) {
         inits.add(makeInit(nextName, null));
       }
       if (isAsyncStar && analysis.hasYield) {
  
positive.code:     bool catchPart = (node.catchPart == null) ? false : visit(node.catchPart);
      bool finallyPart =
          (node.finallyPart == null) ? false : visit(node.finallyPart);
      return body || catchPart || finallyPart;
    }
  
  
negative.code: 
    bool hasYield = false;
  
    bool hasFinally = false;
  
    // The function currently being analyzed.
    js.Fun currentFunction;
  
  