@@ -9644,6 +9644,60 @@ class PropertyAccessImpl extends CommentReferableExpressionImpl
9644
9644
identical (descendant, _target);
9645
9645
}
9646
9646
9647
+ class RecordLiteralImpl extends LiteralImpl implements RecordLiteral {
9648
+ @override
9649
+ Token leftParenthesis;
9650
+
9651
+ /// The syntactic elements used to compute the fields of the record.
9652
+ final NodeListImpl <Expression > _fields = NodeListImpl ._();
9653
+
9654
+ @override
9655
+ Token rightParenthesis;
9656
+
9657
+ /// Initialize a newly created record literal.
9658
+ RecordLiteralImpl (
9659
+ {required this .leftParenthesis,
9660
+ required List <Expression > fields,
9661
+ required this .rightParenthesis}) {
9662
+ _fields._initialize (this , fields);
9663
+ }
9664
+
9665
+ @override
9666
+ Token get beginToken => leftParenthesis;
9667
+
9668
+ @override
9669
+ Token get endToken => rightParenthesis;
9670
+
9671
+ @override
9672
+ NodeList <Expression > get fields => _fields;
9673
+
9674
+ @override
9675
+ // TODO(paulberry): add commas.
9676
+ ChildEntities get _childEntities => super ._childEntities
9677
+ ..addToken ('leftParenthesis' , leftParenthesis)
9678
+ ..addNodeList ('fields' , fields)
9679
+ ..addToken ('rightParenthesis' , rightParenthesis);
9680
+
9681
+ @override
9682
+ E ? accept <E >(AstVisitor <E > visitor) {
9683
+ // TODO: implement accept
9684
+ throw UnimplementedError ();
9685
+ // visitor.visitRecordLiteral(this);
9686
+ }
9687
+
9688
+ @override
9689
+ void resolveExpression (ResolverVisitor resolver, DartType ? contextType) {
9690
+ // TODO: implement resolveExpression
9691
+ throw UnimplementedError ();
9692
+ // resolver.visitRecordLiteral(this, contextType: contextType);
9693
+ }
9694
+
9695
+ @override
9696
+ void visitChildren (AstVisitor visitor) {
9697
+ _fields.accept (visitor);
9698
+ }
9699
+ }
9700
+
9647
9701
/// The invocation of a constructor in the same class from within a
9648
9702
/// constructor's initialization list.
9649
9703
///
0 commit comments