anchor.diff:      }
   
       _resolver.flowAnalysis.for_bodyBegin(node, condition);
  -    _visitBody(body, context);
  +    visitBody();
   
       _resolver.flowAnalysis.flow?.for_updaterBegin();
       forParts.updaters.accept(_resolver);
   
       _resolver.flowAnalysis.flow?.for_end();
     }
  -
  -  void _visitBody(AstNode body, CollectionLiteralContext? context) {
  -    if (body is CollectionElementImpl) {
  -      body.resolveElement(_resolver, context);
  -    } else {
  -      assert(body is Statement);
  -      body.accept(_resolver);
  -    }
  -  }
   }
  
positive.code: 
    void resolveElement(ForElementImpl node, CollectionLiteralContext? context) {
      var forLoopParts = node.forLoopParts;
      if (forLoopParts is ForPartsImpl) {
        _forParts(node, forLoopParts, node.body, context: context);
      } else if (forLoopParts is ForEachPartsImpl) {
        _forEachParts(node, node.awaitKeyword != null, forLoopParts, node.body,
            context: context);
      }
    }
  
  
negative.code:     _resolver.checkUnreachableNode(node);
  
      var forLoopParts = node.forLoopParts;
      void visitBody() {
        node.body.accept(_resolver);
      }
  
      if (forLoopParts is ForPartsImpl) {
        _forParts(node, forLoopParts, visitBody);
      } else if (forLoopParts is ForEachPartsImpl) {
        _forEachParts(node, node.awaitKeyword != null, forLoopParts, visitBody);
      }
    }
  
  