| Index: pkg/dev_compiler/lib/src/analyzer/context.dart
|
| diff --git a/pkg/dev_compiler/lib/src/analyzer/context.dart b/pkg/dev_compiler/lib/src/analyzer/context.dart
|
| index bdf5d1646cd9562fa760c9a96adffbebba41318d..188f9787624ef985c855d269d392cc837e6adad8 100644
|
| --- a/pkg/dev_compiler/lib/src/analyzer/context.dart
|
| +++ b/pkg/dev_compiler/lib/src/analyzer/context.dart
|
| @@ -11,15 +11,11 @@ import 'package:analyzer/file_system/physical_file_system.dart'
|
| import 'package:analyzer/source/custom_resolver.dart';
|
| import 'package:analyzer/source/package_map_resolver.dart';
|
| import 'package:analyzer/src/context/builder.dart';
|
| -import 'package:analyzer/src/context/context.dart' show AnalysisContextImpl;
|
| -import 'package:analyzer/src/dart/sdk/sdk.dart' show FolderBasedDartSdk;
|
| -import 'package:analyzer/src/generated/engine.dart'
|
| - show AnalysisEngine, AnalysisOptionsImpl;
|
| +import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl;
|
| import 'package:analyzer/src/generated/source.dart'
|
| show DartUriResolver, SourceFactory, UriResolver;
|
| import 'package:analyzer/src/summary/package_bundle_reader.dart'
|
| show InSummaryUriResolver, SummaryDataStore;
|
| -import 'package:analyzer/src/summary/summary_sdk.dart' show SummaryBasedDartSdk;
|
| import 'package:cli_util/cli_util.dart' show getSdkDir;
|
| import 'package:path/path.dart' as path;
|
|
|
| @@ -36,8 +32,7 @@ class AnalyzerOptions {
|
| /// List of summary file paths.
|
| final List<String> summaryPaths;
|
|
|
| - /// Path to the dart-sdk. Null if `useMockSdk` is true or if the path couldn't
|
| - /// be determined
|
| + /// Path to the dart-sdk, or `null` if the path couldn't be determined.
|
| final String dartSdkPath;
|
|
|
| /// Path to the dart-sdk summary. If this is set, it will be used in favor
|
| @@ -50,10 +45,11 @@ class AnalyzerOptions {
|
|
|
| AnalyzerOptions._(
|
| {this.contextBuilderOptions,
|
| - this.summaryPaths: const [],
|
| + List<String> summaryPaths,
|
| String dartSdkPath,
|
| this.customUrlMappings: const {}})
|
| - : dartSdkPath = dartSdkPath ?? getSdkDir().path {
|
| + : dartSdkPath = dartSdkPath ?? getSdkDir().path,
|
| + summaryPaths = summaryPaths ?? const [] {
|
| contextBuilderOptions.declaredVariables ??= const {};
|
| }
|
|
|
| @@ -61,8 +57,9 @@ class AnalyzerOptions {
|
| {String dartSdkPath,
|
| String dartSdkSummaryPath,
|
| List<String> summaryPaths}) {
|
| - var contextBuilderOptions = new ContextBuilderOptions();
|
| - contextBuilderOptions.dartSdkSummaryPath = dartSdkSummaryPath;
|
| + var contextBuilderOptions = new ContextBuilderOptions()
|
| + ..defaultOptions = (new AnalysisOptionsImpl()..strongMode = true)
|
| + ..dartSdkSummaryPath = dartSdkSummaryPath;
|
|
|
| return new AnalyzerOptions._(
|
| contextBuilderOptions: contextBuilderOptions,
|
| @@ -72,21 +69,22 @@ class AnalyzerOptions {
|
|
|
| factory AnalyzerOptions.fromArguments(ArgResults args,
|
| {String dartSdkSummaryPath, List<String> summaryPaths}) {
|
| - var contextBuilderOptions = createContextBuilderOptions(args);
|
| -
|
| - if (dartSdkSummaryPath != null)
|
| - contextBuilderOptions.dartSdkSummaryPath = dartSdkSummaryPath;
|
| - contextBuilderOptions.dartSdkSummaryPath ??=
|
| - path.join(args['dart-sdk'], 'lib', '_internal', 'ddc_sdk.sum');
|
| - if (contextBuilderOptions.dartSdkSummaryPath == 'build') {
|
| - // For building the SDK, we explicitly set the path to none.
|
| - contextBuilderOptions.dartSdkSummaryPath = null;
|
| - }
|
| + var contextBuilderOptions = createContextBuilderOptions(args,
|
| + strongMode: true, trackCacheDependencies: false);
|
| +
|
| + var dartSdkPath = args['dart-sdk'] ?? getSdkDir().path;
|
| +
|
| + dartSdkSummaryPath ??= contextBuilderOptions.dartSdkSummaryPath;
|
| + dartSdkSummaryPath ??=
|
| + path.join(dartSdkPath, 'lib', '_internal', 'ddc_sdk.sum');
|
| + // For building the SDK, we explicitly set the path to none.
|
| + if (dartSdkSummaryPath == 'build') dartSdkSummaryPath = null;
|
| + contextBuilderOptions.dartSdkSummaryPath = dartSdkSummaryPath;
|
|
|
| return new AnalyzerOptions._(
|
| contextBuilderOptions: contextBuilderOptions,
|
| summaryPaths: summaryPaths ?? args['summary'] as List<String>,
|
| - dartSdkPath: args['dart-sdk'],
|
| + dartSdkPath: dartSdkPath,
|
| customUrlMappings: _parseUrlMappings(args['url-mapping']));
|
| }
|
|
|
| @@ -113,20 +111,8 @@ class AnalyzerOptions {
|
| }
|
| }
|
|
|
| -/// Creates an analysis context that contains our restricted typing rules.
|
| -AnalysisContextImpl createAnalysisContext() {
|
| - var res = AnalysisEngine.instance.createAnalysisContext();
|
| - res.analysisOptions = new AnalysisOptionsImpl()
|
| - ..strongMode = true
|
| - ..trackCacheDependencies = false;
|
| - return res;
|
| -}
|
| -
|
| /// Creates a SourceFactory configured by the [options].
|
| ///
|
| -/// Use [options.useMockSdk] to specify the SDK mode, or use [sdkResolver]
|
| -/// to entirely override the DartUriResolver.
|
| -///
|
| /// If supplied, [fileResolvers] will override the default `file:` and
|
| /// `package:` URI resolvers.
|
| SourceFactory createSourceFactory(AnalyzerOptions options,
|
| @@ -168,20 +154,3 @@ List<UriResolver> createFileResolvers(AnalyzerOptions options,
|
|
|
| return [new ResourceUriResolver(resourceProvider), packageResolver()];
|
| }
|
| -
|
| -FolderBasedDartSdk _createFolderBasedDartSdk(String sdkPath) {
|
| - var resourceProvider = PhysicalResourceProvider.INSTANCE;
|
| - var sdk = new FolderBasedDartSdk(resourceProvider,
|
| - resourceProvider.getFolder(sdkPath), /*useDart2jsPaths:*/ true);
|
| - sdk.useSummary = true;
|
| - sdk.analysisOptions = new AnalysisOptionsImpl()..strongMode = true;
|
| - return sdk;
|
| -}
|
| -
|
| -/// Creates a [DartUriResolver] that uses the SDK at the given [sdkPath].
|
| -DartUriResolver createSdkPathResolver(String sdkSummaryPath, String sdkPath) {
|
| - var sdk = (sdkSummaryPath != null)
|
| - ? new SummaryBasedDartSdk(sdkSummaryPath, true)
|
| - : _createFolderBasedDartSdk(sdkPath);
|
| - return new DartUriResolver(sdk);
|
| -}
|
|
|