Files
sdk/pkg/front_end/tool/_fasta/log_analyzer.dart
T
Johnni Winther 34fb48bb8a [kernel,front_end] Migrate first wave of pkg/kernel and pkg/front_end
Migrates libraries dependent only on already migrated libraries.

Change-Id: I0e85ee8dbc2afce031b92e0009e71c206a55af28
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179502
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2021-01-18 15:40:21 +00:00

39 lines
1.1 KiB
Dart

// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// @dart=2.9
import 'dart:convert' show jsonDecode, jsonEncode;
import 'dart:io';
import 'package:testing/src/run_tests.dart' show CommandLine;
main(List<String> arguments) async {
CommandLine cl = CommandLine.parse(arguments);
Set<String> fields = cl.commaSeparated("--fields=");
if (fields.isEmpty) {
fields.addAll(["uri", "offset", "json:error"]);
}
for (String filename in cl.arguments) {
String json = await new File(filename).readAsString();
Map<String, dynamic> data = jsonDecode(json) as Map<String, dynamic>;
StringBuffer sb = new StringBuffer();
bool isFirst = true;
for (String field in fields) {
if (!isFirst) {
sb.write(":");
}
if (field.startsWith("json:")) {
field = field.substring(5);
sb.write(jsonEncode(data[field]));
} else {
sb.write(data[field]);
}
isFirst = false;
}
print("$sb");
}
}