mirror of
https://github.com/flutter/flutter
synced 2024-10-05 15:59:49 +00:00
Fill in SliverConstraints fields missing from ==, hashCode, toString (#143661)
I was doing some debugging on a RenderSliver subclass, and found that SliverConstraints.toString was missing the precedingScrollExtent field. Add that, and add both that field and userScrollDirection to the `==` and hashCode implementations, which had been skipping them, so that all three methods now handle all the class's fields.
This commit is contained in:
parent
a431dee5c9
commit
6b9d3ea4fc
|
@ -556,7 +556,9 @@ class SliverConstraints extends Constraints {
|
|||
assert(other.debugAssertIsValid());
|
||||
return other.axisDirection == axisDirection
|
||||
&& other.growthDirection == growthDirection
|
||||
&& other.userScrollDirection == userScrollDirection
|
||||
&& other.scrollOffset == scrollOffset
|
||||
&& other.precedingScrollExtent == precedingScrollExtent
|
||||
&& other.overlap == overlap
|
||||
&& other.remainingPaintExtent == remainingPaintExtent
|
||||
&& other.crossAxisExtent == crossAxisExtent
|
||||
|
@ -570,7 +572,9 @@ class SliverConstraints extends Constraints {
|
|||
int get hashCode => Object.hash(
|
||||
axisDirection,
|
||||
growthDirection,
|
||||
userScrollDirection,
|
||||
scrollOffset,
|
||||
precedingScrollExtent,
|
||||
overlap,
|
||||
remainingPaintExtent,
|
||||
crossAxisExtent,
|
||||
|
@ -587,6 +591,7 @@ class SliverConstraints extends Constraints {
|
|||
'$growthDirection',
|
||||
'$userScrollDirection',
|
||||
'scrollOffset: ${scrollOffset.toStringAsFixed(1)}',
|
||||
'precedingScrollExtent: ${precedingScrollExtent.toStringAsFixed(1)}',
|
||||
'remainingPaintExtent: ${remainingPaintExtent.toStringAsFixed(1)}',
|
||||
if (overlap != 0.0) 'overlap: ${overlap.toStringAsFixed(1)}',
|
||||
'crossAxisExtent: ${crossAxisExtent.toStringAsFixed(1)}',
|
||||
|
|
|
@ -90,10 +90,10 @@ void main() {
|
|||
' │ │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n'
|
||||
' │ │ constraints: SliverConstraints(AxisDirection.down,\n'
|
||||
' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
|
||||
' │ │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
|
||||
' │ │ crossAxisDirection: AxisDirection.right,\n'
|
||||
' │ │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0,\n'
|
||||
' │ │ cacheOrigin: 0.0)\n'
|
||||
' │ │ 0.0, precedingScrollExtent: 0.0, remainingPaintExtent: 600.0,\n'
|
||||
' │ │ crossAxisExtent: 800.0, crossAxisDirection:\n'
|
||||
' │ │ AxisDirection.right, viewportMainAxisExtent: 600.0,\n'
|
||||
' │ │ remainingCacheExtent: 850.0, cacheOrigin: 0.0)\n'
|
||||
' │ │ geometry: SliverGeometry(scrollExtent: 400.0, paintExtent: 400.0,\n'
|
||||
' │ │ maxPaintExtent: 400.0, cacheExtent: 400.0)\n'
|
||||
' │ │\n'
|
||||
|
@ -106,10 +106,10 @@ void main() {
|
|||
' │ │ parentData: paintOffset=Offset(0.0, 400.0) (can use size)\n'
|
||||
' │ │ constraints: SliverConstraints(AxisDirection.down,\n'
|
||||
' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
|
||||
' │ │ 0.0, remainingPaintExtent: 200.0, crossAxisExtent: 800.0,\n'
|
||||
' │ │ crossAxisDirection: AxisDirection.right,\n'
|
||||
' │ │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 450.0,\n'
|
||||
' │ │ cacheOrigin: 0.0)\n'
|
||||
' │ │ 0.0, precedingScrollExtent: 400.0, remainingPaintExtent: 200.0,\n'
|
||||
' │ │ crossAxisExtent: 800.0, crossAxisDirection:\n'
|
||||
' │ │ AxisDirection.right, viewportMainAxisExtent: 600.0,\n'
|
||||
' │ │ remainingCacheExtent: 450.0, cacheOrigin: 0.0)\n'
|
||||
' │ │ geometry: SliverGeometry(scrollExtent: 400.0, paintExtent: 200.0,\n'
|
||||
' │ │ maxPaintExtent: 400.0, hasVisualOverflow: true, cacheExtent:\n'
|
||||
' │ │ 400.0)\n'
|
||||
|
@ -123,10 +123,10 @@ void main() {
|
|||
' │ │ parentData: paintOffset=Offset(0.0, 800.0) (can use size)\n'
|
||||
' │ │ constraints: SliverConstraints(AxisDirection.down,\n'
|
||||
' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
|
||||
' │ │ 0.0, remainingPaintExtent: 0.0, crossAxisExtent: 800.0,\n'
|
||||
' │ │ crossAxisDirection: AxisDirection.right,\n'
|
||||
' │ │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 50.0,\n'
|
||||
' │ │ cacheOrigin: 0.0)\n'
|
||||
' │ │ 0.0, precedingScrollExtent: 800.0, remainingPaintExtent: 0.0,\n'
|
||||
' │ │ crossAxisExtent: 800.0, crossAxisDirection:\n'
|
||||
' │ │ AxisDirection.right, viewportMainAxisExtent: 600.0,\n'
|
||||
' │ │ remainingCacheExtent: 50.0, cacheOrigin: 0.0)\n'
|
||||
' │ │ geometry: SliverGeometry(scrollExtent: 400.0, hidden,\n'
|
||||
' │ │ maxPaintExtent: 400.0, hasVisualOverflow: true, cacheExtent:\n'
|
||||
' │ │ 50.0)\n'
|
||||
|
@ -140,10 +140,10 @@ void main() {
|
|||
' │ │ parentData: paintOffset=Offset(0.0, 1200.0) (can use size)\n'
|
||||
' │ │ constraints: SliverConstraints(AxisDirection.down,\n'
|
||||
' │ │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
|
||||
' │ │ 0.0, remainingPaintExtent: 0.0, crossAxisExtent: 800.0,\n'
|
||||
' │ │ crossAxisDirection: AxisDirection.right,\n'
|
||||
' │ │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 0.0,\n'
|
||||
' │ │ cacheOrigin: 0.0)\n'
|
||||
' │ │ 0.0, precedingScrollExtent: 1200.0, remainingPaintExtent: 0.0,\n'
|
||||
' │ │ crossAxisExtent: 800.0, crossAxisDirection:\n'
|
||||
' │ │ AxisDirection.right, viewportMainAxisExtent: 600.0,\n'
|
||||
' │ │ remainingCacheExtent: 0.0, cacheOrigin: 0.0)\n'
|
||||
' │ │ geometry: SliverGeometry(scrollExtent: 400.0, hidden,\n'
|
||||
' │ │ maxPaintExtent: 400.0, hasVisualOverflow: true)\n'
|
||||
' │ │\n'
|
||||
|
@ -156,10 +156,10 @@ void main() {
|
|||
' │ parentData: paintOffset=Offset(0.0, 1600.0) (can use size)\n'
|
||||
' │ constraints: SliverConstraints(AxisDirection.down,\n'
|
||||
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
|
||||
' │ 0.0, remainingPaintExtent: 0.0, crossAxisExtent: 800.0,\n'
|
||||
' │ crossAxisDirection: AxisDirection.right,\n'
|
||||
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 0.0,\n'
|
||||
' │ cacheOrigin: 0.0)\n'
|
||||
' │ 0.0, precedingScrollExtent: 1600.0, remainingPaintExtent: 0.0,\n'
|
||||
' │ crossAxisExtent: 800.0, crossAxisDirection:\n'
|
||||
' │ AxisDirection.right, viewportMainAxisExtent: 600.0,\n'
|
||||
' │ remainingCacheExtent: 0.0, cacheOrigin: 0.0)\n'
|
||||
' │ geometry: SliverGeometry(scrollExtent: 400.0, hidden,\n'
|
||||
' │ maxPaintExtent: 400.0, hasVisualOverflow: true)\n'
|
||||
' │\n'
|
||||
|
@ -977,7 +977,7 @@ void main() {
|
|||
' The "precedingScrollExtent" is NaN, expected greater than or equal to zero.\n'
|
||||
' The constraints are not normalized.\n'
|
||||
'The offending constraints were:\n'
|
||||
' SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle, scrollOffset: NaN, remainingPaintExtent: NaN, overlap: NaN, crossAxisExtent: NaN, crossAxisDirection: AxisDirection.left, viewportMainAxisExtent: NaN, remainingCacheExtent: NaN, cacheOrigin: NaN)',
|
||||
' SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle, scrollOffset: NaN, precedingScrollExtent: NaN, remainingPaintExtent: NaN, overlap: NaN, crossAxisExtent: NaN, crossAxisDirection: AxisDirection.left, viewportMainAxisExtent: NaN, remainingCacheExtent: NaN, cacheOrigin: NaN)',
|
||||
);
|
||||
threw = true;
|
||||
}
|
||||
|
@ -1013,7 +1013,7 @@ void main() {
|
|||
' The "precedingScrollExtent" is negative.\n'
|
||||
' The constraints are not normalized.\n'
|
||||
'The offending constraints were:\n'
|
||||
' SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle, scrollOffset: -1.0, remainingPaintExtent: -1.0, crossAxisExtent: 0.0, crossAxisDirection: AxisDirection.left, viewportMainAxisExtent: 0.0, remainingCacheExtent: -1.0, cacheOrigin: 1.0)',
|
||||
' SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle, scrollOffset: -1.0, precedingScrollExtent: -1.0, remainingPaintExtent: -1.0, crossAxisExtent: 0.0, crossAxisDirection: AxisDirection.left, viewportMainAxisExtent: 0.0, remainingCacheExtent: -1.0, cacheOrigin: 1.0)',
|
||||
);
|
||||
threw = true;
|
||||
}
|
||||
|
|
|
@ -316,10 +316,10 @@ void main() {
|
|||
' │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n'
|
||||
' │ constraints: SliverConstraints(AxisDirection.down,\n'
|
||||
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
|
||||
' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
|
||||
' │ crossAxisDirection: AxisDirection.right,\n'
|
||||
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0,\n'
|
||||
' │ cacheOrigin: 0.0)\n'
|
||||
' │ 0.0, precedingScrollExtent: 0.0, remainingPaintExtent: 600.0,\n'
|
||||
' │ crossAxisExtent: 800.0, crossAxisDirection:\n'
|
||||
' │ AxisDirection.right, viewportMainAxisExtent: 600.0,\n'
|
||||
' │ remainingCacheExtent: 850.0, cacheOrigin: 0.0)\n'
|
||||
' │ geometry: SliverGeometry(scrollExtent: 40000.0, paintExtent:\n'
|
||||
' │ 600.0, maxPaintExtent: 40000.0, hasVisualOverflow: true,\n'
|
||||
' │ cacheExtent: 850.0)\n'
|
||||
|
@ -330,10 +330,10 @@ void main() {
|
|||
' │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n'
|
||||
' │ constraints: SliverConstraints(AxisDirection.down,\n'
|
||||
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
|
||||
' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
|
||||
' │ crossAxisDirection: AxisDirection.right,\n'
|
||||
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0,\n'
|
||||
' │ cacheOrigin: 0.0)\n'
|
||||
' │ 0.0, precedingScrollExtent: 0.0, remainingPaintExtent: 600.0,\n'
|
||||
' │ crossAxisExtent: 800.0, crossAxisDirection:\n'
|
||||
' │ AxisDirection.right, viewportMainAxisExtent: 600.0,\n'
|
||||
' │ remainingCacheExtent: 850.0, cacheOrigin: 0.0)\n'
|
||||
' │ geometry: SliverGeometry(scrollExtent: 40000.0, paintExtent:\n'
|
||||
' │ 600.0, maxPaintExtent: 40000.0, hasVisualOverflow: true,\n'
|
||||
' │ cacheExtent: 850.0)\n'
|
||||
|
@ -491,10 +491,10 @@ void main() {
|
|||
' │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n'
|
||||
' │ constraints: SliverConstraints(AxisDirection.down,\n'
|
||||
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
|
||||
' │ 2000.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
|
||||
' │ crossAxisDirection: AxisDirection.right,\n'
|
||||
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 1100.0,\n'
|
||||
' │ cacheOrigin: -250.0)\n'
|
||||
' │ 2000.0, precedingScrollExtent: 0.0, remainingPaintExtent:\n'
|
||||
' │ 600.0, crossAxisExtent: 800.0, crossAxisDirection:\n'
|
||||
' │ AxisDirection.right, viewportMainAxisExtent: 600.0,\n'
|
||||
' │ remainingCacheExtent: 1100.0, cacheOrigin: -250.0)\n'
|
||||
' │ geometry: SliverGeometry(scrollExtent: 40000.0, paintExtent:\n'
|
||||
' │ 600.0, maxPaintExtent: 40000.0, hasVisualOverflow: true,\n'
|
||||
' │ cacheExtent: 1100.0)\n'
|
||||
|
@ -505,10 +505,10 @@ void main() {
|
|||
' │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n'
|
||||
' │ constraints: SliverConstraints(AxisDirection.down,\n'
|
||||
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
|
||||
' │ 2000.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
|
||||
' │ crossAxisDirection: AxisDirection.right,\n'
|
||||
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 1100.0,\n'
|
||||
' │ cacheOrigin: -250.0)\n'
|
||||
' │ 2000.0, precedingScrollExtent: 0.0, remainingPaintExtent:\n'
|
||||
' │ 600.0, crossAxisExtent: 800.0, crossAxisDirection:\n'
|
||||
' │ AxisDirection.right, viewportMainAxisExtent: 600.0,\n'
|
||||
' │ remainingCacheExtent: 1100.0, cacheOrigin: -250.0)\n'
|
||||
' │ geometry: SliverGeometry(scrollExtent: 40000.0, paintExtent:\n'
|
||||
' │ 600.0, maxPaintExtent: 40000.0, hasVisualOverflow: true,\n'
|
||||
' │ cacheExtent: 1100.0)\n'
|
||||
|
|
|
@ -336,10 +336,10 @@ void main() {
|
|||
' │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n'
|
||||
' │ constraints: SliverConstraints(AxisDirection.down,\n'
|
||||
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
|
||||
' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
|
||||
' │ crossAxisDirection: AxisDirection.right,\n'
|
||||
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0,\n'
|
||||
' │ cacheOrigin: 0.0)\n'
|
||||
' │ 0.0, precedingScrollExtent: 0.0, remainingPaintExtent: 600.0,\n'
|
||||
' │ crossAxisExtent: 800.0, crossAxisDirection:\n'
|
||||
' │ AxisDirection.right, viewportMainAxisExtent: 600.0,\n'
|
||||
' │ remainingCacheExtent: 850.0, cacheOrigin: 0.0)\n'
|
||||
' │ geometry: SliverGeometry(scrollExtent: 300.0, paintExtent: 300.0,\n'
|
||||
' │ maxPaintExtent: 300.0, cacheExtent: 300.0)\n'
|
||||
' │ currently live children: 0 to 2\n'
|
||||
|
|
|
@ -70,10 +70,10 @@ void main() {
|
|||
' │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n'
|
||||
' │ constraints: SliverConstraints(AxisDirection.down,\n'
|
||||
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
|
||||
' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
|
||||
' │ crossAxisDirection: AxisDirection.right,\n'
|
||||
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0,\n'
|
||||
' │ cacheOrigin: 0.0)\n'
|
||||
' │ 0.0, precedingScrollExtent: 0.0, remainingPaintExtent: 600.0,\n'
|
||||
' │ crossAxisExtent: 800.0, crossAxisDirection:\n'
|
||||
' │ AxisDirection.right, viewportMainAxisExtent: 600.0,\n'
|
||||
' │ remainingCacheExtent: 850.0, cacheOrigin: 0.0)\n'
|
||||
' │ geometry: SliverGeometry(scrollExtent: 12000.0, paintExtent:\n'
|
||||
' │ 600.0, maxPaintExtent: 12000.0, hasVisualOverflow: true,\n'
|
||||
' │ cacheExtent: 850.0)\n'
|
||||
|
@ -83,10 +83,10 @@ void main() {
|
|||
' │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n'
|
||||
' │ constraints: SliverConstraints(AxisDirection.down,\n'
|
||||
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
|
||||
' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
|
||||
' │ crossAxisDirection: AxisDirection.right,\n'
|
||||
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0,\n'
|
||||
' │ cacheOrigin: 0.0)\n'
|
||||
' │ 0.0, precedingScrollExtent: 0.0, remainingPaintExtent: 600.0,\n'
|
||||
' │ crossAxisExtent: 800.0, crossAxisDirection:\n'
|
||||
' │ AxisDirection.right, viewportMainAxisExtent: 600.0,\n'
|
||||
' │ remainingCacheExtent: 850.0, cacheOrigin: 0.0)\n'
|
||||
' │ geometry: SliverGeometry(scrollExtent: 12000.0, paintExtent:\n'
|
||||
' │ 600.0, maxPaintExtent: 12000.0, hasVisualOverflow: true,\n'
|
||||
' │ cacheExtent: 850.0)\n'
|
||||
|
|
|
@ -88,10 +88,10 @@ void main() {
|
|||
' │ parentData: paintOffset=Offset(0.0, 0.0) (can use size)\n'
|
||||
' │ constraints: SliverConstraints(AxisDirection.down,\n'
|
||||
' │ GrowthDirection.forward, ScrollDirection.idle, scrollOffset:\n'
|
||||
' │ 0.0, remainingPaintExtent: 600.0, crossAxisExtent: 800.0,\n'
|
||||
' │ crossAxisDirection: AxisDirection.right,\n'
|
||||
' │ viewportMainAxisExtent: 600.0, remainingCacheExtent: 850.0,\n'
|
||||
' │ cacheOrigin: 0.0)\n'
|
||||
' │ 0.0, precedingScrollExtent: 0.0, remainingPaintExtent: 600.0,\n'
|
||||
' │ crossAxisExtent: 800.0, crossAxisDirection:\n'
|
||||
' │ AxisDirection.right, viewportMainAxisExtent: 600.0,\n'
|
||||
' │ remainingCacheExtent: 850.0, cacheOrigin: 0.0)\n'
|
||||
' │ geometry: SliverGeometry(scrollExtent: 200.0, paintExtent: 200.0,\n'
|
||||
' │ maxPaintExtent: 200.0, hasVisualOverflow: true, cacheExtent:\n'
|
||||
' │ 200.0)\n'
|
||||
|
|
Loading…
Reference in a new issue