From d4baabd022edfd28a1a87804668d0dc87e3b4318 Mon Sep 17 00:00:00 2001 From: sjindel-google Date: Fri, 7 Feb 2020 19:06:20 +0100 Subject: [PATCH] Ensure fields of Rect and OffsetBase classes are optimized as non-null. (flutter/engine#16465) * Ensure fields of Rect and OffsetBase classes are optimized as non-null. * Update web_ui and formatting --- engine/src/flutter/lib/ui/geometry.dart | 20 +++++++++++++------ .../lib/web_ui/lib/src/ui/geometry.dart | 3 ++- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/engine/src/flutter/lib/ui/geometry.dart b/engine/src/flutter/lib/ui/geometry.dart index 11849d3a8c4..aab15f960ad 100644 --- a/engine/src/flutter/lib/ui/geometry.dart +++ b/engine/src/flutter/lib/ui/geometry.dart @@ -12,7 +12,11 @@ abstract class OffsetBase { /// /// The first argument sets the horizontal component, and the second the /// vertical component. - const OffsetBase(this._dx, this._dy); + const OffsetBase(double dx, double dy) + : _dx = dx ?? 0.0, + _dy = dy ?? 0.0, + assert(dx != null), + assert(dy != null); final double _dx; final double _dy; @@ -615,11 +619,15 @@ class Size extends OffsetBase { class Rect { /// Construct a rectangle from its left, top, right, and bottom edges. @pragma('vm:entry-point') - const Rect.fromLTRB(this.left, this.top, this.right, this.bottom) - : assert(left != null), - assert(top != null), - assert(right != null), - assert(bottom != null); + const Rect.fromLTRB(double left, double top, double right, double bottom) + : left = left ?? 0.0, + right = right ?? 0.0, + top = top ?? 0.0, + bottom = bottom ?? 0.0, + assert(left != null), + assert(top != null), + assert(right != null), + assert(bottom != null); /// Construct a rectangle from its left and top edges, its width, and its /// height. diff --git a/engine/src/flutter/lib/web_ui/lib/src/ui/geometry.dart b/engine/src/flutter/lib/web_ui/lib/src/ui/geometry.dart index dc50d198fbf..7ef42175e7e 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/ui/geometry.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/ui/geometry.dart @@ -12,7 +12,8 @@ abstract class OffsetBase { /// /// The first argument sets the horizontal component, and the second the /// vertical component. - const OffsetBase(this._dx, this._dy); + const OffsetBase(double dx, double dy) + : _dx = dx, _dy = dy; final double _dx; final double _dy;