anchor.diff:    void debugFillProperties(DiagnosticPropertiesBuilder properties) {
       super.debugFillProperties(properties);
       properties.add(EnumProperty<AxisDirection>('axisDirection', axisDirection));
  -    properties.add(EnumProperty<AxisDirection>('crossAxisDirection', crossAxisDirection, defaultValue: null));
  +    properties.add(EnumProperty<AxisDirection>(
  +        'crossAxisDirection', crossAxisDirection,
  +        defaultValue: null));
       properties.add(DoubleProperty('anchor', anchor));
       properties.add(DiagnosticsProperty<ViewportOffset>('offset', offset));
       if (center != null) {
         properties.add(DiagnosticsProperty<Key>('center', center));
       } else if (children.isNotEmpty && children.first.key != null) {
  -      properties.add(DiagnosticsProperty<Key>('center', children.first.key, tooltip: 'implicit'));
  +      properties.add(DiagnosticsProperty<Key>('center', children.first.key,
  +          tooltip: 'implicit'));
       }
       properties.add(DiagnosticsProperty<double>('cacheExtent', cacheExtent));
  -    properties.add(DiagnosticsProperty<CacheExtentStyle>('cacheExtentStyle', cacheExtentStyle));
  +    properties.add(DiagnosticsProperty<CacheExtentStyle>(
  +        'cacheExtentStyle', cacheExtentStyle));
     }
   }
   
  
positive.code:   CustomRenderViewport createRenderObject(BuildContext context);
  
    @override
    void updateRenderObject(BuildContext context, CustomRenderViewport renderObject);
  
    @override
    _ViewportElement createElement() => _ViewportElement(this);
  
negative.code:                 ErrorSummary('Vertical viewport was given unbounded height.'),
                  ErrorDescription(
                      'Viewports expand in the scrolling direction to fill their container. '
                      'In this case, a vertical viewport was given an unlimited amount of '
                      'vertical space in which to expand. This situation typically happens '
                      'when a scrollable widget is nested inside another scrollable widget.'),
                  ErrorHint(
                      'If this widget is always nested in a scrollable widget there '
                      'is no need to use a viewport because there will always be enough '
                      'vertical space for the children. In this case, consider using a '
                      'Column instead. Otherwise, consider using the "shrinkWrap" property '
                      '(or a ShrinkWrappingViewport) to size the height of the viewport '
                      'to the sum of the heights of its children.')
                ]);
              }
              if (!constraints.hasBoundedWidth) {
                throw FlutterError(
                    'Vertical viewport was given unbounded width.\n'
                    'Viewports expand in the cross axis to fill their container and '
                    'constrain their children to match their extent in the cross axis. '
                    'In this case, a vertical viewport was given an unlimited amount of '
                    'horizontal space in which to expand.');
              }
              break;
            case Axis.horizontal:
  