Analyzer 0.27.4-alpha.9 (API fixes) (#26562).
Restores `EmbedderUriResolver` API.
Addresses breakages in `dartdoc` and any other downstream dependencies.
See: https://github.com/dart-lang/sdk/issues/26562.
BUG=
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/2021453003 .
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart
index c52f5a9..ed02817 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -1640,7 +1640,7 @@
// If no embedded URI resolver was provided, defer to a locator-backed one.
embedderUriResolver ??= new EmbedderUriResolver(
- new EmbedderSdk(context.embedderYamlLocator.embedderYamls));
+ context.embedderYamlLocator.embedderYamls);
if (embedderUriResolver.length == 0) {
// The embedder uri resolver has no mappings. Use the default Dart SDK
// uri resolver.
diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart
index 975cd09..44c3595 100644
--- a/pkg/analysis_server/lib/src/context_manager.dart
+++ b/pkg/analysis_server/lib/src/context_manager.dart
@@ -917,8 +917,7 @@
.where((r) => r is! DartUriResolver)
.toList();
// Add an embedded URI resolver in its place.
- resolvers
- .add(new EmbedderUriResolver(new EmbedderSdk(embedderYamls)));
+ resolvers.add(new EmbedderUriResolver(embedderYamls));
// Set a new source factory.
SourceFactoryImpl newFactory = sourceFactory.clone();
@@ -1175,8 +1174,8 @@
}
// If no embedded URI resolver was provided, defer to a locator-backed one.
- embedderUriResolver ??= new EmbedderUriResolver(
- new EmbedderSdk(context.embedderYamlLocator.embedderYamls));
+ embedderUriResolver ??=
+ new EmbedderUriResolver(context.embedderYamlLocator.embedderYamls);
if (embedderUriResolver.length == 0) {
// The embedder uri resolver has no mappings. Use the default Dart SDK
// uri resolver.
diff --git a/pkg/analysis_server/test/context_manager_test.dart b/pkg/analysis_server/test/context_manager_test.dart
index b6a5903..db85fcd 100644
--- a/pkg/analysis_server/test/context_manager_test.dart
+++ b/pkg/analysis_server/test/context_manager_test.dart
@@ -2658,8 +2658,8 @@
if (currentContext is InternalAnalysisContext) {
EmbedderYamlLocator embedderYamlLocator =
(currentContext as InternalAnalysisContext).embedderYamlLocator;
- EmbedderUriResolver embedderUriResolver = new EmbedderUriResolver(
- new EmbedderSdk(embedderYamlLocator.embedderYamls));
+ EmbedderUriResolver embedderUriResolver =
+ new EmbedderUriResolver(embedderYamlLocator.embedderYamls);
if (embedderUriResolver.length > 0) {
// We have some embedder dart: uri mappings, add the resolver
// to the list.
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index 3e049b7..f02706f 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -1,3 +1,6 @@
+## 0.27.4-alpha.7.1
+* Restore EmbedderUriResolver API.
+
## 0.27.4
* Added support for 'analysis_options.yaml' files as an alternative to '.analysis_options' files.
diff --git a/pkg/analyzer/lib/source/embedder.dart b/pkg/analyzer/lib/source/embedder.dart
index a1b4ea6..1b43e00 100644
--- a/pkg/analyzer/lib/source/embedder.dart
+++ b/pkg/analyzer/lib/source/embedder.dart
@@ -43,7 +43,7 @@
EmbedderSdk([Map<Folder, YamlMap> embedderYamls]) {
embedderYamls?.forEach(_processEmbedderYaml);
- _resolver = new EmbedderUriResolver(this);
+ _resolver = new EmbedderUriResolver._forSdk(this);
}
@override
@@ -211,7 +211,11 @@
/// Construct a [EmbedderUriResolver] from a package map
/// (see [PackageMapProvider]).
- EmbedderUriResolver(this._embedderSdk) {
+ EmbedderUriResolver(Map<Folder, YamlMap> embedderMap) :
+ this._forSdk(new EmbedderSdk(embedderMap));
+
+ /// (Provisional API.)
+ EmbedderUriResolver._forSdk(this._embedderSdk) {
_dartUriResolver = new DartUriResolver(_embedderSdk);
}
diff --git a/pkg/analyzer/pubspec.yaml b/pkg/analyzer/pubspec.yaml
index 2d03ea2..82bd902 100644
--- a/pkg/analyzer/pubspec.yaml
+++ b/pkg/analyzer/pubspec.yaml
@@ -1,5 +1,5 @@
name: analyzer
-version: 0.27.4-alpha.7
+version: 0.27.4-alpha.7.1
author: Dart Team <misc@dartlang.org>
description: Static analyzer for Dart.
homepage: https://github.com/dart-lang/sdk/tree/master/pkg/analyzer
diff --git a/pkg/analyzer/test/source/embedder_test.dart b/pkg/analyzer/test/source/embedder_test.dart
index 9bc4671..80072b8 100644
--- a/pkg/analyzer/test/source/embedder_test.dart
+++ b/pkg/analyzer/test/source/embedder_test.dart
@@ -40,8 +40,7 @@
var locator = new EmbedderYamlLocator({
'fox': [pathTranslator.getResource('/tmp')]
});
- var resolver =
- new EmbedderUriResolver(new EmbedderSdk(locator.embedderYamls));
+ var resolver = new EmbedderUriResolver(locator.embedderYamls);
expectResolved(dartUri, posixPath) {
Source source = resolver.resolveAbsolute(Uri.parse(dartUri));
@@ -67,8 +66,7 @@
var locator = new EmbedderYamlLocator({
'fox': [pathTranslator.getResource('/tmp')]
});
- var resolver =
- new EmbedderUriResolver(new EmbedderSdk(locator.embedderYamls));
+ var resolver = new EmbedderUriResolver(locator.embedderYamls);
expectRestore(String dartUri, [String expected]) {
var parsedUri = Uri.parse(dartUri);
@@ -94,8 +92,7 @@
var locator = new EmbedderYamlLocator({
'fox': [pathTranslator.getResource('/tmp')]
});
- var resolver =
- new EmbedderUriResolver(new EmbedderSdk(locator.embedderYamls));
+ var resolver = new EmbedderUriResolver(locator.embedderYamls);
var sdk = resolver.dartSdk;
expectSource(String posixPath, String dartUri) {
@@ -114,8 +111,7 @@
var locator = new EmbedderYamlLocator({
'fox': [pathTranslator.getResource('/tmp')]
});
- var resolver =
- new EmbedderUriResolver(new EmbedderSdk(locator.embedderYamls));
+ var resolver = new EmbedderUriResolver(locator.embedderYamls);
var sdk = resolver.dartSdk;
var lib = sdk.getSdkLibrary('dart:fox');
expect(lib, isNotNull);
@@ -126,8 +122,7 @@
var locator = new EmbedderYamlLocator({
'fox': [pathTranslator.getResource('/tmp')]
});
- var resolver =
- new EmbedderUriResolver(new EmbedderSdk(locator.embedderYamls));
+ var resolver = new EmbedderUriResolver(locator.embedderYamls);
var sdk = resolver.dartSdk;
expectSource(String dartUri, String posixPath) {
diff --git a/pkg/analyzer_cli/lib/src/driver.dart b/pkg/analyzer_cli/lib/src/driver.dart
index 2c6b74e..4d80c61 100644
--- a/pkg/analyzer_cli/lib/src/driver.dart
+++ b/pkg/analyzer_cli/lib/src/driver.dart
@@ -397,7 +397,7 @@
// Setup embedding.
EmbedderUriResolver embedderUriResolver =
- new EmbedderUriResolver(new EmbedderSdk(embedderMap));
+ new EmbedderUriResolver(embedderMap);
if (embedderUriResolver.length == 0) {
// The embedder uri resolver has no mappings. Use the default Dart SDK
// uri resolver.