@@ -112,34 +112,34 @@ public ExpressionSyntaxRewriter(INamedTypeSymbol targetTypeSymbol, NullCondition
112112
113113 public override SyntaxNode ? VisitMemberBindingExpression ( MemberBindingExpressionSyntax node )
114114 {
115- if ( _conditionalAccessExpressionsStack . Count == 0 )
115+ if ( _conditionalAccessExpressionsStack . Count > 0 )
116116 {
117- throw new InvalidOperationException ( "Expected at least one conditional expression on the stack" ) ;
118- }
117+ var targetExpression = _conditionalAccessExpressionsStack . Pop ( ) ;
119118
120- var targetExpression = _conditionalAccessExpressionsStack . Pop ( ) ;
119+ return _nullConditionalRewriteSupport switch {
120+ NullConditionalRewriteSupport . Ignore => SyntaxFactory . MemberAccessExpression ( SyntaxKind . SimpleMemberAccessExpression , targetExpression , node . Name ) ,
121+ NullConditionalRewriteSupport . Rewrite => SyntaxFactory . MemberAccessExpression ( SyntaxKind . SimpleMemberAccessExpression , targetExpression , node . Name ) ,
122+ _ => node
123+ } ;
124+ }
121125
122- return _nullConditionalRewriteSupport switch {
123- NullConditionalRewriteSupport . Ignore => SyntaxFactory . MemberAccessExpression ( SyntaxKind . SimpleMemberAccessExpression , targetExpression , node . Name ) ,
124- NullConditionalRewriteSupport . Rewrite => SyntaxFactory . MemberAccessExpression ( SyntaxKind . SimpleMemberAccessExpression , targetExpression , node . Name ) ,
125- _ => node
126- } ;
126+ return base . VisitMemberBindingExpression ( node ) ;
127127 }
128128
129129 public override SyntaxNode ? VisitElementBindingExpression ( ElementBindingExpressionSyntax node )
130130 {
131- if ( _conditionalAccessExpressionsStack . Count == 0 )
131+ if ( _conditionalAccessExpressionsStack . Count > 0 )
132132 {
133- throw new InvalidOperationException ( "Expected at least one conditional expression on the stack" ) ;
134- }
133+ var targetExpression = _conditionalAccessExpressionsStack . Pop ( ) ;
135134
136- var targetExpression = _conditionalAccessExpressionsStack . Pop ( ) ;
135+ return _nullConditionalRewriteSupport switch {
136+ NullConditionalRewriteSupport . Ignore => SyntaxFactory . ElementAccessExpression ( targetExpression , node . ArgumentList ) ,
137+ NullConditionalRewriteSupport . Rewrite => SyntaxFactory . ElementAccessExpression ( targetExpression , node . ArgumentList ) ,
138+ _ => Visit ( node )
139+ } ;
140+ }
137141
138- return _nullConditionalRewriteSupport switch {
139- NullConditionalRewriteSupport . Ignore => SyntaxFactory . ElementAccessExpression ( targetExpression , node . ArgumentList ) ,
140- NullConditionalRewriteSupport . Rewrite => SyntaxFactory . ElementAccessExpression ( targetExpression , node . ArgumentList ) ,
141- _ => Visit ( node )
142- } ;
142+ return base . VisitElementBindingExpression ( node ) ;
143143 }
144144
145145 public override SyntaxNode ? VisitThisExpression ( ThisExpressionSyntax node )
0 commit comments