Index: pkg/analyzer/tool/analysis_driver/inspect_exception.dart |
diff --git a/pkg/analyzer/tool/analysis_driver/inspect_exception.dart b/pkg/analyzer/tool/analysis_driver/inspect_exception.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9813944964c037c8b151e54a203d05bb823c7131 |
--- /dev/null |
+++ b/pkg/analyzer/tool/analysis_driver/inspect_exception.dart |
@@ -0,0 +1,48 @@ |
+// Copyright (c) 2017, 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. |
+ |
+import 'dart:io'; |
+ |
+import 'package:analyzer/src/summary/idl.dart'; |
+import 'package:args/args.dart'; |
+ |
+main(List<String> args) { |
+ ArgParser argParser = new ArgParser()..addFlag('raw'); |
+ ArgResults argResults = argParser.parse(args); |
+ if (argResults.rest.length != 1) { |
+ print(argParser.usage); |
+ exitCode = 1; |
+ return; |
+ } |
+ |
+ String path = argResults.rest[0]; |
+ List<int> bytes = new File(path).readAsBytesSync(); |
+ AnalysisDriverExceptionContext context = |
+ new AnalysisDriverExceptionContext.fromBuffer(bytes); |
+ |
+ print(context.path); |
+ print(''); |
+ print(''); |
+ print(''); |
+ |
+ print(context.exception); |
+ print(''); |
+ print(''); |
+ print(''); |
+ |
+ print(context.stackTrace); |
+ print(''); |
+ print(''); |
+ print(''); |
+ |
+ context.files.forEach((file) { |
+ print("=" * 40); |
+ print('${file.path}'); |
+ print("-" * 40); |
+ print('${file.content}'); |
+ print(''); |
+ print(''); |
+ print(''); |
+ }); |
+} |