Skip to content

Commit 46bcc46

Browse files
scheglovcommit-bot@chromium.org
authored andcommitted
Support for unnamed extensions in summary2.
[email protected] Change-Id: I70a2994860acb7d592507c7fcd945ce73714c3d9 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110136 Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent bd2b050 commit 46bcc46

File tree

12 files changed

+160
-94
lines changed

12 files changed

+160
-94
lines changed

pkg/analyzer/lib/src/dart/analysis/driver.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ class AnalysisDriver implements AnalysisDriverGeneric {
9595
/**
9696
* The version of data format, should be incremented on every format change.
9797
*/
98-
static const int DATA_VERSION = 86;
98+
static const int DATA_VERSION = 87;
9999

100100
/**
101101
* The number of exception contexts allowed to write. Once this field is

pkg/analyzer/lib/src/dart/element/element.dart

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1782,19 +1782,16 @@ class CompilationUnitElementImpl extends UriReferencedElementImpl
17821782
var containerRef = reference.getChild('@extension');
17831783
_extensions = <ExtensionElement>[];
17841784
for (var node in linkedNode.declarations) {
1785-
String name;
17861785
if (node is ExtensionDeclaration) {
1787-
name = node.name.name;
1788-
} else {
1789-
continue;
1790-
}
1791-
var reference = containerRef.getChild(name);
1792-
if (reference.hasElementFor(node)) {
1793-
_extensions.add(reference.element);
1794-
} else {
1795-
_extensions.add(
1796-
ExtensionElementImpl.forLinkedNode(this, reference, node),
1797-
);
1786+
var refName = linkedContext.getExtensionRefName(node);
1787+
var reference = containerRef.getChild(refName);
1788+
if (reference.hasElementFor(node)) {
1789+
_extensions.add(reference.element);
1790+
} else {
1791+
_extensions.add(
1792+
ExtensionElementImpl.forLinkedNode(this, reference, node),
1793+
);
1794+
}
17981795
}
17991796
}
18001797
return _extensions;
@@ -5085,6 +5082,14 @@ class ExtensionElementImpl extends ElementImpl
50855082
_fields = fields;
50865083
}
50875084

5085+
@override
5086+
String get identifier {
5087+
if (linkedNode != null) {
5088+
return reference.name;
5089+
}
5090+
return super.identifier;
5091+
}
5092+
50885093
@override
50895094
bool get isSimplyBounded => true;
50905095

@@ -5155,7 +5160,7 @@ class ExtensionElementImpl extends ElementImpl
51555160
@override
51565161
String get name {
51575162
if (linkedNode != null) {
5158-
return reference.name;
5163+
return (linkedNode as ExtensionDeclaration).name?.name ?? '';
51595164
}
51605165
if (_unlinkedExtension != null) {
51615166
return _unlinkedExtension.name;

0 commit comments

Comments
 (0)