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

Side by Side Diff: pkg/analyzer_cli/lib/src/package_analyzer.dart

Issue 1805533005: Directory support for the analyzer CLI (#25129). (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 9 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
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library analyzer_cli.src.package_analyzer; 5 library analyzer_cli.src.package_analyzer;
6 6
7 import 'dart:core' hide Resource; 7 import 'dart:core' hide Resource;
8 import 'dart:io' as io; 8 import 'dart:io' as io;
9 9
10 import 'package:analyzer/dart/element/element.dart'; 10 import 'package:analyzer/dart/element/element.dart';
(...skipping 13 matching lines...) Expand all
24 import 'package:analyzer_cli/src/driver.dart'; 24 import 'package:analyzer_cli/src/driver.dart';
25 import 'package:analyzer_cli/src/error_formatter.dart'; 25 import 'package:analyzer_cli/src/error_formatter.dart';
26 import 'package:analyzer_cli/src/options.dart'; 26 import 'package:analyzer_cli/src/options.dart';
27 import 'package:path/path.dart' as pathos; 27 import 'package:path/path.dart' as pathos;
28 28
29 /** 29 /**
30 * The hermetic whole package analyzer. 30 * The hermetic whole package analyzer.
31 */ 31 */
32 class PackageAnalyzer { 32 class PackageAnalyzer {
33 final CommandLineOptions options; 33 final CommandLineOptions options;
34 final AnalysisStats stats;
34 35
35 String packagePath; 36 String packagePath;
36 String packageLibPath; 37 String packageLibPath;
37 38
38 final ResourceProvider resourceProvider = PhysicalResourceProvider.INSTANCE; 39 final ResourceProvider resourceProvider = PhysicalResourceProvider.INSTANCE;
39 InternalAnalysisContext context; 40 InternalAnalysisContext context;
40 final List<Source> explicitSources = <Source>[]; 41 final List<Source> explicitSources = <Source>[];
41 42
42 PackageAnalyzer(this.options); 43 PackageAnalyzer(this.options, this.stats);
43 44
44 /** 45 /**
45 * Perform package analysis according to the given [options]. 46 * Perform package analysis according to the given [options].
46 */ 47 */
47 ErrorSeverity analyze() { 48 ErrorSeverity analyze() {
48 packagePath = resourceProvider.pathContext.normalize(resourceProvider 49 packagePath = resourceProvider.pathContext.normalize(resourceProvider
49 .pathContext 50 .pathContext
50 .join(io.Directory.current.absolute.path, options.packageModePath)); 51 .join(io.Directory.current.absolute.path, options.packageModePath));
51 packageLibPath = resourceProvider.pathContext.join(packagePath, 'lib'); 52 packageLibPath = resourceProvider.pathContext.join(packagePath, 'lib');
52 if (packageLibPath == null) { 53 if (packageLibPath == null) {
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 } 175 }
175 176
176 /** 177 /**
177 * Print errors for all explicit sources. 178 * Print errors for all explicit sources.
178 */ 179 */
179 void _printErrors() { 180 void _printErrors() {
180 StringSink sink = options.machineFormat ? errorSink : outSink; 181 StringSink sink = options.machineFormat ? errorSink : outSink;
181 ErrorFormatter formatter = new ErrorFormatter( 182 ErrorFormatter formatter = new ErrorFormatter(
182 sink, 183 sink,
183 options, 184 options,
185 stats,
184 (AnalysisError error) => 186 (AnalysisError error) =>
185 AnalyzerImpl.processError(error, options, context)); 187 AnalyzerImpl.processError(error, options, context));
186 for (Source source in explicitSources) { 188 for (Source source in explicitSources) {
187 AnalysisErrorInfo errorInfo = context.getErrors(source); 189 AnalysisErrorInfo errorInfo = context.getErrors(source);
188 formatter.formatErrors([errorInfo]); 190 formatter.formatErrors([errorInfo]);
189 } 191 }
192 stats.print(sink);
190 } 193 }
191 } 194 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698