anchor.diff:          break;
       }
   
  -    Size desiredSize;
       switch (_direction) {
         case FlexDirection.horizontal:
  -        desiredSize = new Size(mainSize, crossSize);
  -        size = constraints.constrain(desiredSize);
  +        size = constraints.constrain(new Size(mainSize, crossSize));
           crossSize = size.height;
           break;
         case FlexDirection.vertical:
  -        desiredSize = new Size(crossSize, mainSize);
           size = constraints.constrain(new Size(crossSize, mainSize));
           crossSize = size.width;
           break;
       }
  -    _overflowOccurredDuringLayout = desiredSize != size;
   
       // Position elements
       double childMainPosition = leadingSpace;
  
positive.code:   }
  
    void paint(PaintingCanvas canvas, Offset offset) {
      if (_overflowOccurredDuringLayout) {
        canvas.save();
        canvas.clipRect(offset & size);
        defaultPaint(canvas, offset);
  
negative.code:       child = child.parentData.nextSibling;
      }
  
      // Section 8.2: Main Axis Alignment using the justify-content property
      double remainingSpace = math.max(0.0, freeSpace - usedSpace);
      double leadingSpace;
      double betweenSpace;
  