diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart index 9b61e3164d0..a10f7eb4670 100644 --- a/pkg/analysis_server/lib/src/context_manager.dart +++ b/pkg/analysis_server/lib/src/context_manager.dart @@ -1035,7 +1035,7 @@ class ContextManagerImpl implements ContextManager { /// given [folder]. SourceFactory _createSourceFactory(AnalysisOptions options, Folder folder) { var builder = callbacks.createContextBuilder(folder, options); - return builder.createSourceFactory(folder.path, options); + return builder.createSourceFactory(folder.path); } /// Clean up and destroy the context associated with the given folder. @@ -1398,7 +1398,7 @@ class ContextManagerImpl implements ContextManager { callbacks.createContextBuilder(info.folder, defaultContextOptions); var options = builder.getAnalysisOptions(contextRoot, contextRoot: driver.contextRoot); - var factory = builder.createSourceFactory(contextRoot, options); + var factory = builder.createSourceFactory(contextRoot); driver.configure(analysisOptions: options, sourceFactory: factory); callbacks.analysisOptionsUpdated(driver); } diff --git a/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart b/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart index 8f2757bcdc7..50a3925bc7a 100644 --- a/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart +++ b/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart @@ -38,7 +38,6 @@ Uint8List buildSdkSummary({ resourceProvider, resourceProvider.getFolder(sdkPath), ); - sdk.analysisOptions = AnalysisOptionsImpl(); // Append libraries from the embedder. if (embedderYamlPath != null) { diff --git a/pkg/analyzer/lib/src/context/builder.dart b/pkg/analyzer/lib/src/context/builder.dart index 839db042687..7a43df74210 100644 --- a/pkg/analyzer/lib/src/context/builder.dart +++ b/pkg/analyzer/lib/src/context/builder.dart @@ -114,7 +114,7 @@ class ContextBuilder { if (builderOptions.librarySummaryPaths != null) { summaryData = SummaryDataStore(builderOptions.librarySummaryPaths); } - final sf = createSourceFactory(path, options, summaryData: summaryData); + final sf = createSourceFactory(path, summaryData: summaryData); AnalysisDriver driver = AnalysisDriver( analysisDriverScheduler, @@ -198,11 +198,11 @@ class ContextBuilder { } } - SourceFactory createSourceFactory(String rootPath, AnalysisOptions options, + SourceFactory createSourceFactory(String rootPath, {SummaryDataStore summaryData}) { Workspace workspace = ContextBuilder.createWorkspace(resourceProvider, rootPath, this); - DartSdk sdk = findSdk(workspace, options); + DartSdk sdk = findSdk(workspace); if (summaryData != null && sdk is SummaryBasedDartSdk) { summaryData.addBundle(null, sdk.bundle); } @@ -220,10 +220,8 @@ class ContextBuilder { } /// Return the SDK that should be used to analyze code. Use the given - /// [workspace] and [analysisOptions] to locate the SDK. - /// - /// TODO(scheglov) Remove [analysisOptions]? - DartSdk findSdk(Workspace workspace, AnalysisOptions analysisOptions) { + /// [workspace] to locate the SDK. + DartSdk findSdk(Workspace workspace) { String summaryPath = builderOptions.dartSdkSummaryPath; if (summaryPath != null) { return SummaryBasedDartSdk(summaryPath, true, @@ -235,12 +233,10 @@ class ContextBuilder { String sdkPath = sdkManager.defaultSdkDirectory; SdkDescription description = SdkDescription(sdkPath); folderSdk = sdkManager.getSdk(description, () { - var sdk = FolderBasedDartSdk( + return FolderBasedDartSdk( resourceProvider, resourceProvider.getFolder(sdkPath), ); - sdk.analysisOptions = analysisOptions; - return sdk; }); } diff --git a/pkg/analyzer/lib/src/dart/sdk/sdk.dart b/pkg/analyzer/lib/src/dart/sdk/sdk.dart index a5db15b15f7..2ef05f98005 100644 --- a/pkg/analyzer/lib/src/dart/sdk/sdk.dart +++ b/pkg/analyzer/lib/src/dart/sdk/sdk.dart @@ -35,33 +35,18 @@ abstract class AbstractDartSdk implements DartSdk { /// A mapping from Dart library URI's to the library represented by that URI. LibraryMap libraryMap = LibraryMap(); - /// The [AnalysisOptions] to use to create the [context]. - AnalysisOptions _analysisOptions; - /// The [AnalysisContext] which is used for all of the sources in this SDK. SdkAnalysisContext _analysisContext; /// The mapping from Dart URI's to the corresponding sources. final Map _uriToSourceMap = HashMap(); - /// Return the analysis options for this SDK analysis context. - AnalysisOptions get analysisOptions => _analysisOptions; - - /// Set the [options] for this SDK analysis context. Throw [StateError] if - /// the context has been already created. - set analysisOptions(AnalysisOptions options) { - if (_analysisContext != null) { - throw StateError( - 'Analysis options cannot be changed after context creation.'); - } - _analysisOptions = options; - } - @override AnalysisContext get context { if (_analysisContext == null) { var factory = SourceFactory([DartUriResolver(this)]); - _analysisContext = SdkAnalysisContext(_analysisOptions, factory); + var analysisOptions = AnalysisOptionsImpl(); + _analysisContext = SdkAnalysisContext(analysisOptions, factory); } return _analysisContext; } diff --git a/pkg/analyzer/test/src/context/builder_test.dart b/pkg/analyzer/test/src/context/builder_test.dart index 0884c88e513..787224277a1 100644 --- a/pkg/analyzer/test/src/context/builder_test.dart +++ b/pkg/analyzer/test/src/context/builder_test.dart @@ -309,9 +309,7 @@ bar:${toUriStr('/pkg/bar')} newFolder('/workspace/bazel-genfiles'); newFolder(projectPath); - AnalysisOptionsImpl options = AnalysisOptionsImpl(); - SourceFactoryImpl factory = - builder.createSourceFactory(projectPath, options); + SourceFactoryImpl factory = builder.createSourceFactory(projectPath); expect(factory.resolvers, contains(predicate((r) => r is BazelFileUriResolver))); expect(factory.resolvers, @@ -326,9 +324,7 @@ bar:${toUriStr('/pkg/bar')} newFolder(projectPath); newFile(join(projectPath, '.packages')); - AnalysisOptionsImpl options = AnalysisOptionsImpl(); - SourceFactoryImpl factory = - builder.createSourceFactory(projectPath, options); + SourceFactoryImpl factory = builder.createSourceFactory(projectPath); expect(factory.resolvers, contains(predicate((r) => r is ResourceUriResolver))); expect(factory.resolvers, @@ -356,9 +352,8 @@ embedded_libs: sky_engine:${resourceProvider.pathContext.toUri(skyEnginePath)} b:${resourceProvider.pathContext.toUri(packageB)} '''); - AnalysisOptionsImpl options = AnalysisOptionsImpl(); - SourceFactory factory = builder.createSourceFactory(projectPath, options); + SourceFactory factory = builder.createSourceFactory(projectPath); Source dartSource = factory.forUri('dart:async'); expect(dartSource, isNotNull); @@ -385,9 +380,8 @@ b:${resourceProvider.pathContext.toUri(packageB)} a:${resourceProvider.pathContext.toUri(packageA)} b:${resourceProvider.pathContext.toUri(packageB)} '''); - AnalysisOptionsImpl options = AnalysisOptionsImpl(); - SourceFactory factory = builder.createSourceFactory(projectPath, options); + SourceFactory factory = builder.createSourceFactory(projectPath); Source dartSource = factory.forUri('dart:core'); expect(dartSource, isNotNull); @@ -486,12 +480,12 @@ b:${resourceProvider.pathContext.toUri(packageB)} } void test_findSdk_noPackageMap() { - DartSdk sdk = builder.findSdk(null, AnalysisOptionsImpl()); + DartSdk sdk = builder.findSdk(null); expect(sdk, isNotNull); } void test_findSdk_noPackageMap_html_strong() { - DartSdk sdk = builder.findSdk(null, AnalysisOptionsImpl()); + DartSdk sdk = builder.findSdk(null); expect(sdk, isNotNull); Source htmlSource = sdk.mapDartUri('dart:html'); expect(htmlSource.fullName, diff --git a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart index 4e856562951..3be8fa83c5e 100644 --- a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart +++ b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart @@ -127,7 +127,7 @@ abstract class ContextResolutionTest with ResourceProviderMixin, ResolutionTest { static bool _lintRulesAreRegistered = false; - final ByteStore _byteStore = MemoryByteStore(); + static final ByteStore _byteStore = MemoryByteStore(); Map _declaredVariables = {}; AnalysisContextCollection _analysisContextCollection; diff --git a/pkg/analyzer/test/src/dart/sdk/sdk_test.dart b/pkg/analyzer/test/src/dart/sdk/sdk_test.dart index 01403adfdf8..db9c3b45cf7 100644 --- a/pkg/analyzer/test/src/dart/sdk/sdk_test.dart +++ b/pkg/analyzer/test/src/dart/sdk/sdk_test.dart @@ -5,7 +5,6 @@ import 'package:analyzer/file_system/file_system.dart'; import 'package:analyzer/src/context/builder.dart' show EmbedderYamlLocator; import 'package:analyzer/src/dart/sdk/sdk.dart'; -import 'package:analyzer/src/generated/engine.dart'; import 'package:analyzer/src/generated/java_engine_io.dart'; import 'package:analyzer/src/generated/sdk.dart'; import 'package:analyzer/src/generated/source.dart'; @@ -135,24 +134,6 @@ class FolderBasedDartSdkTest with ResourceProviderMixin { }))); } - void test_analysisOptions_afterContextCreation() { - FolderBasedDartSdk sdk = _createDartSdk(); - sdk.context; - expect(() { - sdk.analysisOptions = AnalysisOptionsImpl(); - }, throwsStateError); - } - - void test_analysisOptions_beforeContextCreation() { - FolderBasedDartSdk sdk = _createDartSdk(); - sdk.analysisOptions = AnalysisOptionsImpl(); - sdk.context; - // cannot change "analysisOptions" in the context - expect(() { - sdk.context.analysisOptions = AnalysisOptionsImpl(); - }, throwsStateError); - } - void test_creation() { FolderBasedDartSdk sdk = _createDartSdk(); expect(sdk, isNotNull); diff --git a/pkg/analyzer_cli/lib/src/driver.dart b/pkg/analyzer_cli/lib/src/driver.dart index 832785aa339..9a48b1a56de 100644 --- a/pkg/analyzer_cli/lib/src/driver.dart +++ b/pkg/analyzer_cli/lib/src/driver.dart @@ -439,7 +439,6 @@ class Driver with HasContextMixin implements CommandLineStarter { } else { // The embedder uri resolver has mappings, use it instead of the default // Dart SDK uri resolver. - embedderSdk.analysisOptions = analysisOptions; resolvers.add(DartUriResolver(embedderSdk)); } } @@ -648,10 +647,10 @@ class Driver with HasContextMixin implements CommandLineStarter { sdk = SummaryBasedDartSdk(options.dartSdkSummaryPath, true); } else { var dartSdkPath = options.dartSdkPath; - var dartSdk = FolderBasedDartSdk( - resourceProvider, resourceProvider.getFolder(dartSdkPath)); - dartSdk.analysisOptions = analysisOptions; - sdk = dartSdk; + sdk = FolderBasedDartSdk( + resourceProvider, + resourceProvider.getFolder(dartSdkPath), + ); } } }