Elements. Write FieldElement and FieldFragment metadata.

No implementation changes, just updating test expectations with more data.

Change-Id: I0c5f34f5b1cab546c4690fe957da739b85334e9c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/461145
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/test/src/summary/element_text.dart b/pkg/analyzer/test/src/summary/element_text.dart
index d438dfe..a94b282 100644
--- a/pkg/analyzer/test/src/summary/element_text.dart
+++ b/pkg/analyzer/test/src/summary/element_text.dart
@@ -576,7 +576,7 @@
         _sink.writelnWithIndent('hasEnclosingTypeParameterReference: true');
       }
       // _writeDocumentation(e.documentationComment);
-      // _writeMetadata(e.metadata);
+      _writeMetadata(e.metadata);
       _writeSinceSdkVersion(e);
       // _writeCodeRange(e);
       _writeTypeInferenceError(e.typeInferenceError);
@@ -638,7 +638,7 @@
     _sink.withIndent(() {
       _writeElementReference('element', f.element);
       // _writeDocumentation(f.documentationComment);
-      // _writeMetadata(f.metadata);
+      _writeMetadata(f.metadata);
       // _writeSinceSdkVersion(f.sinceSdkVersion);
       // _writeCodeRange(f);
       // _writeType('type', f.type);
diff --git a/pkg/analyzer/test/src/summary/elements/enum_test.dart b/pkg/analyzer/test/src/summary/elements/enum_test.dart
index 579bf540..8c2fea4 100644
--- a/pkg/analyzer/test/src/summary/elements/enum_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/enum_test.dart
@@ -4552,6 +4552,14 @@
           fields
             #F2 hasInitializer a (nameOffset:46) (firstTokenOffset:11) (offset:46)
               element: <testLibrary>::@enum::E::@field::a
+              metadata
+                Annotation
+                  atSign: @ @32
+                  name: SimpleIdentifier
+                    token: annotation @33
+                    element: <testLibrary>::@getter::annotation
+                    staticType: null
+                  element: <testLibrary>::@getter::annotation
               initializer: expression_0
                 InstanceCreationExpression
                   constructorName: ConstructorName
@@ -4566,6 +4574,14 @@
                   staticType: E
             #F3 hasInitializer b (nameOffset:75) (firstTokenOffset:51) (offset:75)
               element: <testLibrary>::@enum::E::@field::b
+              metadata
+                Annotation
+                  atSign: @ @61
+                  name: SimpleIdentifier
+                    token: annotation @62
+                    element: <testLibrary>::@getter::annotation
+                    staticType: null
+                  element: <testLibrary>::@getter::annotation
               initializer: expression_1
                 InstanceCreationExpression
                   constructorName: ConstructorName
@@ -4624,6 +4640,14 @@
         static const enumConstant hasImplicitType hasInitializer a
           reference: <testLibrary>::@enum::E::@field::a
           firstFragment: #F2
+          metadata
+            Annotation
+              atSign: @ @32
+              name: SimpleIdentifier
+                token: annotation @33
+                element: <testLibrary>::@getter::annotation
+                staticType: null
+              element: <testLibrary>::@getter::annotation
           type: E
           constantInitializer
             fragment: #F2
@@ -4632,6 +4656,14 @@
         static const enumConstant hasImplicitType hasInitializer b
           reference: <testLibrary>::@enum::E::@field::b
           firstFragment: #F3
+          metadata
+            Annotation
+              atSign: @ @61
+              name: SimpleIdentifier
+                token: annotation @62
+                element: <testLibrary>::@getter::annotation
+                staticType: null
+              element: <testLibrary>::@getter::annotation
           type: E
           constantInitializer
             fragment: #F3
@@ -5377,6 +5409,14 @@
           fields
             #F2 hasInitializer v (nameOffset:26) (firstTokenOffset:23) (offset:26)
               element: <testLibrary>::@enum::E::@field::v
+              metadata
+                Annotation
+                  atSign: @ @23
+                  name: SimpleIdentifier
+                    token: a @24
+                    element: <testLibrary>::@getter::a
+                    staticType: null
+                  element: <testLibrary>::@getter::a
               initializer: expression_0
                 InstanceCreationExpression
                   constructorName: ConstructorName
@@ -5429,6 +5469,14 @@
         static const enumConstant hasImplicitType hasInitializer v
           reference: <testLibrary>::@enum::E::@field::v
           firstFragment: #F2
+          metadata
+            Annotation
+              atSign: @ @23
+              name: SimpleIdentifier
+                token: a @24
+                element: <testLibrary>::@getter::a
+                staticType: null
+              element: <testLibrary>::@getter::a
           type: E
           constantInitializer
             fragment: #F2
@@ -5517,6 +5565,21 @@
           fields
             #F7 hasInitializer a (nameOffset:78) (firstTokenOffset:70) (offset:78)
               element: <testLibrary>::@enum::E::@field::a
+              metadata
+                Annotation
+                  atSign: @ @70
+                  name: SimpleIdentifier
+                    token: A @71
+                    element: <testLibrary>::@class::A
+                    staticType: null
+                  arguments: ArgumentList
+                    leftParenthesis: ( @72
+                    arguments
+                      IntegerLiteral
+                        literal: 100 @73
+                        staticType: int
+                    rightParenthesis: ) @76
+                  element: <testLibrary>::@class::A::@constructor::new
               initializer: expression_0
                 InstanceCreationExpression
                   constructorName: ConstructorName
@@ -5545,6 +5608,21 @@
                   staticType: E
             #F9 hasInitializer c (nameOffset:96) (firstTokenOffset:88) (offset:96)
               element: <testLibrary>::@enum::E::@field::c
+              metadata
+                Annotation
+                  atSign: @ @88
+                  name: SimpleIdentifier
+                    token: A @89
+                    element: <testLibrary>::@class::A
+                    staticType: null
+                  arguments: ArgumentList
+                    leftParenthesis: ( @90
+                    arguments
+                      IntegerLiteral
+                        literal: 300 @91
+                        staticType: int
+                    rightParenthesis: ) @94
+                  element: <testLibrary>::@class::A::@constructor::new
               initializer: expression_2
                 InstanceCreationExpression
                   constructorName: ConstructorName
@@ -5624,6 +5702,21 @@
         static const enumConstant hasImplicitType hasInitializer a
           reference: <testLibrary>::@enum::E::@field::a
           firstFragment: #F7
+          metadata
+            Annotation
+              atSign: @ @70
+              name: SimpleIdentifier
+                token: A @71
+                element: <testLibrary>::@class::A
+                staticType: null
+              arguments: ArgumentList
+                leftParenthesis: ( @72
+                arguments
+                  IntegerLiteral
+                    literal: 100 @73
+                    staticType: int
+                rightParenthesis: ) @76
+              element: <testLibrary>::@class::A::@constructor::new
           type: E
           constantInitializer
             fragment: #F7
@@ -5640,6 +5733,21 @@
         static const enumConstant hasImplicitType hasInitializer c
           reference: <testLibrary>::@enum::E::@field::c
           firstFragment: #F9
+          metadata
+            Annotation
+              atSign: @ @88
+              name: SimpleIdentifier
+                token: A @89
+                element: <testLibrary>::@class::A
+                staticType: null
+              arguments: ArgumentList
+                leftParenthesis: ( @90
+                arguments
+                  IntegerLiteral
+                    literal: 300 @91
+                    staticType: int
+                rightParenthesis: ) @94
+              element: <testLibrary>::@class::A::@constructor::new
           type: E
           constantInitializer
             fragment: #F9
@@ -5700,6 +5808,14 @@
           fields
             #F2 hasInitializer v (nameOffset:16) (firstTokenOffset:11) (offset:16)
               element: <testLibrary>::@enum::E::@field::v
+              metadata
+                Annotation
+                  atSign: @ @11
+                  name: SimpleIdentifier
+                    token: v @12
+                    element: <testLibrary>::@enum::E::@getter::v
+                    staticType: null
+                  element: <testLibrary>::@enum::E::@getter::v
               initializer: expression_0
                 InstanceCreationExpression
                   constructorName: ConstructorName
@@ -5742,6 +5858,14 @@
         static const enumConstant hasImplicitType hasInitializer v
           reference: <testLibrary>::@enum::E::@field::v
           firstFragment: #F2
+          metadata
+            Annotation
+              atSign: @ @11
+              name: SimpleIdentifier
+                token: v @12
+                element: <testLibrary>::@enum::E::@getter::v
+                staticType: null
+              element: <testLibrary>::@enum::E::@getter::v
           type: E
           constantInitializer
             fragment: #F2
diff --git a/pkg/analyzer/test/src/summary/elements/extension_type_test.dart b/pkg/analyzer/test/src/summary/elements/extension_type_test.dart
index f4ca5a1..7effe10 100644
--- a/pkg/analyzer/test/src/summary/elements/extension_type_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/extension_type_test.dart
@@ -820,6 +820,14 @@
           fields
             #F2 it (nameOffset:43) (firstTokenOffset:34) (offset:43)
               element: <testLibrary>::@extensionType::A::@field::it
+              metadata
+                Annotation
+                  atSign: @ @34
+                  name: SimpleIdentifier
+                    token: foo @35
+                    element: package:test/a.dart::@getter::foo
+                    staticType: null
+                  element: package:test/a.dart::@getter::foo
           constructors
             #F3 new (nameOffset:<null>) (firstTokenOffset:32) (offset:32)
               element: <testLibrary>::@extensionType::A::@constructor::new
@@ -842,6 +850,14 @@
         final it
           reference: <testLibrary>::@extensionType::A::@field::it
           firstFragment: #F2
+          metadata
+            Annotation
+              atSign: @ @34
+              name: SimpleIdentifier
+                token: foo @35
+                element: package:test/a.dart::@getter::foo
+                staticType: null
+              element: package:test/a.dart::@getter::foo
           type: int
           getter: <testLibrary>::@extensionType::A::@getter::it
           declaringFormalParameter: <testLibrary>::@extensionType::A::@constructor::new::@formalParameter::it
diff --git a/pkg/analyzer/test/src/summary/elements/metadata_test.dart b/pkg/analyzer/test/src/summary/elements/metadata_test.dart
index 462e1b8..75250ae 100644
--- a/pkg/analyzer/test/src/summary/elements/metadata_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/metadata_test.dart
@@ -224,6 +224,14 @@
           fields
             #F2 hasInitializer x (nameOffset:34) (firstTokenOffset:34) (offset:34)
               element: <testLibrary>::@class::C::@field::x
+              metadata
+                Annotation
+                  atSign: @ @25
+                  name: SimpleIdentifier
+                    token: a @26
+                    element: <testLibrary>::@getter::a
+                    staticType: null
+                  element: <testLibrary>::@getter::a
           constructors
             #F3 synthetic new (nameOffset:<null>) (firstTokenOffset:<null>) (offset:19)
               element: <testLibrary>::@class::C::@constructor::new
@@ -255,6 +263,14 @@
         hasInitializer x
           reference: <testLibrary>::@class::C::@field::x
           firstFragment: #F2
+          metadata
+            Annotation
+              atSign: @ @25
+              name: SimpleIdentifier
+                token: a @26
+                element: <testLibrary>::@getter::a
+                staticType: null
+              element: <testLibrary>::@getter::a
           type: int
           getter: <testLibrary>::@class::C::@getter::x
           setter: <testLibrary>::@class::C::@setter::x
@@ -1741,6 +1757,14 @@
           fields
             #F2 x (nameOffset:33) (firstTokenOffset:33) (offset:33)
               element: <testLibrary>::@class::C::@field::x
+              metadata
+                Annotation
+                  atSign: @ @26
+                  name: SimpleIdentifier
+                    token: a @27
+                    element: <testLibrary>::@getter::a
+                    staticType: null
+                  element: <testLibrary>::@getter::a
           constructors
             #F3 synthetic new (nameOffset:<null>) (firstTokenOffset:<null>) (offset:22)
               element: <testLibrary>::@class::C::@constructor::new
@@ -1772,6 +1796,14 @@
         x
           reference: <testLibrary>::@class::C::@field::x
           firstFragment: #F2
+          metadata
+            Annotation
+              atSign: @ @26
+              name: SimpleIdentifier
+                token: a @27
+                element: <testLibrary>::@getter::a
+                staticType: null
+              element: <testLibrary>::@getter::a
           type: int
           getter: <testLibrary>::@class::C::@getter::x
           setter: <testLibrary>::@class::C::@setter::x
@@ -4180,6 +4212,14 @@
           fields
             #F2 hasInitializer e1 (nameOffset:37) (firstTokenOffset:32) (offset:37)
               element: <testLibrary>::@enum::E::@field::e1
+              metadata
+                Annotation
+                  atSign: @ @32
+                  name: SimpleIdentifier
+                    token: foo @33
+                    element: <testLibrary>::@getter::foo
+                    staticType: null
+                  element: <testLibrary>::@getter::foo
               initializer: expression_0
                 InstanceCreationExpression
                   constructorName: ConstructorName
@@ -4208,6 +4248,14 @@
                   staticType: E
             #F4 hasInitializer e3 (nameOffset:54) (firstTokenOffset:49) (offset:54)
               element: <testLibrary>::@enum::E::@field::e3
+              metadata
+                Annotation
+                  atSign: @ @49
+                  name: SimpleIdentifier
+                    token: foo @50
+                    element: <testLibrary>::@getter::foo
+                    staticType: null
+                  element: <testLibrary>::@getter::foo
               initializer: expression_2
                 InstanceCreationExpression
                   constructorName: ConstructorName
@@ -4272,6 +4320,14 @@
         static const enumConstant hasImplicitType hasInitializer e1
           reference: <testLibrary>::@enum::E::@field::e1
           firstFragment: #F2
+          metadata
+            Annotation
+              atSign: @ @32
+              name: SimpleIdentifier
+                token: foo @33
+                element: <testLibrary>::@getter::foo
+                staticType: null
+              element: <testLibrary>::@getter::foo
           type: E
           constantInitializer
             fragment: #F2
@@ -4288,6 +4344,14 @@
         static const enumConstant hasImplicitType hasInitializer e3
           reference: <testLibrary>::@enum::E::@field::e3
           firstFragment: #F4
+          metadata
+            Annotation
+              atSign: @ @49
+              name: SimpleIdentifier
+                token: foo @50
+                element: <testLibrary>::@getter::foo
+                staticType: null
+              element: <testLibrary>::@getter::foo
           type: E
           constantInitializer
             fragment: #F4
@@ -4443,14 +4507,38 @@
           fields
             #F2 hasInitializer isStatic (nameOffset:42) (firstTokenOffset:42) (offset:42)
               element: <testLibrary>::@class::A::@field::isStatic
+              metadata
+                Annotation
+                  atSign: @ @28
+                  name: SimpleIdentifier
+                    token: foo @29
+                    element: <testLibrary>::@getter::foo
+                    staticType: null
+                  element: <testLibrary>::@getter::foo
             #F3 hasInitializer isStaticConst (nameOffset:79) (firstTokenOffset:79) (offset:79)
               element: <testLibrary>::@class::A::@field::isStaticConst
+              metadata
+                Annotation
+                  atSign: @ @59
+                  name: SimpleIdentifier
+                    token: foo @60
+                    element: <testLibrary>::@getter::foo
+                    staticType: null
+                  element: <testLibrary>::@getter::foo
               initializer: expression_0
                 IntegerLiteral
                   literal: 2 @95
                   staticType: int
             #F4 hasInitializer isInstance (nameOffset:112) (firstTokenOffset:112) (offset:112)
               element: <testLibrary>::@class::A::@field::isInstance
+              metadata
+                Annotation
+                  atSign: @ @101
+                  name: SimpleIdentifier
+                    token: foo @102
+                    element: <testLibrary>::@getter::foo
+                    staticType: null
+                  element: <testLibrary>::@getter::foo
           constructors
             #F5 synthetic new (nameOffset:<null>) (firstTokenOffset:<null>) (offset:22)
               element: <testLibrary>::@class::A::@constructor::new
@@ -4491,12 +4579,28 @@
         static hasImplicitType hasInitializer isStatic
           reference: <testLibrary>::@class::A::@field::isStatic
           firstFragment: #F2
+          metadata
+            Annotation
+              atSign: @ @28
+              name: SimpleIdentifier
+                token: foo @29
+                element: <testLibrary>::@getter::foo
+                staticType: null
+              element: <testLibrary>::@getter::foo
           type: int
           getter: <testLibrary>::@class::A::@getter::isStatic
           setter: <testLibrary>::@class::A::@setter::isStatic
         static const hasImplicitType hasInitializer isStaticConst
           reference: <testLibrary>::@class::A::@field::isStaticConst
           firstFragment: #F3
+          metadata
+            Annotation
+              atSign: @ @59
+              name: SimpleIdentifier
+                token: foo @60
+                element: <testLibrary>::@getter::foo
+                staticType: null
+              element: <testLibrary>::@getter::foo
           type: int
           constantInitializer
             fragment: #F3
@@ -4505,6 +4609,14 @@
         hasImplicitType hasInitializer isInstance
           reference: <testLibrary>::@class::A::@field::isInstance
           firstFragment: #F4
+          metadata
+            Annotation
+              atSign: @ @101
+              name: SimpleIdentifier
+                token: foo @102
+                element: <testLibrary>::@getter::foo
+                staticType: null
+              element: <testLibrary>::@getter::foo
           type: int
           getter: <testLibrary>::@class::A::@getter::isInstance
           setter: <testLibrary>::@class::A::@setter::isInstance
@@ -6953,6 +7065,14 @@
           fields
             #F2 hasInitializer foo (nameOffset:44) (firstTokenOffset:44) (offset:44)
               element: <testLibrary>::@extension::0::@field::foo
+              metadata
+                Annotation
+                  atSign: @ @24
+                  name: SimpleIdentifier
+                    token: foo @25
+                    element: <testLibrary>::@extension::0::@getter::foo
+                    staticType: null
+                  element: <testLibrary>::@extension::0::@getter::foo
               initializer: expression_0
                 IntegerLiteral
                   literal: 0 @50
@@ -6970,6 +7090,14 @@
         static const hasImplicitType hasInitializer foo
           reference: <testLibrary>::@extension::0::@field::foo
           firstFragment: #F2
+          metadata
+            Annotation
+              atSign: @ @24
+              name: SimpleIdentifier
+                token: foo @25
+                element: <testLibrary>::@extension::0::@getter::foo
+                staticType: null
+              element: <testLibrary>::@extension::0::@getter::foo
           type: int
           constantInitializer
             fragment: #F2
diff --git a/pkg/analyzer/test/src/summary/elements/offsets_test.dart b/pkg/analyzer/test/src/summary/elements/offsets_test.dart
index 5e1a19f..941910f 100644
--- a/pkg/analyzer/test/src/summary/elements/offsets_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/offsets_test.dart
@@ -1110,20 +1110,108 @@
               element: <testLibrary>::@class::C::@field::hasDocComment2
             #F4 hasAnnotation (nameOffset:100) (firstTokenOffset:100) (offset:100)
               element: <testLibrary>::@class::C::@field::hasAnnotation
+              metadata
+                Annotation
+                  atSign: @ @84
+                  name: SimpleIdentifier
+                    token: Object @85
+                    element: dart:core::@class::Object
+                    staticType: null
+                  arguments: ArgumentList
+                    leftParenthesis: ( @91
+                    rightParenthesis: ) @92
+                  element: dart:core::@class::Object::@constructor::new
             #F5 hasAnnotation2 (nameOffset:115) (firstTokenOffset:115) (offset:115)
               element: <testLibrary>::@class::C::@field::hasAnnotation2
+              metadata
+                Annotation
+                  atSign: @ @84
+                  name: SimpleIdentifier
+                    token: Object @85
+                    element: dart:core::@class::Object
+                    staticType: null
+                  arguments: ArgumentList
+                    leftParenthesis: ( @91
+                    rightParenthesis: ) @92
+                  element: dart:core::@class::Object::@constructor::new
             #F6 annotationThenComment (nameOffset:184) (firstTokenOffset:184) (offset:184)
               element: <testLibrary>::@class::C::@field::annotationThenComment
+              metadata
+                Annotation
+                  atSign: @ @134
+                  name: SimpleIdentifier
+                    token: Object @135
+                    element: dart:core::@class::Object
+                    staticType: null
+                  arguments: ArgumentList
+                    leftParenthesis: ( @141
+                    rightParenthesis: ) @142
+                  element: dart:core::@class::Object::@constructor::new
             #F7 annotationThenComment2 (nameOffset:207) (firstTokenOffset:207) (offset:207)
               element: <testLibrary>::@class::C::@field::annotationThenComment2
+              metadata
+                Annotation
+                  atSign: @ @134
+                  name: SimpleIdentifier
+                    token: Object @135
+                    element: dart:core::@class::Object
+                    staticType: null
+                  arguments: ArgumentList
+                    leftParenthesis: ( @141
+                    rightParenthesis: ) @142
+                  element: dart:core::@class::Object::@constructor::new
             #F8 commentThenAnnotation (nameOffset:284) (firstTokenOffset:284) (offset:284)
               element: <testLibrary>::@class::C::@field::commentThenAnnotation
+              metadata
+                Annotation
+                  atSign: @ @268
+                  name: SimpleIdentifier
+                    token: Object @269
+                    element: dart:core::@class::Object
+                    staticType: null
+                  arguments: ArgumentList
+                    leftParenthesis: ( @275
+                    rightParenthesis: ) @276
+                  element: dart:core::@class::Object::@constructor::new
             #F9 commentThenAnnotation2 (nameOffset:307) (firstTokenOffset:307) (offset:307)
               element: <testLibrary>::@class::C::@field::commentThenAnnotation2
+              metadata
+                Annotation
+                  atSign: @ @268
+                  name: SimpleIdentifier
+                    token: Object @269
+                    element: dart:core::@class::Object
+                    staticType: null
+                  arguments: ArgumentList
+                    leftParenthesis: ( @275
+                    rightParenthesis: ) @276
+                  element: dart:core::@class::Object::@constructor::new
             #F10 commentAroundAnnotation (nameOffset:384) (firstTokenOffset:384) (offset:384)
               element: <testLibrary>::@class::C::@field::commentAroundAnnotation
+              metadata
+                Annotation
+                  atSign: @ @351
+                  name: SimpleIdentifier
+                    token: Object @352
+                    element: dart:core::@class::Object
+                    staticType: null
+                  arguments: ArgumentList
+                    leftParenthesis: ( @358
+                    rightParenthesis: ) @359
+                  element: dart:core::@class::Object::@constructor::new
             #F11 commentAroundAnnotation2 (nameOffset:409) (firstTokenOffset:409) (offset:409)
               element: <testLibrary>::@class::C::@field::commentAroundAnnotation2
+              metadata
+                Annotation
+                  atSign: @ @351
+                  name: SimpleIdentifier
+                    token: Object @352
+                    element: dart:core::@class::Object
+                    staticType: null
+                  arguments: ArgumentList
+                    leftParenthesis: ( @358
+                    rightParenthesis: ) @359
+                  element: dart:core::@class::Object::@constructor::new
           constructors
             #F12 synthetic new (nameOffset:<null>) (firstTokenOffset:<null>) (offset:6)
               element: <testLibrary>::@class::C::@constructor::new
@@ -1220,48 +1308,136 @@
         hasAnnotation
           reference: <testLibrary>::@class::C::@field::hasAnnotation
           firstFragment: #F4
+          metadata
+            Annotation
+              atSign: @ @84
+              name: SimpleIdentifier
+                token: Object @85
+                element: dart:core::@class::Object
+                staticType: null
+              arguments: ArgumentList
+                leftParenthesis: ( @91
+                rightParenthesis: ) @92
+              element: dart:core::@class::Object::@constructor::new
           type: int
           getter: <testLibrary>::@class::C::@getter::hasAnnotation
           setter: <testLibrary>::@class::C::@setter::hasAnnotation
         hasAnnotation2
           reference: <testLibrary>::@class::C::@field::hasAnnotation2
           firstFragment: #F5
+          metadata
+            Annotation
+              atSign: @ @84
+              name: SimpleIdentifier
+                token: Object @85
+                element: dart:core::@class::Object
+                staticType: null
+              arguments: ArgumentList
+                leftParenthesis: ( @91
+                rightParenthesis: ) @92
+              element: dart:core::@class::Object::@constructor::new
           type: int
           getter: <testLibrary>::@class::C::@getter::hasAnnotation2
           setter: <testLibrary>::@class::C::@setter::hasAnnotation2
         annotationThenComment
           reference: <testLibrary>::@class::C::@field::annotationThenComment
           firstFragment: #F6
+          metadata
+            Annotation
+              atSign: @ @134
+              name: SimpleIdentifier
+                token: Object @135
+                element: dart:core::@class::Object
+                staticType: null
+              arguments: ArgumentList
+                leftParenthesis: ( @141
+                rightParenthesis: ) @142
+              element: dart:core::@class::Object::@constructor::new
           type: int
           getter: <testLibrary>::@class::C::@getter::annotationThenComment
           setter: <testLibrary>::@class::C::@setter::annotationThenComment
         annotationThenComment2
           reference: <testLibrary>::@class::C::@field::annotationThenComment2
           firstFragment: #F7
+          metadata
+            Annotation
+              atSign: @ @134
+              name: SimpleIdentifier
+                token: Object @135
+                element: dart:core::@class::Object
+                staticType: null
+              arguments: ArgumentList
+                leftParenthesis: ( @141
+                rightParenthesis: ) @142
+              element: dart:core::@class::Object::@constructor::new
           type: int
           getter: <testLibrary>::@class::C::@getter::annotationThenComment2
           setter: <testLibrary>::@class::C::@setter::annotationThenComment2
         commentThenAnnotation
           reference: <testLibrary>::@class::C::@field::commentThenAnnotation
           firstFragment: #F8
+          metadata
+            Annotation
+              atSign: @ @268
+              name: SimpleIdentifier
+                token: Object @269
+                element: dart:core::@class::Object
+                staticType: null
+              arguments: ArgumentList
+                leftParenthesis: ( @275
+                rightParenthesis: ) @276
+              element: dart:core::@class::Object::@constructor::new
           type: int
           getter: <testLibrary>::@class::C::@getter::commentThenAnnotation
           setter: <testLibrary>::@class::C::@setter::commentThenAnnotation
         commentThenAnnotation2
           reference: <testLibrary>::@class::C::@field::commentThenAnnotation2
           firstFragment: #F9
+          metadata
+            Annotation
+              atSign: @ @268
+              name: SimpleIdentifier
+                token: Object @269
+                element: dart:core::@class::Object
+                staticType: null
+              arguments: ArgumentList
+                leftParenthesis: ( @275
+                rightParenthesis: ) @276
+              element: dart:core::@class::Object::@constructor::new
           type: int
           getter: <testLibrary>::@class::C::@getter::commentThenAnnotation2
           setter: <testLibrary>::@class::C::@setter::commentThenAnnotation2
         commentAroundAnnotation
           reference: <testLibrary>::@class::C::@field::commentAroundAnnotation
           firstFragment: #F10
+          metadata
+            Annotation
+              atSign: @ @351
+              name: SimpleIdentifier
+                token: Object @352
+                element: dart:core::@class::Object
+                staticType: null
+              arguments: ArgumentList
+                leftParenthesis: ( @358
+                rightParenthesis: ) @359
+              element: dart:core::@class::Object::@constructor::new
           type: int
           getter: <testLibrary>::@class::C::@getter::commentAroundAnnotation
           setter: <testLibrary>::@class::C::@setter::commentAroundAnnotation
         commentAroundAnnotation2
           reference: <testLibrary>::@class::C::@field::commentAroundAnnotation2
           firstFragment: #F11
+          metadata
+            Annotation
+              atSign: @ @351
+              name: SimpleIdentifier
+                token: Object @352
+                element: dart:core::@class::Object
+                staticType: null
+              arguments: ArgumentList
+                leftParenthesis: ( @358
+                rightParenthesis: ) @359
+              element: dart:core::@class::Object::@constructor::new
           type: int
           getter: <testLibrary>::@class::C::@getter::commentAroundAnnotation2
           setter: <testLibrary>::@class::C::@setter::commentAroundAnnotation2