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

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

Issue 2075663002: Remove hook for setting a provider for an EmbedderUriResolver (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 6 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.driver; 5 library analyzer_cli.src.driver;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:convert'; 8 import 'dart:convert';
9 import 'dart:io'; 9 import 'dart:io';
10 10
11 import 'package:analyzer/file_system/file_system.dart' as file_system; 11 import 'package:analyzer/file_system/file_system.dart' as file_system;
12 import 'package:analyzer/file_system/physical_file_system.dart'; 12 import 'package:analyzer/file_system/physical_file_system.dart';
13 import 'package:analyzer/plugin/embedded_resolver_provider.dart';
14 import 'package:analyzer/plugin/options.dart'; 13 import 'package:analyzer/plugin/options.dart';
15 import 'package:analyzer/plugin/resolver_provider.dart'; 14 import 'package:analyzer/plugin/resolver_provider.dart';
16 import 'package:analyzer/source/analysis_options_provider.dart'; 15 import 'package:analyzer/source/analysis_options_provider.dart';
17 import 'package:analyzer/source/embedder.dart'; 16 import 'package:analyzer/source/embedder.dart';
18 import 'package:analyzer/source/package_map_provider.dart'; 17 import 'package:analyzer/source/package_map_provider.dart';
19 import 'package:analyzer/source/package_map_resolver.dart'; 18 import 'package:analyzer/source/package_map_resolver.dart';
20 import 'package:analyzer/source/pub_package_map_provider.dart'; 19 import 'package:analyzer/source/pub_package_map_provider.dart';
21 import 'package:analyzer/source/sdk_ext.dart'; 20 import 'package:analyzer/source/sdk_ext.dart';
22 import 'package:analyzer/src/generated/constant.dart'; 21 import 'package:analyzer/src/generated/constant.dart';
23 import 'package:analyzer/src/generated/engine.dart'; 22 import 'package:analyzer/src/generated/engine.dart';
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 /// The total number of source files loaded by an AnalysisContext. 82 /// The total number of source files loaded by an AnalysisContext.
84 int _analyzedFileCount = 0; 83 int _analyzedFileCount = 0;
85 84
86 /// If [_context] is not `null`, the [CommandLineOptions] that guided its 85 /// If [_context] is not `null`, the [CommandLineOptions] that guided its
87 /// creation. 86 /// creation.
88 CommandLineOptions _previousOptions; 87 CommandLineOptions _previousOptions;
89 88
90 IncrementalAnalysisSession incrementalSession; 89 IncrementalAnalysisSession incrementalSession;
91 90
92 @override 91 @override
93 EmbeddedResolverProvider embeddedUriResolverProvider;
94
95 @override
96 ResolverProvider packageResolverProvider; 92 ResolverProvider packageResolverProvider;
97 93
98 /// SDK instance. 94 /// SDK instance.
99 DartSdk sdk; 95 DartSdk sdk;
100 96
101 /// Collected analysis statistics. 97 /// Collected analysis statistics.
102 final AnalysisStats stats = new AnalysisStats(); 98 final AnalysisStats stats = new AnalysisStats();
103 99
104 /// This Driver's current analysis context. 100 /// This Driver's current analysis context.
105 /// 101 ///
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 /// [options] and [customUrlMappings] settings, and return a 335 /// [options] and [customUrlMappings] settings, and return a
340 /// [SourceFactory] that has been configured accordingly. 336 /// [SourceFactory] that has been configured accordingly.
341 SourceFactory _chooseUriResolutionPolicy(CommandLineOptions options, 337 SourceFactory _chooseUriResolutionPolicy(CommandLineOptions options,
342 Map<file_system.Folder, YamlMap> embedderMap, _PackageInfo packageInfo) { 338 Map<file_system.Folder, YamlMap> embedderMap, _PackageInfo packageInfo) {
343 // Create a custom package resolver if one has been specified. 339 // Create a custom package resolver if one has been specified.
344 if (packageResolverProvider != null) { 340 if (packageResolverProvider != null) {
345 file_system.Folder folder = 341 file_system.Folder folder =
346 PhysicalResourceProvider.INSTANCE.getResource('.'); 342 PhysicalResourceProvider.INSTANCE.getResource('.');
347 UriResolver resolver = packageResolverProvider(folder); 343 UriResolver resolver = packageResolverProvider(folder);
348 if (resolver != null) { 344 if (resolver != null) {
349 UriResolver sdkResolver; 345 UriResolver sdkResolver = new DartUriResolver(sdk);
350
351 // Check for a resolver provider.
352 if (embeddedUriResolverProvider != null) {
353 EmbedderUriResolver embedderUriResolver =
354 embeddedUriResolverProvider(folder);
355 if (embedderUriResolver != null && embedderUriResolver.length != 0) {
356 sdkResolver = embedderUriResolver;
357 }
358 }
359
360 // Default to a Dart URI resolver if no embedder is found.
361 sdkResolver ??= new DartUriResolver(sdk);
362 346
363 // TODO(brianwilkerson) This doesn't handle sdk extensions. 347 // TODO(brianwilkerson) This doesn't handle sdk extensions.
364 List<UriResolver> resolvers = <UriResolver>[ 348 List<UriResolver> resolvers = <UriResolver>[
365 sdkResolver, 349 sdkResolver,
366 resolver, 350 resolver,
367 new FileUriResolver() 351 new FileUriResolver()
368 ]; 352 ];
369 return new SourceFactory(resolvers); 353 return new SourceFactory(resolvers);
370 } 354 }
371 } 355 }
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 plugins.add(linterPlugin); 604 plugins.add(linterPlugin);
621 plugins.addAll(_userDefinedPlugins); 605 plugins.addAll(_userDefinedPlugins);
622 606
623 ExtensionManager manager = new ExtensionManager(); 607 ExtensionManager manager = new ExtensionManager();
624 manager.processPlugins(plugins); 608 manager.processPlugins(plugins);
625 } 609 }
626 610
627 /// Analyze a single source. 611 /// Analyze a single source.
628 ErrorSeverity _runAnalyzer(Source source, CommandLineOptions options) { 612 ErrorSeverity _runAnalyzer(Source source, CommandLineOptions options) {
629 int startTime = currentTimeMillis(); 613 int startTime = currentTimeMillis();
630 AnalyzerImpl analyzer = 614 AnalyzerImpl analyzer = new AnalyzerImpl(
631 new AnalyzerImpl(_context, incrementalSession, source, options, stats, s tartTime); 615 _context, incrementalSession, source, options, stats, startTime);
632 var errorSeverity = analyzer.analyzeSync(); 616 var errorSeverity = analyzer.analyzeSync();
633 if (errorSeverity == ErrorSeverity.ERROR) { 617 if (errorSeverity == ErrorSeverity.ERROR) {
634 exitCode = errorSeverity.ordinal; 618 exitCode = errorSeverity.ordinal;
635 } 619 }
636 if (options.warningsAreFatal && errorSeverity == ErrorSeverity.WARNING) { 620 if (options.warningsAreFatal && errorSeverity == ErrorSeverity.WARNING) {
637 exitCode = errorSeverity.ordinal; 621 exitCode = errorSeverity.ordinal;
638 } 622 }
639 return errorSeverity; 623 return errorSeverity;
640 } 624 }
641 625
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 for (var package in packages) { 840 for (var package in packages) {
857 var packageName = path.basename(package.path); 841 var packageName = path.basename(package.path);
858 var realPath = package.resolveSymbolicLinksSync(); 842 var realPath = package.resolveSymbolicLinksSync();
859 result[packageName] = [ 843 result[packageName] = [
860 PhysicalResourceProvider.INSTANCE.getFolder(realPath) 844 PhysicalResourceProvider.INSTANCE.getFolder(realPath)
861 ]; 845 ];
862 } 846 }
863 return result; 847 return result;
864 } 848 }
865 } 849 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/plugin/embedded_resolver_provider.dart ('k') | pkg/analyzer_cli/lib/starter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698