anchor.diff:    @override
     void endLabeledStatement(int labelCount) {
       debugEvent("LabeledStatement");
  -    kernel.Statement statement = popStatement();
  +    kernel.Statement statement = toKernelStatement(popStatement());
       LabelTarget target = pop();
       exitLocalScope();
       if (target.breakTarget.hasUsers) {
  
positive.code:       ..fileOffset = offsetForToken(beginToken);
    }
  
    kernel.Statement popStatementIfNotNull(Object value) {
      return value == null ? null : popStatement();
    }
  
    kernel.Statement popStatement() {
      var statement = pop();
      if (statement is List) {
        return new Block(new List<kernel.Statement>.from(statement));
      } else if (statement is VariableDeclaration) {
        return new Block(<kernel.Statement>[statement]);
      } else {
        return statement;
      }
    }
  
    void ignore(Unhandled value) {
  
negative.code:   void endForStatement(Token forKeyword, Token leftParen, Token leftSeparator,
        int updateExpressionCount, Token endToken) {
      debugEvent("ForStatement");
      kernel.Statement body = toKernelStatement(popStatement());
      List<Expression> updates = popListForEffect(updateExpressionCount);
      kernel.Statement conditionStatement = toKernelStatement(popStatement());
      Expression condition = null;
      if (conditionStatement is ExpressionStatement) {
        condition = toExpression(conditionStatement.expression);
  