@@ -171,8 +171,8 @@ private async Task<CSharpSyntaxNode> ConvertQueryWithContinuationsAsync(Queue<(S
171171 SyntaxFactory . IdentifierName ( reusableCsFromId ) ;
172172 selectOrGroup = SyntaxFactory . GroupClause ( identifierNameSyntax , await GetGroupExpressionAsync ( gcs ) ) ;
173173 } else {
174- var item = ( CSSyntax . IdentifierNameSyntax ) await gcs . Items . Single ( ) . Expression . AcceptAsync ( _triviaConvertingVisitor ) ;
175- var keyExpression = ( CSSyntax . ExpressionSyntax ) await gcs . Keys . Single ( ) . Expression . AcceptAsync ( _triviaConvertingVisitor ) ;
174+ var item = await gcs . Items . Single ( ) . Expression . AcceptAsync < CSSyntax . IdentifierNameSyntax > ( _triviaConvertingVisitor ) ;
175+ var keyExpression = await gcs . Keys . Single ( ) . Expression . AcceptAsync < CSSyntax . ExpressionSyntax > ( _triviaConvertingVisitor ) ;
176176 selectOrGroup = SyntaxFactory . GroupClause ( item , keyExpression ) ;
177177 }
178178 queryContinuation = nestedClause != null ? CreateGroupByContinuation ( gcs , continuationClauses , nestedClause ) : null ;
@@ -201,11 +201,11 @@ private CSSyntax.QueryContinuationSyntax CreateGroupByContinuation(VBSyntax.Grou
201201 case VBSyntax . DistinctClauseSyntax _:
202202 return Enumerable . Empty < CSSyntax . ExpressionSyntax > ( ) ;
203203 case VBSyntax . PartitionClauseSyntax pcs :
204- return new [ ] { ( CSSyntax . ExpressionSyntax ) await pcs . Count . AcceptAsync ( _triviaConvertingVisitor ) } ;
204+ return new [ ] { await pcs . Count . AcceptAsync < CSSyntax . ExpressionSyntax > ( _triviaConvertingVisitor ) } ;
205205 case VBSyntax . PartitionWhileClauseSyntax pwcs : {
206206 var lambdaParam = SyntaxFactory . Parameter ( reusableCsFromId ) ;
207- var lambdaBody = ( CSSyntax . ExpressionSyntax ) await pwcs . Condition . AcceptAsync ( _triviaConvertingVisitor ) ;
208- return new [ ] { ( CSSyntax . ExpressionSyntax ) SyntaxFactory . SimpleLambdaExpression ( lambdaParam , lambdaBody ) } ;
207+ var lambdaBody = await pwcs . Condition . AcceptAsync < CSSyntax . ExpressionSyntax > ( _triviaConvertingVisitor ) ;
208+ return new CSSyntax . ExpressionSyntax [ ] { SyntaxFactory . SimpleLambdaExpression ( lambdaParam , lambdaBody ) } ;
209209 }
210210 default :
211211 throw new ArgumentOutOfRangeException ( nameof ( linqQuery ) , linqQuery . Kind ( ) , null ) ;
@@ -242,7 +242,7 @@ private static bool RequiredContinuation(VBSyntax.QueryClauseSyntax queryClauseS
242242 private async Task < CSSyntax . FromClauseSyntax > ConvertFromClauseSyntaxAsync ( VBSyntax . FromClauseSyntax vbFromClause )
243243 {
244244 var collectionRangeVariableSyntax = vbFromClause . Variables . Single ( ) ;
245- var expression = ( CSSyntax . ExpressionSyntax ) await collectionRangeVariableSyntax . Expression . AcceptAsync ( _triviaConvertingVisitor ) ;
245+ var expression = await collectionRangeVariableSyntax . Expression . AcceptAsync < CSSyntax . ExpressionSyntax > ( _triviaConvertingVisitor ) ;
246246 var parentOperation = _semanticModel . GetOperation ( collectionRangeVariableSyntax . Expression ) ? . Parent ;
247247 if ( parentOperation != null && parentOperation . IsImplicit && parentOperation is IInvocationOperation io &&
248248 io . TargetMethod . MethodKind == MethodKind . ReducedExtension && io . TargetMethod . Name == nameof ( Enumerable . AsEnumerable ) ) {
@@ -259,15 +259,15 @@ private static bool RequiredContinuation(VBSyntax.QueryClauseSyntax queryClauseS
259259 var collectionRangeVariableSyntax = vbAggClause . Variables . Single ( ) ;
260260 var fromClauseSyntax = SyntaxFactory . FromClause (
261261 CommonConversions . ConvertIdentifier ( collectionRangeVariableSyntax . Identifier . Identifier ) ,
262- ( CSSyntax . ExpressionSyntax ) await collectionRangeVariableSyntax . Expression . AcceptAsync ( _triviaConvertingVisitor ) ) ;
262+ await collectionRangeVariableSyntax . Expression . AcceptAsync < CSSyntax . ExpressionSyntax > ( _triviaConvertingVisitor ) ) ;
263263 return fromClauseSyntax ;
264264 }
265265
266266 private async Task < CSSyntax . SelectClauseSyntax > ConvertSelectClauseSyntaxAsync ( VBSyntax . SelectClauseSyntax vbSelectClause )
267267 {
268268 var selectedVariables = await vbSelectClause . Variables . SelectAsync ( async v => {
269- var nameEquals = ( CSSyntax . NameEqualsSyntax ) await v . NameEquals . AcceptAsync ( _triviaConvertingVisitor ) ;
270- var expression = ( CSSyntax . ExpressionSyntax ) await v . Expression . AcceptAsync ( _triviaConvertingVisitor ) ;
269+ var nameEquals = await v . NameEquals . AcceptAsync < CSSyntax . NameEqualsSyntax > ( _triviaConvertingVisitor ) ;
270+ var expression = await v . Expression . AcceptAsync < CSSyntax . ExpressionSyntax > ( _triviaConvertingVisitor ) ;
271271 return SyntaxFactory . AnonymousObjectMemberDeclarator ( nameEquals , expression ) ;
272272 } ) ;
273273
@@ -302,7 +302,7 @@ private static CSSyntax.SelectClauseSyntax CreateDefaultSelectClause(SyntaxToken
302302
303303 private async Task < CSSyntax . ExpressionSyntax > GetGroupExpressionAsync ( VBSyntax . GroupByClauseSyntax gs )
304304 {
305- var groupExpressions = ( await gs . Keys . SelectAsync ( async k => ( vb : k . Expression , cs : ( CSSyntax . ExpressionSyntax ) await k . Expression . AcceptAsync ( _triviaConvertingVisitor ) ) ) ) . ToList ( ) ;
305+ var groupExpressions = ( await gs . Keys . SelectAsync ( async k => ( vb : k . Expression , cs : await k . Expression . AcceptAsync < CSSyntax . ExpressionSyntax > ( _triviaConvertingVisitor ) ) ) ) . ToList ( ) ;
306306 return ( groupExpressions . Count == 1 ) ? groupExpressions . Single ( ) . cs : CreateAnonymousType ( groupExpressions ) ;
307307 }
308308
@@ -334,13 +334,14 @@ private IEnumerable<string> GetGroupKeyIdentifiers(VBSyntax.GroupByClauseSyntax
334334
335335 private async Task < CSSyntax . QueryClauseSyntax > ConvertWhereClauseAsync ( VBSyntax . WhereClauseSyntax ws )
336336 {
337- return SyntaxFactory . WhereClause ( ( CSSyntax . ExpressionSyntax ) await ws . Condition . AcceptAsync ( _triviaConvertingVisitor ) ) ;
337+ return SyntaxFactory . WhereClause ( await ws . Condition . AcceptAsync < CSSyntax . ExpressionSyntax > ( _triviaConvertingVisitor ) ) ;
338338 }
339339
340340 private async Task < CSSyntax . QueryClauseSyntax > ConvertLetClauseAsync ( VBSyntax . LetClauseSyntax ls )
341341 {
342342 var singleVariable = ls . Variables . Single ( ) ;
343- return SyntaxFactory . LetClause ( CommonConversions . ConvertIdentifier ( singleVariable . NameEquals . Identifier . Identifier ) , await singleVariable . Expression . AcceptAsync < CSSyntax . ExpressionSyntax > ( _triviaConvertingVisitor ) ) ;
343+ var identifier = CommonConversions . ConvertIdentifier ( singleVariable . NameEquals . Identifier . Identifier ) ;
344+ return SyntaxFactory . LetClause ( identifier , await singleVariable . Expression . AcceptAsync < CSSyntax . ExpressionSyntax > ( _triviaConvertingVisitor ) ) ;
344345 }
345346
346347 private async Task < CSSyntax . QueryClauseSyntax > ConvertOrderByClauseAsync ( VBSyntax . OrderByClauseSyntax os )
0 commit comments