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

Unified Diff: pkg/analyzer_cli/lib/src/driver.dart

Issue 2257023002: Replace uses of FileBasedSource in cli (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer_cli/lib/src/build_mode.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer_cli/lib/src/driver.dart
diff --git a/pkg/analyzer_cli/lib/src/driver.dart b/pkg/analyzer_cli/lib/src/driver.dart
index 68c9b2506d721e04e593e0c8e80d7773447c1f2e..e0c1eea5b4ccbaff496edf1e2ba42620f426046b 100644
--- a/pkg/analyzer_cli/lib/src/driver.dart
+++ b/pkg/analyzer_cli/lib/src/driver.dart
@@ -6,9 +6,10 @@ library analyzer_cli.src.driver;
import 'dart:async';
import 'dart:convert';
-import 'dart:io';
+import 'dart:io' as io;
import 'package:analyzer/file_system/file_system.dart' as file_system;
+import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/physical_file_system.dart';
import 'package:analyzer/plugin/options.dart';
import 'package:analyzer/plugin/resolver_provider.dart';
@@ -31,6 +32,7 @@ import 'package:analyzer/src/generated/source_io.dart';
import 'package:analyzer/src/generated/utilities_general.dart'
show PerformanceTag;
import 'package:analyzer/src/services/lint.dart';
+import 'package:analyzer/src/source/source_resource.dart';
import 'package:analyzer/src/summary/summary_sdk.dart' show SummaryBasedDartSdk;
import 'package:analyzer/src/task/options.dart';
import 'package:analyzer_cli/src/analyzer_impl.dart';
@@ -53,12 +55,12 @@ import 'package:yaml/yaml.dart';
/// Shared IO sink for standard error reporting.
///
/// *Visible for testing.*
-StringSink errorSink = stderr;
+StringSink errorSink = io.stderr;
/// Shared IO sink for standard out reporting.
///
/// *Visible for testing.*
-StringSink outSink = stdout;
+StringSink outSink = io.stdout;
/// Test this option map to see if it specifies lint rules.
bool containsLintRuleEntry(Map<String, YamlNode> options) {
@@ -132,7 +134,7 @@ class Driver implements CommandLineStarter {
ErrorSeverity severity = _buildModeAnalyze(options);
// In case of error propagate exit code.
if (severity == ErrorSeverity.ERROR) {
- exitCode = severity.ordinal;
+ io.exitCode = severity.ordinal;
}
} else if (options.shouldBatch) {
_BatchRunner.runAsBatch(args, (List<String> args) {
@@ -143,7 +145,7 @@ class Driver implements CommandLineStarter {
ErrorSeverity severity = _analyzeAll(options);
// In case of error propagate exit code.
if (severity == ErrorSeverity.ERROR) {
- exitCode = severity.ordinal;
+ io.exitCode = severity.ordinal;
}
}
@@ -154,7 +156,7 @@ class Driver implements CommandLineStarter {
if (options.perfReport != null) {
String json = makePerfReport(
startTime, currentTimeMillis(), options, _analyzedFileCount, stats);
- new File(options.perfReport).writeAsStringSync(json);
+ new io.File(options.perfReport).writeAsStringSync(json);
}
}
@@ -191,14 +193,14 @@ class Driver implements CommandLineStarter {
// Note that these files will all be analyzed in the same context.
// This should be updated when the ContextManager re-work is complete
// (See: https://github.com/dart-lang/sdk/issues/24133)
- Iterable<File> files = _collectFiles(sourcePath);
+ Iterable<io.File> files = _collectFiles(sourcePath);
if (files.isEmpty) {
errorSink.writeln('No dart files found at: $sourcePath');
- exitCode = ErrorSeverity.ERROR.ordinal;
+ io.exitCode = ErrorSeverity.ERROR.ordinal;
return ErrorSeverity.ERROR;
}
- for (File file in files) {
+ for (io.File file in files) {
Source source = _computeLibrarySource(file.absolute.path);
if (!knownSources.contains(source)) {
changeSet.addedSource(source);
@@ -235,7 +237,7 @@ class Driver implements CommandLineStarter {
if (!found) {
errorSink.writeln("${part.fullName} is a part and cannot be analyzed.");
errorSink.writeln("Please pass in a library that contains this part.");
- exitCode = ErrorSeverity.ERROR.ordinal;
+ io.exitCode = ErrorSeverity.ERROR.ordinal;
allResult = allResult.max(ErrorSeverity.ERROR);
}
}
@@ -423,15 +425,15 @@ class Driver implements CommandLineStarter {
/// Collect all analyzable files at [filePath], recursively if it's a
/// directory, ignoring links.
- Iterable<File> _collectFiles(String filePath) {
- List<File> files = <File>[];
- File file = new File(filePath);
+ Iterable<io.File> _collectFiles(String filePath) {
+ List<io.File> files = <io.File>[];
+ io.File file = new io.File(filePath);
if (file.existsSync()) {
files.add(file);
} else {
- Directory directory = new Directory(filePath);
+ io.Directory directory = new io.Directory(filePath);
if (directory.existsSync()) {
- for (FileSystemEntity entry
+ for (io.FileSystemEntity entry
in directory.listSync(recursive: true, followLinks: false)) {
String relative = path.relative(entry.path, from: directory.path);
if (AnalysisEngine.isDartFileName(entry.path) &&
@@ -449,17 +451,17 @@ class Driver implements CommandLineStarter {
/// context.
Source _computeLibrarySource(String sourcePath) {
sourcePath = _normalizeSourcePath(sourcePath);
- JavaFile sourceFile = new JavaFile(sourcePath);
- Source source = sdk.fromFileUri(sourceFile.toURI());
+ File sourceFile = resourceProvider.getFile(sourcePath);
+ Source source = sdk.fromFileUri(sourceFile.toUri());
if (source != null) {
return source;
}
- source = new FileBasedSource(sourceFile, sourceFile.toURI());
+ source = new FileSource(sourceFile, sourceFile.toUri());
Uri uri = _context.sourceFactory.restoreUri(source);
if (uri == null) {
return source;
}
- return new FileBasedSource(sourceFile, uri);
+ return new FileSource(sourceFile, uri);
}
/// Create an analysis context that is prepared to analyze sources according
@@ -538,7 +540,7 @@ class Driver implements CommandLineStarter {
String packageConfigPath = options.packageConfigPath;
Uri fileUri = new Uri.file(packageConfigPath);
try {
- File configFile = new File.fromUri(fileUri).absolute;
+ io.File configFile = new io.File.fromUri(fileUri).absolute;
List<int> bytes = configFile.readAsBytesSync();
Map<String, Uri> map = pkgfile.parse(bytes, configFile.uri);
packages = new MapPackages(map);
@@ -609,10 +611,10 @@ class Driver implements CommandLineStarter {
_context, incrementalSession, source, options, stats, startTime);
var errorSeverity = analyzer.analyzeSync();
if (errorSeverity == ErrorSeverity.ERROR) {
- exitCode = errorSeverity.ordinal;
+ io.exitCode = errorSeverity.ordinal;
}
if (options.warningsAreFatal && errorSeverity == ErrorSeverity.WARNING) {
- exitCode = errorSeverity.ordinal;
+ io.exitCode = errorSeverity.ordinal;
}
return errorSeverity;
}
@@ -721,7 +723,7 @@ class Driver implements CommandLineStarter {
/// Convert [sourcePath] into an absolute path.
static String _normalizeSourcePath(String sourcePath) =>
- path.normalize(new File(sourcePath).absolute.path);
+ path.normalize(new io.File(sourcePath).absolute.path);
static void _processAnalysisOptions(
file_system.ResourceProvider resourceProvider,
@@ -769,14 +771,14 @@ class _BatchRunner {
ErrorSeverity batchResult = ErrorSeverity.NONE;
// Read line from stdin.
Stream cmdLine =
- stdin.transform(UTF8.decoder).transform(new LineSplitter());
+ io.stdin.transform(UTF8.decoder).transform(new LineSplitter());
cmdLine.listen((String line) {
// Maybe finish.
if (line.isEmpty) {
var time = stopwatch.elapsedMilliseconds;
outSink.writeln(
'>>> BATCH END (${totalTests - testsFailed}/$totalTests) ${time}ms');
- exitCode = batchResult.ordinal;
+ io.exitCode = batchResult.ordinal;
}
// Prepare arguments.
var lineArgs = line.split(new RegExp('\\s+'));
@@ -828,7 +830,7 @@ class _PackageInfo {
class _PackageRootPackageMapBuilder {
static Map<String, List<file_system.Folder>> buildPackageMap(
String packageRootPath) {
- var packageRoot = new Directory(packageRootPath);
+ var packageRoot = new io.Directory(packageRootPath);
if (!packageRoot.existsSync()) {
throw new _DriverError(
'Package root directory ($packageRootPath) does not exist.');
« no previous file with comments | « pkg/analyzer_cli/lib/src/build_mode.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698