Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 27 matching lines...) Expand all Loading... | |
| 38 final ResourceProvider resourceProvider = PhysicalResourceProvider.INSTANCE; | 38 final ResourceProvider resourceProvider = PhysicalResourceProvider.INSTANCE; |
| 39 InternalAnalysisContext context; | 39 InternalAnalysisContext context; |
| 40 final List<Source> explicitSources = <Source>[]; | 40 final List<Source> explicitSources = <Source>[]; |
| 41 | 41 |
| 42 PackageAnalyzer(this.options); | 42 PackageAnalyzer(this.options); |
| 43 | 43 |
| 44 /** | 44 /** |
| 45 * Perform package analysis according to the given [options]. | 45 * Perform package analysis according to the given [options]. |
| 46 */ | 46 */ |
| 47 ErrorSeverity analyze() { | 47 ErrorSeverity analyze() { |
| 48 packagePath = options.packageModePath; | 48 packagePath = resourceProvider.pathContext |
| 49 .join(io.Directory.current.absolute.path, options.packageModePath); | |
|
scheglov
2016/03/04 19:15:22
Should we use both absolute() and normalize()?
Paul Berry
2016/03/04 22:11:23
Using normalize() seems like a good idea. Done.
| |
| 49 packageLibPath = resourceProvider.pathContext.join(packagePath, 'lib'); | 50 packageLibPath = resourceProvider.pathContext.join(packagePath, 'lib'); |
| 50 if (packageLibPath == null) { | 51 if (packageLibPath == null) { |
| 51 errorSink.writeln('--package-mode-path must be set to the root ' | 52 errorSink.writeln('--package-mode-path must be set to the root ' |
| 52 'folder of the package to analyze.'); | 53 'folder of the package to analyze.'); |
| 53 io.exitCode = ErrorSeverity.ERROR.ordinal; | 54 io.exitCode = ErrorSeverity.ERROR.ordinal; |
| 54 return ErrorSeverity.ERROR; | 55 return ErrorSeverity.ERROR; |
| 55 } | 56 } |
| 56 | 57 |
| 57 // Write the progress message. | 58 // Write the progress message. |
| 58 if (!options.machineFormat) { | 59 if (!options.machineFormat) { |
| 59 outSink.writeln("Analyzing sources ${options.sourceFiles}..."); | 60 outSink.writeln("Analyzing sources ${options.sourceFiles}..."); |
| 60 } | 61 } |
| 61 | 62 |
| 62 // Prepare the analysis context. | 63 // Prepare the analysis context. |
| 63 _createContext(); | 64 _createContext(); |
| 64 | 65 |
| 65 // Add sources. | 66 // Add sources. |
| 66 ChangeSet changeSet = new ChangeSet(); | 67 ChangeSet changeSet = new ChangeSet(); |
| 67 for (String path in options.sourceFiles) { | 68 for (String path in options.sourceFiles) { |
| 68 if (AnalysisEngine.isDartFileName(path)) { | 69 if (AnalysisEngine.isDartFileName(path)) { |
| 69 path = resourceProvider.pathContext.absolute(path); | |
| 70 File file = resourceProvider.getFile(path); | 70 File file = resourceProvider.getFile(path); |
| 71 if (!file.exists) { | 71 if (!file.exists) { |
| 72 errorSink.writeln('File not found: $path'); | 72 errorSink.writeln('File not found: $path'); |
| 73 io.exitCode = ErrorSeverity.ERROR.ordinal; | 73 io.exitCode = ErrorSeverity.ERROR.ordinal; |
| 74 return ErrorSeverity.ERROR; | 74 return ErrorSeverity.ERROR; |
| 75 } | 75 } |
| 76 Source source = _createSourceInContext(file); | 76 Source source = _createSourceInContext(file); |
| 77 explicitSources.add(source); | 77 explicitSources.add(source); |
| 78 changeSet.addedSource(source); | 78 changeSet.addedSource(source); |
| 79 } | 79 } |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 174 sink, | 174 sink, |
| 175 options, | 175 options, |
| 176 (AnalysisError error) => | 176 (AnalysisError error) => |
| 177 AnalyzerImpl.processError(error, options, context)); | 177 AnalyzerImpl.processError(error, options, context)); |
| 178 for (Source source in explicitSources) { | 178 for (Source source in explicitSources) { |
| 179 AnalysisErrorInfo errorInfo = context.getErrors(source); | 179 AnalysisErrorInfo errorInfo = context.getErrors(source); |
| 180 formatter.formatErrors([errorInfo]); | 180 formatter.formatErrors([errorInfo]); |
| 181 } | 181 } |
| 182 } | 182 } |
| 183 } | 183 } |
| OLD | NEW |