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

Unified Diff: pkg/analyzer/lib/src/summary/link.dart

Issue 2351863002: Generate SDK summaries using ASTs. (Closed)
Patch Set: Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: pkg/analyzer/lib/src/summary/link.dart
diff --git a/pkg/analyzer/lib/src/summary/link.dart b/pkg/analyzer/lib/src/summary/link.dart
index d46d119e37bcb25f45ee8ceca912b9fda5f53b42..7b499395b5cbd6afcaf06ef84b5b2e56e0655807 100644
--- a/pkg/analyzer/lib/src/summary/link.dart
+++ b/pkg/analyzer/lib/src/summary/link.dart
@@ -3415,8 +3415,16 @@ abstract class LibraryElementForLink<
* Return the [LibraryElement] corresponding to the given dependency [index].
*/
LibraryElementForLink _getDependency(int index) {
- return _dependencies[index] ??= _linker.getLibrary(resolveRelativeUri(
- _absoluteUri, Uri.parse(_linkedLibrary.dependencies[index].uri)));
+ LibraryElementForLink result = _dependencies[index];
+ if (result == null) {
+ String relativeUri = _linkedLibrary.dependencies[index].uri;
+ Uri absoluteUri = relativeUri.isEmpty
+ ? _absoluteUri
+ : resolveRelativeUri(_absoluteUri, Uri.parse(relativeUri));
+ result = _linker.getLibrary(absoluteUri);
+ _dependencies[index] = result;
+ }
+ return result;
}
/**
@@ -3999,11 +4007,11 @@ class ParameterElementForLink_VariableSetter implements ParameterElementImpl {
@override
final PropertyAccessorElementForLink_Variable enclosingElement;
- ParameterElementForLink_VariableSetter(this.enclosingElement);
-
@override
bool inheritsCovariant = false;
+ ParameterElementForLink_VariableSetter(this.enclosingElement);
+
@override
bool get isCovariant => false;

Powered by Google App Engine
This is Rietveld 408576698