diff --git a/dev/tools/vitool/lib/vitool.dart b/dev/tools/vitool/lib/vitool.dart index 89a681cad3..0f0f4bc2c6 100644 --- a/dev/tools/vitool/lib/vitool.dart +++ b/dev/tools/vitool/lib/vitool.dart @@ -68,7 +68,7 @@ class Animation { /// Represents the animation of a single path. class PathAnimation { - const PathAnimation(this.commands, {@required this.opacities}); + const PathAnimation(this.commands, {required this.opacities}); factory PathAnimation.fromFrameData(List frames, int pathIdx) { if (frames.isEmpty) @@ -77,9 +77,7 @@ class PathAnimation { final List commands = []; for (int commandIdx = 0; commandIdx < frames[0].paths[pathIdx].commands.length; commandIdx += 1) { final int numPointsInCommand = frames[0].paths[pathIdx].commands[commandIdx].points.length; - final List>> points = List>>.filled(numPointsInCommand, null); - for (int j = 0; j < numPointsInCommand; j += 1) - points[j] = >[]; + final List>> points = List>>.filled(numPointsInCommand, >[]); final String commandType = frames[0].paths[pathIdx].commands[commandIdx].type; for (int i = 0; i < frames.length; i += 1) { final FrameData frame = frames[i]; @@ -248,12 +246,12 @@ List> parsePoints(String points) { String unParsed = points; final List> result = >[]; while (unParsed.isNotEmpty && _pointMatcher.hasMatch(unParsed)) { - final Match m = _pointMatcher.firstMatch(unParsed); + final Match m = _pointMatcher.firstMatch(unParsed)!; result.add(Point( - double.parse(m.group(1)), - double.parse(m.group(2)), + double.parse(m.group(1)!), + double.parse(m.group(2)!), )); - unParsed = m.group(3); + unParsed = m.group(3)!; } return result; } @@ -306,8 +304,8 @@ class SvgPath { if (!_pathCommandValidator.hasMatch(dAttr)) throw Exception('illegal or unsupported path d expression: $dAttr'); for (final Match match in _pathCommandMatcher.allMatches(dAttr)) { - final String commandType = match.group(1); - final String pointStr = match.group(2); + final String commandType = match.group(1)!; + final String pointStr = match.group(2)!; commands.add(commandsBuilder.build(commandType, parsePoints(pointStr))); } return SvgPath(id, commands); @@ -422,7 +420,7 @@ class SvgPathCommandBuilder { } List _pointsToVector3Array(List> points) { - final List result = List.filled(points.length * 3, null); + final List result = List.filled(points.length * 3, 0.0); for (int i = 0; i < points.length; i += 1) { result[i * 3] = points[i].x; result[i * 3 + 1] = points[i].y; @@ -433,10 +431,10 @@ List _pointsToVector3Array(List> points) { List> _vector3ArrayToPoints(List vector) { final int numPoints = (vector.length / 3).floor(); - final List> points = List>.filled(numPoints, null); - for (int i = 0; i < numPoints; i += 1) { - points[i] = Point(vector[i*3], vector[i*3 + 1]); - } + final List> points = >[ + for (int i = 0; i < numPoints; i += 1) + Point(vector[i*3], vector[i*3 + 1]), + ]; return points; } @@ -447,7 +445,7 @@ List> _vector3ArrayToPoints(List vector) { class _Transform { /// Constructs a new _Transform, default arguments create a no-op transform. - _Transform({Matrix3 transformMatrix, this.opacity = 1.0}) : + _Transform({Matrix3? transformMatrix, this.opacity = 1.0}) : transformMatrix = transformMatrix ?? Matrix3.identity(); final Matrix3 transformMatrix; @@ -472,8 +470,8 @@ Matrix3 _parseSvgTransform(String transform) { final Iterable matches =_transformCommand.allMatches(transform).toList().reversed; Matrix3 result = Matrix3.identity(); for (final Match m in matches) { - final String command = m.group(1); - final String params = m.group(2); + final String command = m.group(1)!; + final String params = m.group(2)!; if (command == 'translate') { result = _parseSvgTranslate(params).multiplied(result); continue; @@ -533,7 +531,7 @@ int parsePixels(String pixels) { throw ArgumentError( "illegal pixels expression: '$pixels'" ' (the tool currently only support pixel units).'); - return int.parse(_pixelsExp.firstMatch(pixels).group(1)); + return int.parse(_pixelsExp.firstMatch(pixels)!.group(1)!); } String _extractAttr(XmlElement element, String name) { diff --git a/dev/tools/vitool/pubspec.yaml b/dev/tools/vitool/pubspec.yaml index 120a103712..2f1c600b3e 100644 --- a/dev/tools/vitool/pubspec.yaml +++ b/dev/tools/vitool/pubspec.yaml @@ -5,7 +5,7 @@ homepage: https://flutter.dev author: Flutter Authors environment: - sdk: ">=2.2.2 <3.0.0" + sdk: ">=2.12.0 <3.0.0" dependencies: args: 2.1.1