@@ -381,12 +381,16 @@ public SubmissionSemantics VisitSubmission(SubmissionSyntax node)
381381
382382 public override DeclarationSubmissionSemantics VisitDeclarationSubmission ( DeclarationSubmissionSyntax node )
383383 {
384- return new ( node , VisitDeclaration ( node . Declaration ) ) ;
384+ var decl = VisitDeclaration ( node . Declaration ) ;
385+
386+ return new ( node , decl ) ;
385387 }
386388
387389 public override StatementSubmissionSemantics VisitStatementSubmission ( StatementSubmissionSyntax node )
388390 {
389- return new ( node , VisitStatement ( node . Statement ) ) ;
391+ var stmt = VisitStatement ( node . Statement ) ;
392+
393+ return new ( node , stmt ) ;
390394 }
391395
392396 // Declarations
@@ -580,26 +584,30 @@ public override ModuleExpressionSemantics VisitModuleExpression(ModuleExpression
580584 public override AggregateExpressionFieldSemantics VisitAggregateExpressionField (
581585 AggregateExpressionFieldSyntax node )
582586 {
583- return new ( node , VisitExpression ( node . Value ) ) ;
587+ var field = VisitExpression ( node . Value ) ;
588+
589+ return new ( node , field ) ;
584590 }
585591
586592 public override RecordExpressionSemantics VisitRecordExpression ( RecordExpressionSyntax node )
587593 {
594+ var with = node. With ? . Operand is { } w ? VisitExpression ( w ) : null ;
588595 var fields = ConvertList ( node . Fields , static ( @this , field ) => @this . VisitAggregateExpressionField ( field ) ) ;
596+ var meta = node . Meta ? . Operand is { } m ? VisitExpression ( m ) : null ;
589597
590598 CheckDuplicateFields ( fields , static field => field . Syntax . NameToken , "Record" , "assigned" ) ;
591599
592- return new ( node , node . With ? . Operand is { } with ? VisitExpression ( with ) : null , fields ) ;
600+ return new ( node , with , fields , meta ) ;
593601 }
594602
595603 public override ErrorExpressionSemantics VisitErrorExpression ( ErrorExpressionSyntax node )
596604 {
597- var fields = ConvertList (
598- node . Fields , static ( @this , field ) => @this . VisitAggregateExpressionField ( field ) ) ;
605+ var with = node . With ? . Operand is { } w ? VisitExpression ( w ) : null ;
606+ var fields = ConvertList ( node . Fields , static ( @this , field ) => @this . VisitAggregateExpressionField ( field ) ) ;
599607
600608 CheckDuplicateFields ( fields , static field => field . Syntax . NameToken , "Error" , "assigned" ) ;
601609
602- return new ( node , node . With ? . Operand is { } with ? VisitExpression ( with ) : null , fields ) ;
610+ return new ( node , with , fields ) ;
603611 }
604612
605613 public override TupleExpressionSemantics VisitTupleExpression ( TupleExpressionSyntax node )
@@ -982,7 +990,9 @@ public override BreakExpressionSemantics VisitBreakExpression(BreakExpressionSyn
982990 public override ParenthesizedExpressionSemantics VisitParenthesizedExpression (
983991 ParenthesizedExpressionSyntax node )
984992 {
985- return new ( node , VisitExpression ( node . Expression ) ) ;
993+ var expr = VisitExpression ( node . Expression ) ;
994+
995+ return new ( node , expr ) ;
986996 }
987997
988998 public override BlockExpressionSemantics VisitBlockExpression ( BlockExpressionSyntax node )
@@ -1065,6 +1075,13 @@ public override ThisExpressionSemantics VisitThisExpression(ThisExpressionSyntax
10651075 return sema ;
10661076 }
10671077
1078+ public override MetaExpressionSemantics VisitMetaExpression ( MetaExpressionSyntax node )
1079+ {
1080+ var oper = VisitExpression ( node . Operand ) ;
1081+
1082+ return new ( node , oper ) ;
1083+ }
1084+
10681085 public override AssignmentExpressionSemantics VisitAssignmentExpression ( AssignmentExpressionSyntax node )
10691086 {
10701087 var left = VisitExpression ( node . LeftOperand ) ;
@@ -1101,7 +1118,9 @@ public override AssignmentExpressionSemantics VisitAssignmentExpression(Assignme
11011118
11021119 public override FieldExpressionSemantics VisitFieldExpression ( FieldExpressionSyntax node )
11031120 {
1104- return new ( node , VisitExpression ( node . Subject ) ) ;
1121+ var subject = VisitExpression ( node . Subject ) ;
1122+
1123+ return new ( node , subject ) ;
11051124 }
11061125
11071126 public override IndexExpressionSemantics VisitIndexExpression ( IndexExpressionSyntax node )
0 commit comments