Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(762)

Side by Side Diff: pkg/analyzer_experimental/bin/analyzer.dart

Issue 14998006: Add some user-friendly utility functions to pkg/analyzer_experimental. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env dart 1 #!/usr/bin/env dart
2 2
3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
4 // for details. All rights reserved. Use of this source code is governed by a 4 // for details. All rights reserved. Use of this source code is governed by a
5 // BSD-style license that can be found in the LICENSE file. 5 // BSD-style license that can be found in the LICENSE file.
6 6
7 /** The entry point for the analyzer. */ 7 /** The entry point for the analyzer. */
8 library analyzer; 8 library analyzer;
9 9
10 import 'dart:async'; 10 import 'dart:async';
11 import 'dart:io'; 11 import 'dart:io';
12 12
13 import 'package:analyzer_experimental/src/generated/java_io.dart'; 13 import 'package:analyzer_experimental/src/generated/java_io.dart';
14 import 'package:analyzer_experimental/src/generated/engine.dart'; 14 import 'package:analyzer_experimental/src/generated/engine.dart';
15 import 'package:analyzer_experimental/src/generated/error.dart'; 15 import 'package:analyzer_experimental/src/generated/error.dart';
16 import 'package:analyzer_experimental/src/generated/source_io.dart'; 16 import 'package:analyzer_experimental/src/generated/source_io.dart';
17 import 'package:analyzer_experimental/src/generated/sdk.dart'; 17 import 'package:analyzer_experimental/src/generated/sdk.dart';
18 import 'package:analyzer_experimental/src/generated/sdk_io.dart'; 18 import 'package:analyzer_experimental/src/generated/sdk_io.dart';
19 import 'package:analyzer_experimental/src/generated/ast.dart'; 19 import 'package:analyzer_experimental/src/generated/ast.dart';
20 import 'package:analyzer_experimental/src/generated/element.dart'; 20 import 'package:analyzer_experimental/src/generated/element.dart';
21 import 'package:analyzer_experimental/options.dart'; 21 import 'package:analyzer_experimental/options.dart';
22 22
23 part 'package:analyzer_experimental/analyzer.dart'; 23 import 'package:analyzer_experimental/src/analyzer_impl.dart';
24 part 'package:analyzer_experimental/error_formatter.dart'; 24 import 'package:analyzer_experimental/src/error_formatter.dart';
25 25
26 void main() { 26 void main() {
27 var args = new Options().arguments; 27 var args = new Options().arguments;
28 var options = CommandLineOptions.parse(args); 28 var options = CommandLineOptions.parse(args);
29 if (options.shouldBatch) { 29 if (options.shouldBatch) {
30 BatchRunner.runAsBatch(args, (List<String> args) { 30 BatchRunner.runAsBatch(args, (List<String> args) {
31 var options = CommandLineOptions.parse(args); 31 var options = CommandLineOptions.parse(args);
32 return _runAnalyzer(options); 32 return _runAnalyzer(options);
33 }); 33 });
34 } else { 34 } else {
35 ErrorSeverity result = _runAnalyzer(options); 35 ErrorSeverity result = _runAnalyzer(options);
36 exit(result.ordinal); 36 exit(result.ordinal);
37 } 37 }
38 } 38 }
39 39
40 ErrorSeverity _runAnalyzer(CommandLineOptions options) { 40 ErrorSeverity _runAnalyzer(CommandLineOptions options) {
41 for (String sourcePath in options.sourceFiles) { 41 for (String sourcePath in options.sourceFiles) {
42 sourcePath = sourcePath.trim(); 42 sourcePath = sourcePath.trim();
43 // check that file exists 43 // check that file exists
44 if (!new File(sourcePath).existsSync()) { 44 if (!new File(sourcePath).existsSync()) {
45 print('File not found: $sourcePath'); 45 print('File not found: $sourcePath');
46 return ErrorSeverity.ERROR; 46 return ErrorSeverity.ERROR;
47 } 47 }
48 // check that file is Dart file 48 // check that file is Dart file
49 if (!AnalysisEngine.isDartFileName(sourcePath)) { 49 if (!AnalysisEngine.isDartFileName(sourcePath)) {
50 print('$sourcePath is not a Dart file'); 50 print('$sourcePath is not a Dart file');
51 return ErrorSeverity.ERROR; 51 return ErrorSeverity.ERROR;
52 } 52 }
53 // start analysis 53 // start analysis
54 _ErrorFormatter formatter = new _ErrorFormatter(options.machineFormat ? stde rr : stdout, options); 54 ErrorFormatter formatter = new ErrorFormatter(options.machineFormat ? stderr : stdout, options);
55 formatter.startAnalysis(); 55 formatter.startAnalysis();
56 // do analyze 56 // do analyze
57 _AnalyzerImpl analyzer = new _AnalyzerImpl(options); 57 AnalyzerImpl analyzer = new AnalyzerImpl(options);
58 analyzer.analyze(sourcePath); 58 analyzer.analyze(sourcePath);
59 // pring errors 59 // pring errors
60 formatter.formatErrors(analyzer.errorInfos); 60 formatter.formatErrors(analyzer.errorInfos);
61 // prepare status 61 // prepare status
62 ErrorSeverity status = analyzer.maxErrorSeverity; 62 ErrorSeverity status = analyzer.maxErrorSeverity;
63 if (status == ErrorSeverity.WARNING && options.warningsAreFatal) { 63 if (status == ErrorSeverity.WARNING && options.warningsAreFatal) {
64 status = ErrorSeverity.ERROR; 64 status = ErrorSeverity.ERROR;
65 } 65 }
66 return status; 66 return status;
67 } 67 }
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 stdout.writeln('>>> TEST $resultPassString ${stopwatch.elapsedMillisecon ds}ms'); 117 stdout.writeln('>>> TEST $resultPassString ${stopwatch.elapsedMillisecon ds}ms');
118 } catch (e, stackTrace) { 118 } catch (e, stackTrace) {
119 stderr.writeln(e); 119 stderr.writeln(e);
120 stderr.writeln(stackTrace); 120 stderr.writeln(stackTrace);
121 stderr.writeln('>>> EOF STDERR'); 121 stderr.writeln('>>> EOF STDERR');
122 stdout.writeln('>>> TEST CRASH'); 122 stdout.writeln('>>> TEST CRASH');
123 } 123 }
124 }); 124 });
125 } 125 }
126 } 126 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer_experimental/lib/analyzer.dart » ('j') | pkg/analyzer_experimental/lib/src/analyzer_impl.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698