Skip to content

Commit 29fa988

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Set extension type representation metadata to both field, and formal parameter.
Change-Id: Ib064c4ba9008a0a222b8b09cd024231461d78009 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/461146 Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Paul Berry <[email protected]>
1 parent 62d6042 commit 29fa988

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

pkg/analyzer/lib/src/summary2/element_builder.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2112,7 +2112,7 @@ class FragmentBuilder extends ThrowingAstVisitor<void> {
21122112
)
21132113
..isDeclaring = true
21142114
..hasImplicitType = true;
2115-
2115+
formalParameterFragment.metadata = _buildMetadata(formalParameter.metadata);
21162116
formalParameter.declaredFragment = formalParameterFragment;
21172117

21182118
{
@@ -2176,6 +2176,9 @@ class FragmentBuilder extends ThrowingAstVisitor<void> {
21762176
)
21772177
..isDeclaring = true
21782178
..hasImplicitType = true;
2179+
formalParameterFragment.metadata = _buildMetadata(
2180+
representation.fieldMetadata,
2181+
);
21792182

21802183
{
21812184
var constructorFragment =

pkg/analyzer/lib/src/summary2/informative_data.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,12 @@ class InformativeDataApplier {
375375
representation.firstTokenOffset = infoRep.fieldFirstTokenOffset;
376376
representation.nameOffset = infoRep.fieldNameOffset;
377377
representation.setCodeRange(infoRep.codeOffset, infoRep.codeLength);
378+
primaryConstructor.deferConstantOffsets(
379+
infoRep.fieldConstantOffsets,
380+
(applier) {
381+
applier.applyToMetadata(representation.metadata);
382+
},
383+
);
378384
});
379385
}
380386

pkg/analyzer/test/src/summary/elements/extension_type_test.dart

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -836,6 +836,14 @@ library
836836
formalParameters
837837
#F4 requiredPositional final this.it (nameOffset:43) (firstTokenOffset:34) (offset:43)
838838
element: <testLibrary>::@extensionType::A::@constructor::new::@formalParameter::it
839+
metadata
840+
Annotation
841+
atSign: @ @34
842+
name: SimpleIdentifier
843+
token: foo @35
844+
element: package:test/a.dart::@getter::foo
845+
staticType: null
846+
element: package:test/a.dart::@getter::foo
839847
getters
840848
#F5 synthetic it (nameOffset:<null>) (firstTokenOffset:<null>) (offset:43)
841849
element: <testLibrary>::@extensionType::A::@getter::it
@@ -869,6 +877,14 @@ library
869877
#E0 requiredPositional final hasImplicitType declaring this.it
870878
firstFragment: #F4
871879
type: int
880+
metadata
881+
Annotation
882+
atSign: @ @34
883+
name: SimpleIdentifier
884+
token: foo @35
885+
element: package:test/a.dart::@getter::foo
886+
staticType: null
887+
element: package:test/a.dart::@getter::foo
872888
field: <testLibrary>::@extensionType::A::@field::it
873889
getters
874890
synthetic isExtensionTypeMember it

0 commit comments

Comments
 (0)