Version 2.10.0-121.0.dev
Merge commit 'ba78db411ae159698c642a460f9e6966f5efcb3c' into 'dev'
diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart
index 9b61e31..a10f7eb 100644
--- a/pkg/analysis_server/lib/src/context_manager.dart
+++ b/pkg/analysis_server/lib/src/context_manager.dart
@@ -1035,7 +1035,7 @@
/// 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 @@
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/analysis_server/lib/src/services/correction/dart/data_driven.dart b/pkg/analysis_server/lib/src/services/correction/dart/data_driven.dart
index b9bfecb..bcf7198 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/data_driven.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/data_driven.dart
@@ -4,6 +4,7 @@
import 'package:analysis_server/src/services/correction/dart/abstract_producer.dart';
import 'package:analysis_server/src/services/correction/fix.dart';
+import 'package:analysis_server/src/services/correction/fix/data_driven/element_descriptor.dart';
import 'package:analysis_server/src/services/correction/fix/data_driven/transform.dart';
import 'package:analysis_server/src/services/correction/fix/data_driven/transform_set.dart';
import 'package:analysis_server/src/services/correction/fix/data_driven/transform_set_manager.dart';
@@ -83,6 +84,9 @@
DataDrivenFix(this._transform);
+ /// Return a description of the element that was changed.
+ ElementDescriptor get element => _transform.element;
+
@override
List<Object> get fixArguments => [_transform.title];
diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_descriptor.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_descriptor.dart
index b8f0b84..c34212d 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_descriptor.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_descriptor.dart
@@ -9,18 +9,30 @@
/// The URIs of the library in which the element is defined.
final List<String> libraryUris;
+ /// The kind of element that was changed.
+ final String kind;
+
/// The components that uniquely identify the element within its library.
final List<String> components;
/// Initialize a newly created element descriptor to describe an element
/// accessible via any of the [libraryUris] where the path to the element
- /// within the library is given by the list of [components].
- ElementDescriptor({@required this.libraryUris, @required this.components});
+ /// within the library is given by the list of [components]. The [kind] of the
+ /// element is represented by the key used in the data file.
+ ElementDescriptor(
+ {@required this.libraryUris,
+ @required this.kind,
+ @required this.components});
/// Return `true` if this descriptor matches an element with the given [name]
/// in a library that imports the [importedUris].
bool matches(String name, List<String> importedUris) {
- if (components.last != name) {
+ var lastComponent = components.last;
+ if (lastComponent.isEmpty) {
+ if (components[components.length - 2] != name) {
+ return false;
+ }
+ } else if (lastComponent != name) {
return false;
}
for (var importedUri in importedUris) {
diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/rename.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/rename.dart
index 46135f0..326122e 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/rename.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/rename.dart
@@ -21,7 +21,45 @@
@override
void apply(DartFileEditBuilder builder, DataDrivenFix fix,
SimpleIdentifier nameNode) {
- builder.addSimpleReplacement(range.node(nameNode), newName);
+ if (fix.element.kind == 'constructor') {
+ var parent = nameNode.parent;
+ if (parent is ConstructorName) {
+ if (nameNode != null && newName.isEmpty) {
+ // The constructor was renamed from a named constructor to an unnamed
+ // constructor.
+ builder.addDeletion(range.startEnd(parent.period, parent));
+ } else if (nameNode == null && newName.isNotEmpty) {
+ // The constructor was renamed from an unnamed constructor to a named
+ // constructor.
+ builder.addSimpleInsertion(parent.end, '.$newName');
+ } else {
+ // The constructor was renamed from a named constructor to another
+ // named constructor.
+ builder.addSimpleReplacement(range.node(nameNode), newName);
+ }
+ } else if (parent is MethodInvocation) {
+ if (newName.isEmpty) {
+ // The constructor was renamed from a named constructor to an unnamed
+ // constructor.
+ builder.addDeletion(range.startEnd(parent.operator, nameNode));
+ } else {
+ // The constructor was renamed from a named constructor to another
+ // named constructor.
+ builder.addSimpleReplacement(range.node(nameNode), newName);
+ }
+ } else if (parent is TypeName && parent.parent is ConstructorName) {
+ // The constructor was renamed from an unnamed constructor to a named
+ // constructor.
+ builder.addSimpleInsertion(parent.end, '.$newName');
+ } else {
+ // The constructor was renamed from a named constructor to another named
+ // constructor.
+ builder.addSimpleReplacement(range.node(nameNode), newName);
+ }
+ } else {
+ // The name is a simple identifier.
+ builder.addSimpleReplacement(range.node(nameNode), newName);
+ }
}
@override
diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_parser.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_parser.dart
index 5d3d086..e07d6b4 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_parser.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/transform_set_parser.dart
@@ -373,7 +373,8 @@
} else {
components.insert(0, containerName);
}
- return ElementDescriptor(libraryUris: uris, components: components);
+ return ElementDescriptor(
+ libraryUris: uris, kind: elementKey, components: components);
} else if (node == null) {
// TODO(brianwilkerson) Report the missing YAML.
return null;
diff --git a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
index 7160cf4..adfaa6e 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
@@ -528,6 +528,9 @@
CompileTimeErrorCode.NEW_WITH_NON_TYPE: [
ImportLibrary.forType,
],
+ CompileTimeErrorCode.NEW_WITH_UNDEFINED_CONSTRUCTOR_DEFAULT: [
+ DataDriven.newInstance,
+ ],
CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_EXPLICIT: [
AddSuperConstructorInvocation.newInstance,
],
diff --git a/pkg/analysis_server/lib/src/status/diagnostics.dart b/pkg/analysis_server/lib/src/status/diagnostics.dart
index dcbc8f0..540843b 100644
--- a/pkg/analysis_server/lib/src/status/diagnostics.dart
+++ b/pkg/analysis_server/lib/src/status/diagnostics.dart
@@ -500,16 +500,6 @@
buf.writeln('</div>');
- buf.writeln('<div class="column one-half">');
- var sdk = driver?.sourceFactory?.dartSdk;
- AnalysisOptionsImpl sdkOptions = sdk?.context?.analysisOptions;
- if (sdkOptions != null) {
- h3('SDK analysis options');
- p(describe(sdkOptions), raw: true);
- }
-
- buf.writeln('</div>');
-
buf.writeln('</div>');
h3('Lints');
diff --git a/pkg/analysis_server/test/src/services/correction/fix/data_driven/add_type_parameter_test.dart b/pkg/analysis_server/test/src/services/correction/fix/data_driven/add_type_parameter_test.dart
index a296cb0..5a29c7a 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/data_driven/add_type_parameter_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/data_driven/add_type_parameter_test.dart
@@ -459,7 +459,10 @@
Transform(
title: 'title',
element: ElementDescriptor(
- libraryUris: [importUri], components: components ?? ['C', 'm']),
+ libraryUris: [importUri],
+ // The kind isn't important to these tests.
+ kind: '',
+ components: components ?? ['C', 'm']),
changes: [
AddTypeParameter(
extendedType: extendedType,
diff --git a/pkg/analysis_server/test/src/services/correction/fix/data_driven/modify_parameters_test.dart b/pkg/analysis_server/test/src/services/correction/fix/data_driven/modify_parameters_test.dart
index a3f26a4..4dd1eb4 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/data_driven/modify_parameters_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/data_driven/modify_parameters_test.dart
@@ -873,11 +873,15 @@
abstract class _ModifyParameters extends DataDrivenFixProcessorTest {
Transform _modify(List<String> originalComponents,
- List<ParameterModification> modifications, {String newName}) =>
+ List<ParameterModification> modifications,
+ {String newName}) =>
Transform(
title: 'title',
element: ElementDescriptor(
- libraryUris: [importUri], components: originalComponents),
+ libraryUris: [importUri],
+ // The kind isn't important to these tests.
+ kind: '',
+ components: originalComponents),
changes: [
ModifyParameters(modifications: modifications),
if (newName != null) Rename(newName: newName),
diff --git a/pkg/analysis_server/test/src/services/correction/fix/data_driven/rename_test.dart b/pkg/analysis_server/test/src/services/correction/fix/data_driven/rename_test.dart
index 74bda48..4aff96a 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/data_driven/rename_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/data_driven/rename_test.dart
@@ -24,6 +24,109 @@
@reflectiveTest
class RenameClassTest extends _AbstractRenameTest {
+ @override
+ String get _kind => 'class';
+
+ Future<void> test_constructor_named_deprecated() async {
+ setPackageContent('''
+@deprecated
+class Old {
+ Old.c();
+}
+class New {
+ New.c();
+}
+''');
+ setPackageData(_rename(['Old'], 'New'));
+ await resolveTestUnit('''
+import '$importUri';
+
+void f() {
+ Old.c();
+}
+''');
+ await assertHasFix('''
+import '$importUri';
+
+void f() {
+ New.c();
+}
+''');
+ }
+
+ Future<void> test_constructor_named_removed() async {
+ setPackageContent('''
+class New {
+ New.c();
+}
+''');
+ setPackageData(_rename(['Old'], 'New'));
+ await resolveTestUnit('''
+import '$importUri';
+
+void f() {
+ Old.c();
+}
+''');
+ await assertHasFix('''
+import '$importUri';
+
+void f() {
+ New.c();
+}
+''', errorFilter: ignoreUnusedImport);
+ }
+
+ Future<void> test_constructor_unnamed_deprecated() async {
+ setPackageContent('''
+@deprecated
+class Old {
+ Old();
+}
+class New {
+ New();
+}
+''');
+ setPackageData(_rename(['Old'], 'New'));
+ await resolveTestUnit('''
+import '$importUri';
+
+void f() {
+ Old();
+}
+''');
+ await assertHasFix('''
+import '$importUri';
+
+void f() {
+ New();
+}
+''');
+ }
+
+ Future<void> test_constructor_unnamed_removed() async {
+ setPackageContent('''
+class New {
+ New();
+}
+''');
+ setPackageData(_rename(['Old'], 'New'));
+ await resolveTestUnit('''
+import '$importUri';
+
+void f() {
+ Old();
+}
+''');
+ await assertHasFix('''
+import '$importUri';
+
+void f() {
+ New();
+}
+''', errorFilter: ignoreUnusedImport);
+ }
+
Future<void> test_inExtends_deprecated() async {
setPackageContent('''
@deprecated
@@ -249,7 +352,10 @@
@reflectiveTest
class RenameConstructorTest extends _AbstractRenameTest {
- Future<void> test_named_deprecated() async {
+ @override
+ String get _kind => 'constructor';
+
+ Future<void> test_named_named_deprecated() async {
setPackageContent('''
class C {
@deprecated
@@ -274,7 +380,7 @@
''');
}
- Future<void> test_named_removed() async {
+ Future<void> test_named_named_removed() async {
setPackageContent('''
class C {
C.new();
@@ -297,59 +403,108 @@
''');
}
- Future<void> test_unnamed_deprecated() async {
+ Future<void> test_named_unnamed_deprecated() async {
setPackageContent('''
-@deprecated
-class Old {
- Old();
-}
-class New {
- New();
+class C {
+ @deprecated
+ C.old();
+ C();
}
''');
- setPackageData(_rename(['Old'], 'New'));
+ setPackageData(_rename(['C', 'old'], ''));
await resolveTestUnit('''
import '$importUri';
void f() {
- Old();
+ C.old();
}
''');
await assertHasFix('''
import '$importUri';
void f() {
- New();
+ C();
}
''');
}
- Future<void> test_unnamed_removed() async {
+ Future<void> test_named_unnamed_removed() async {
setPackageContent('''
-class New {
- New();
+class C {
+ C();
}
''');
- setPackageData(_rename(['Old'], 'New'));
+ setPackageData(_rename(['C', 'old'], ''));
await resolveTestUnit('''
import '$importUri';
void f() {
- Old();
+ C.old();
}
''');
await assertHasFix('''
import '$importUri';
void f() {
- New();
+ C();
}
-''', errorFilter: ignoreUnusedImport);
+''');
+ }
+
+ Future<void> test_unnamed_named_deprecated() async {
+ setPackageContent('''
+class C {
+ @deprecated
+ C();
+ C.new();
+}
+''');
+ setPackageData(_rename(['C', ''], 'new'));
+ await resolveTestUnit('''
+import '$importUri';
+
+void f() {
+ C();
+}
+''');
+ await assertHasFix('''
+import '$importUri';
+
+void f() {
+ C.new();
+}
+''');
+ }
+
+ Future<void> test_unnamed_named_removed() async {
+ setPackageContent('''
+class C {
+ C.new();
+}
+''');
+ setPackageData(_rename(['C', ''], 'new'));
+ await resolveTestUnit('''
+import '$importUri';
+
+void f() {
+ C();
+}
+''');
+ await assertHasFix('''
+import '$importUri';
+
+void f() {
+ C.new();
+}
+''');
}
}
@reflectiveTest
class RenameExtensionTest extends _AbstractRenameTest {
+ @override
+ String get _kind => 'extension';
+
Future<void> test_override_deprecated() async {
setPackageContent('''
@deprecated
@@ -437,6 +592,9 @@
@reflectiveTest
class RenameFieldTest extends _AbstractRenameTest {
+ @override
+ String get _kind => 'field';
+
Future<void> test_instance_reference_deprecated() async {
setPackageContent('''
class C {
@@ -584,6 +742,9 @@
@reflectiveTest
class RenameMethodTest extends _AbstractRenameTest {
+ @override
+ String get _kind => 'method';
+
@failingTest
Future<void> test_instance_override_deprecated() async {
setPackageContent('''
@@ -736,6 +897,9 @@
@reflectiveTest
class RenameMixinTest extends _AbstractRenameTest {
+ @override
+ String get _kind => 'mixin';
+
Future<void> test_inWith_deprecated() async {
setPackageContent('''
@deprecated
@@ -775,6 +939,9 @@
@reflectiveTest
class RenameTopLevelFunctionTest extends _AbstractRenameTest {
+ @override
+ String get _kind => 'function';
+
Future<void> test_deprecated() async {
setPackageContent('''
@deprecated
@@ -822,6 +989,9 @@
@reflectiveTest
class RenameTypedefTest extends _AbstractRenameTest {
+ @override
+ String get _kind => 'typedef';
+
Future<void> test_deprecated() async {
setPackageContent('''
@deprecated
@@ -859,11 +1029,14 @@
}
}
-class _AbstractRenameTest extends DataDrivenFixProcessorTest {
+abstract class _AbstractRenameTest extends DataDrivenFixProcessorTest {
+ /// Return the kind of element being renamed.
+ String get _kind;
+
Transform _rename(List<String> components, String newName) => Transform(
title: 'title',
element: ElementDescriptor(
- libraryUris: [importUri], components: components),
+ libraryUris: [importUri], kind: _kind, components: components),
changes: [
Rename(newName: newName),
]);
diff --git a/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart b/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart
index 8f2757b..8705915 100644
--- a/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart
+++ b/pkg/analyzer/lib/dart/sdk/build_sdk_summary.dart
@@ -5,11 +5,13 @@
import 'dart:typed_data';
import 'package:_fe_analyzer_shared/src/sdk/allowed_experiments.dart';
+import 'package:analyzer/dart/analysis/declared_variables.dart';
import 'package:analyzer/dart/analysis/features.dart';
import 'package:analyzer/dart/analysis/utilities.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/file_system/file_system.dart';
+import 'package:analyzer/src/context/context.dart';
import 'package:analyzer/src/dart/analysis/experiments.dart';
import 'package:analyzer/src/dart/analysis/session.dart';
import 'package:analyzer/src/dart/ast/ast.dart';
@@ -38,7 +40,6 @@
resourceProvider,
resourceProvider.getFolder(sdkPath),
);
- sdk.analysisOptions = AnalysisOptionsImpl();
// Append libraries from the embedder.
if (embedderYamlPath != null) {
@@ -62,8 +63,13 @@
return sdk.mapDartUri(e.shortName);
}).toList();
+ var analysisContext = AnalysisContextImpl(
+ SynchronousSession(AnalysisOptionsImpl(), DeclaredVariables()),
+ SourceFactory([DartUriResolver(sdk)]),
+ );
+
return _Builder(
- sdk.context,
+ analysisContext,
sdk.allowedExperimentsJson,
sdk.languageVersion,
librarySources,
@@ -71,7 +77,7 @@
}
class _Builder {
- final AnalysisContext context;
+ final AnalysisContextImpl context;
final String allowedExperimentsJson;
final Iterable<Source> librarySources;
diff --git a/pkg/analyzer/lib/src/context/builder.dart b/pkg/analyzer/lib/src/context/builder.dart
index 839db04..7a43df7 100644
--- a/pkg/analyzer/lib/src/context/builder.dart
+++ b/pkg/analyzer/lib/src/context/builder.dart
@@ -114,7 +114,7 @@
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 @@
}
}
- 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 @@
}
/// 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 @@
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/context/context.dart b/pkg/analyzer/lib/src/context/context.dart
index 78b0a00..28cdb0c 100644
--- a/pkg/analyzer/lib/src/context/context.dart
+++ b/pkg/analyzer/lib/src/context/context.dart
@@ -70,12 +70,3 @@
);
}
}
-
-/// An [AnalysisContext] that only contains sources for a Dart SDK.
-class SdkAnalysisContext extends AnalysisContextImpl {
- /// Initialize a newly created SDK analysis context with the given [options].
- /// Analysis options cannot be changed afterwards. If the given [options] are
- /// `null`, then default options are used.
- SdkAnalysisContext(AnalysisOptions options, SourceFactory sourceFactory)
- : super(SynchronousSession(options, DeclaredVariables()), sourceFactory);
-}
diff --git a/pkg/analyzer/lib/src/dart/sdk/sdk.dart b/pkg/analyzer/lib/src/dart/sdk/sdk.dart
index a5db15b..5c3e5c9 100644
--- a/pkg/analyzer/lib/src/dart/sdk/sdk.dart
+++ b/pkg/analyzer/lib/src/dart/sdk/sdk.dart
@@ -10,7 +10,6 @@
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
-import 'package:analyzer/src/context/context.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine_io.dart';
import 'package:analyzer/src/generated/sdk.dart';
@@ -35,37 +34,9 @@
/// 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<String, Source> _uriToSourceMap = HashMap<String, Source>();
- /// 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);
- }
- return _analysisContext;
- }
-
@override
List<SdkLibrary> get sdkLibraries => libraryMap.sdkLibraries;
diff --git a/pkg/analyzer/lib/src/generated/sdk.dart b/pkg/analyzer/lib/src/generated/sdk.dart
index 1f141f7..2ac5298 100644
--- a/pkg/analyzer/lib/src/generated/sdk.dart
+++ b/pkg/analyzer/lib/src/generated/sdk.dart
@@ -6,7 +6,6 @@
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/visitor.dart';
-import 'package:analyzer/src/generated/engine.dart' show AnalysisContext;
import 'package:analyzer/src/generated/source.dart' show Source;
import 'package:pub_semver/pub_semver.dart';
@@ -32,9 +31,6 @@
/// if the file cannot be read, e.g. does not exist.
String get allowedExperimentsJson;
- /// Return the analysis context used for all of the sources in this [DartSdk].
- AnalysisContext get context;
-
/// Return the language version of this SDK, or throws an exception.
///
/// The language version has only major/minor components, the patch number
diff --git a/pkg/analyzer/lib/src/summary/summary_sdk.dart b/pkg/analyzer/lib/src/summary/summary_sdk.dart
index 80cd239..809db0f 100644
--- a/pkg/analyzer/lib/src/summary/summary_sdk.dart
+++ b/pkg/analyzer/lib/src/summary/summary_sdk.dart
@@ -3,11 +3,8 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/file_system/file_system.dart' show ResourceProvider;
-import 'package:analyzer/src/context/context.dart';
-import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/sdk.dart';
-import 'package:analyzer/src/generated/source.dart'
- show DartUriResolver, Source, SourceFactory;
+import 'package:analyzer/src/generated/source.dart' show Source;
import 'package:analyzer/src/summary/idl.dart';
import 'package:analyzer/src/summary/package_bundle_reader.dart';
import 'package:pub_semver/pub_semver.dart';
@@ -22,9 +19,6 @@
PackageBundle _bundle;
ResourceProvider resourceProvider;
- /// The [AnalysisContext] which is used for all of the sources in this sdk.
- SdkAnalysisContext _analysisContext;
-
SummaryBasedDartSdk(String summaryPath, bool _, {this.resourceProvider}) {
_dataStore = SummaryDataStore(<String>[summaryPath],
resourceProvider: resourceProvider);
@@ -49,16 +43,6 @@
PackageBundle get bundle => _bundle;
@override
- AnalysisContext get context {
- if (_analysisContext == null) {
- var analysisOptions = AnalysisOptionsImpl();
- var factory = SourceFactory([DartUriResolver(this)]);
- _analysisContext = SdkAnalysisContext(analysisOptions, factory);
- }
- return _analysisContext;
- }
-
- @override
Version get languageVersion {
var version = _bundle.sdk.languageVersion;
return Version(version.major, version.minor, 0);
diff --git a/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart b/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart
index a4ebb6e..0d6aca6 100644
--- a/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart
+++ b/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart
@@ -4,9 +4,7 @@
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
-import 'package:analyzer/src/context/context.dart';
import 'package:analyzer/src/dart/sdk/sdk.dart';
-import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:meta/meta.dart';
@@ -1081,11 +1079,6 @@
final Map<String, String> uriMap = {};
- final AnalysisOptionsImpl _analysisOptions;
-
- /// The [AnalysisContextImpl] which is used for all of the sources.
- AnalysisContextImpl _analysisContext;
-
@override
final List<SdkLibrary> sdkLibraries = [];
@@ -1095,9 +1088,8 @@
/// their units are relative (will be put into `sdkRoot/lib`).
MockSdk({
@required this.resourceProvider,
- AnalysisOptionsImpl analysisOptions,
List<MockSdkLibrary> additionalLibraries = const [],
- }) : _analysisOptions = analysisOptions ?? AnalysisOptionsImpl() {
+ }) {
_versionFile = resourceProvider
.getFolder(resourceProvider.convertPath(sdkRoot))
.getChildAssumingFile('version');
@@ -1190,15 +1182,6 @@
}
@override
- AnalysisContextImpl get context {
- if (_analysisContext == null) {
- var factory = SourceFactory([DartUriResolver(this)]);
- _analysisContext = SdkAnalysisContext(_analysisOptions, factory);
- }
- return _analysisContext;
- }
-
- @override
Version get languageVersion {
var sdkVersionStr = _versionFile.readAsStringSync();
return languageVersionFromSdkVersion(sdkVersionStr);
diff --git a/pkg/analyzer/test/src/context/builder_test.dart b/pkg/analyzer/test/src/context/builder_test.dart
index 0884c88..7872242 100644
--- a/pkg/analyzer/test/src/context/builder_test.dart
+++ b/pkg/analyzer/test/src/context/builder_test.dart
@@ -309,9 +309,7 @@
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 @@
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 @@
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 @@
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 @@
}
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/sdk/sdk_test.dart b/pkg/analyzer/test/src/dart/sdk/sdk_test.dart
index 01403ad..db9c3b4 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 @@
})));
}
- 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 832785a..9a48b1a 100644
--- a/pkg/analyzer_cli/lib/src/driver.dart
+++ b/pkg/analyzer_cli/lib/src/driver.dart
@@ -439,7 +439,6 @@
} 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 @@
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),
+ );
}
}
}
diff --git a/tools/VERSION b/tools/VERSION
index e081728..4121203 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 10
PATCH 0
-PRERELEASE 120
+PRERELEASE 121
PRERELEASE_PATCH 0
\ No newline at end of file