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

Unified Diff: pkg/analyzer/lib/src/analyzer_impl.dart

Issue 560553002: Use pub list-package-dirs in analyzer command line (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: remove package_map_provider test from test_all.dart in server package Created 6 years, 3 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
Index: pkg/analyzer/lib/src/analyzer_impl.dart
diff --git a/pkg/analyzer/lib/src/analyzer_impl.dart b/pkg/analyzer/lib/src/analyzer_impl.dart
index dabeec25eca5feaf8df357f84dd7f522391592fa..665d0a9957bf6dfbb08dfc39daf85d87f2580dbb 100644
--- a/pkg/analyzer/lib/src/analyzer_impl.dart
+++ b/pkg/analyzer/lib/src/analyzer_impl.dart
@@ -5,7 +5,6 @@
library analyzer_impl;
import 'dart:async';
-
import 'dart:io';
import 'generated/constant.dart';
@@ -13,7 +12,6 @@ import 'generated/engine.dart';
import 'generated/element.dart';
import 'generated/error.dart';
import 'generated/java_io.dart';
-import 'generated/sdk.dart';
import 'generated/sdk_io.dart';
import 'generated/source_io.dart';
import '../options.dart';
@@ -22,13 +20,16 @@ import 'dart:collection';
import 'package:analyzer/src/generated/java_core.dart' show JavaSystem;
import 'package:analyzer/src/error_formatter.dart';
+import 'package:analyzer/file_system/physical_file_system.dart';
+import 'package:analyzer/source/package_map_resolver.dart';
+import 'package:analyzer/source/package_map_provider.dart';
/**
* The maximum number of sources for which AST structures should be kept in the cache.
*/
const int _MAX_CACHE_SIZE = 512;
-DartSdk sdk;
+DirectoryBasedDartSdk sdk;
/// Analyzes single library [File].
class AnalyzerImpl {
@@ -48,7 +49,8 @@ class AnalyzerImpl {
final List<AnalysisErrorInfo> errorInfos = new List<AnalysisErrorInfo>();
/// [HashMap] between sources and analysis error infos.
- final HashMap<Source, AnalysisErrorInfo> sourceErrorsMap = new HashMap<Source, AnalysisErrorInfo>();
+ final HashMap<Source, AnalysisErrorInfo> sourceErrorsMap =
+ new HashMap<Source, AnalysisErrorInfo>();
AnalyzerImpl(this.sourcePath, this.options, this.startTime) {
if (sdk == null) {
@@ -63,7 +65,7 @@ class AnalyzerImpl {
* then both will be printed. If [printMode] is `2`, then only performance
* information will be printed, and it will be marked as being for a cold VM.
*/
- ErrorSeverity analyzeSync({int printMode : 1}) {
+ ErrorSeverity analyzeSync({int printMode: 1}) {
setupForAnalysis();
return _analyzeSync(printMode);
}
@@ -141,7 +143,7 @@ class AnalyzerImpl {
// numbers.
//
// prepare errors
- sourceErrorsMap.forEach((k,v) {
+ sourceErrorsMap.forEach((k, v) {
errorInfos.add(sourceErrorsMap[k]);
});
@@ -159,7 +161,8 @@ class AnalyzerImpl {
});
}
- bool _excludeTodo(AnalysisError error) => error.errorCode.type != ErrorType.TODO;
+ bool _excludeTodo(AnalysisError error) =>
+ error.errorCode.type != ErrorType.TODO;
_printErrorsAndPerf() {
// The following is a hack. We currently print out to stderr to ensure that
@@ -195,7 +198,7 @@ class AnalyzerImpl {
- (ioTime + scanTime + parseTime + resolveTime + errorsTime + hintsTime
+ angularTime)}");
stdout.writeln("total:$totalTime");
- }
+ }
}
_printColdPerf() {
@@ -234,17 +237,26 @@ class AnalyzerImpl {
}
void prepareAnalysisContext(JavaFile sourceFile, Source source) {
- List<UriResolver> resolvers = [new DartUriResolver(sdk), new FileUriResolver()];
+ List<UriResolver> resolvers = [
+ new DartUriResolver(sdk),
+ new FileUriResolver()];
// may be add package resolver
{
JavaFile packageDirectory;
if (options.packageRootPath != null) {
packageDirectory = new JavaFile(options.packageRootPath);
- } else {
- packageDirectory = getPackageDirectoryFor(sourceFile);
- }
- if (packageDirectory != null) {
resolvers.add(new PackageUriResolver([packageDirectory]));
+ stdout.write(
Brian Wilkerson 2014/09/09 20:30:43 While it's nice to let users known about the chang
jwren 2014/09/09 20:36:17 Done.
+ "The flag package-root is deprecated, by not including it on the command line a call will be made to pub to compute the package information.");
Paul Berry 2014/09/09 20:20:27 This error message is confusing to me. The phrase
jwren 2014/09/09 20:36:17 Done.
+ } else {
+ PubPackageMapProvider pubPackageMapProvider =
+ new PubPackageMapProvider(PhysicalResourceProvider.INSTANCE, sdk);
+ PackageMapInfo packageMapInfo = pubPackageMapProvider.computePackageMap(
+ PhysicalResourceProvider.INSTANCE.getResource(''));
+ resolvers.add(
+ new PackageMapUriResolver(
+ PhysicalResourceProvider.INSTANCE,
+ packageMapInfo.packageMap));
}
}
sourceFactory = new SourceFactory(resolvers);
@@ -274,8 +286,8 @@ class AnalyzerImpl {
context.applyChanges(changeSet);
}
- void addCompilationUnitSource(CompilationUnitElement unit, Set<LibraryElement> libraries,
- Set<CompilationUnitElement> units) {
+ void addCompilationUnitSource(CompilationUnitElement unit,
+ Set<LibraryElement> libraries, Set<CompilationUnitElement> units) {
if (unit == null || units.contains(unit)) {
return;
}
@@ -285,7 +297,7 @@ class AnalyzerImpl {
void addLibrarySources(LibraryElement library, Set<LibraryElement> libraries,
Set<CompilationUnitElement> units) {
- if (library == null || !libraries.add(library) ) {
+ if (library == null || !libraries.add(library)) {
return;
}
// may be skip library
« no previous file with comments | « pkg/analyzer/lib/source/package_map_provider.dart ('k') | pkg/analyzer/test/source/package_map_provider_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698