[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 <sigmund@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
This commit is contained in:
Nate Biggs 2023-10-30 22:49:09 +00:00 committed by Commit Queue
parent b034a909a6
commit 171c1334cc

View file

@ -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<void> 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<void> 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<void> with PrintUsageException {
final becameUndeferred = <DeferredStatusDiff>[];
for (var diff in diffs) {
if (mainOnly && diff.info.outputUnit?.name != 'main') continue;
switch (diff.kind) {
case DiffKind.add:
adds.add(diff as AddDiff);