From 171c1334cc3d7f5e5da1935af90806ef42250737 Mon Sep 17 00:00:00 2001 From: Nate Biggs Date: Mon, 30 Oct 2023 22:49:09 +0000 Subject: [PATCH] [dart2js] Add 'main-only' option to dump info diff tool. Change-Id: Ibabfd4eb9de5820365772c4b75d5ed0624b148a8 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/332640 Reviewed-by: Sigmund Cherem Commit-Queue: Nate Biggs --- pkg/dart2js_info/bin/src/diff.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/dart2js_info/bin/src/diff.dart b/pkg/dart2js_info/bin/src/diff.dart index ec43dc988d0..e601360fb78 100644 --- a/pkg/dart2js_info/bin/src/diff.dart +++ b/pkg/dart2js_info/bin/src/diff.dart @@ -3,7 +3,6 @@ // BSD-style license that can be found in the LICENSE file. import 'package:args/command_runner.dart'; - import 'package:dart2js_info/info.dart'; import 'package:dart2js_info/src/diff.dart'; import 'package:dart2js_info/src/io.dart'; @@ -23,6 +22,10 @@ class DiffCommand extends Command with PrintUsageException { argParser.addFlag('summary-only', defaultsTo: false, help: "Show only a summary and hide details of each library"); + argParser.addFlag('main-only', + defaultsTo: false, + help: + "Only includes diffs where the entity is in the main output unit."); } @override @@ -37,6 +40,7 @@ class DiffCommand extends Command with PrintUsageException { final oldInfo = await infoFromFile(args[0]); final newInfo = await infoFromFile(args[1]); final summaryOnly = argRes['summary-only'] as bool; + final mainOnly = argRes['main-only'] as bool; final diffs = diff(oldInfo, newInfo); @@ -48,6 +52,7 @@ class DiffCommand extends Command with PrintUsageException { final becameUndeferred = []; for (var diff in diffs) { + if (mainOnly && diff.info.outputUnit?.name != 'main') continue; switch (diff.kind) { case DiffKind.add: adds.add(diff as AddDiff);