anchor.diff:    }
   
     void paint(PaintingCanvas canvas, Offset offset) {
  -    defaultPaint(canvas, offset);
  +    if (_overflowOccurredDuringLayout) {
  +      canvas.save();
  +      canvas.clipRect(offset & size);
  +      defaultPaint(canvas, offset);
  +      canvas.restore();
  +    } else {
  +      defaultPaint(canvas, offset);
  +    }
     }
   }
  
positive.code:         break;
      }
  
      switch (_direction) {
        case FlexDirection.horizontal:
          size = constraints.constrain(new Size(mainSize, crossSize));
          crossSize = size.height;
          break;
        case FlexDirection.vertical:
          size = constraints.constrain(new Size(crossSize, mainSize));
          crossSize = size.width;
          break;
      }
  
      // Position elements
      double childMainPosition = leadingSpace;
  
negative.code:       markNeedsLayout();
      }
    }
  
    bool _overflowOccurredDuringLayout = false;
  
    void setupParentData(RenderBox child) {
      if (child.parentData is! FlexBoxParentData)
  