@@ -21,7 +21,8 @@ public static bool IsFixableElementAt(
2121 if ( invocationExpression . IsParentKind ( SyntaxKind . ExpressionStatement ) )
2222 return false ;
2323
24- IMethodSymbol methodSymbol = semanticModel . GetReducedExtensionMethodInfo ( invocationExpression , cancellationToken ) . Symbol ;
24+ ExtensionMethodSymbolInfo reducedExtensionMethodInfo = semanticModel . GetReducedExtensionMethodInfo ( invocationExpression , cancellationToken ) ;
25+ IMethodSymbol methodSymbol = reducedExtensionMethodInfo . Symbol ;
2526
2627 if ( methodSymbol is null )
2728 return false ;
@@ -31,7 +32,7 @@ public static bool IsFixableElementAt(
3132
3233 ITypeSymbol typeSymbol = semanticModel . GetTypeSymbol ( invocationInfo . Expression , cancellationToken ) ;
3334
34- if ( ! HasAccessibleIndexer ( typeSymbol , semanticModel , invocationExpression . SpanStart ) )
35+ if ( ! HasAccessibleIndexer ( typeSymbol , reducedExtensionMethodInfo . ReducedSymbolOrSymbol . ReturnType , semanticModel , invocationExpression . SpanStart ) )
3536 return false ;
3637
3738 ElementAccessExpressionSyntax elementAccess = SyntaxFactory . ElementAccessExpression (
@@ -53,7 +54,8 @@ public static bool IsFixableFirst(
5354 if ( invocationInfo . InvocationExpression . IsParentKind ( SyntaxKind . ExpressionStatement ) )
5455 return false ;
5556
56- IMethodSymbol methodSymbol = semanticModel . GetReducedExtensionMethodInfo ( invocationInfo . InvocationExpression , cancellationToken ) . Symbol ;
57+ ExtensionMethodSymbolInfo reducedExtensionMethodInfo = semanticModel . GetReducedExtensionMethodInfo ( invocationInfo . InvocationExpression , cancellationToken ) ;
58+ IMethodSymbol methodSymbol = reducedExtensionMethodInfo . Symbol ;
5759
5860 if ( methodSymbol is null )
5961 return false ;
@@ -63,7 +65,7 @@ public static bool IsFixableFirst(
6365
6466 ITypeSymbol typeSymbol = semanticModel . GetTypeSymbol ( invocationInfo . Expression , cancellationToken ) ;
6567
66- return HasAccessibleIndexer ( typeSymbol , semanticModel , invocationInfo . InvocationExpression . SpanStart ) ;
68+ return HasAccessibleIndexer ( typeSymbol , reducedExtensionMethodInfo . ReducedSymbolOrSymbol . ReturnType , semanticModel , invocationInfo . InvocationExpression . SpanStart ) ;
6769 }
6870
6971 public static bool IsFixableLast (
@@ -80,7 +82,8 @@ public static bool IsFixableLast(
8082 if ( semanticModel . Compilation . GetTypeByMetadataName ( "System.Index" ) ? . DeclaredAccessibility != Accessibility . Public )
8183 return false ;
8284
83- IMethodSymbol methodSymbol = semanticModel . GetReducedExtensionMethodInfo ( invocationInfo . InvocationExpression , cancellationToken ) . Symbol ;
85+ ExtensionMethodSymbolInfo reducedExtensionMethodInfo = semanticModel . GetReducedExtensionMethodInfo ( invocationInfo . InvocationExpression , cancellationToken ) ;
86+ IMethodSymbol methodSymbol = reducedExtensionMethodInfo . Symbol ;
8487
8588 if ( methodSymbol is null )
8689 return false ;
@@ -90,7 +93,7 @@ public static bool IsFixableLast(
9093
9194 ITypeSymbol typeSymbol = semanticModel . GetTypeSymbol ( invocationInfo . Expression , cancellationToken ) ;
9295
93- return HasAccessibleIndexer ( typeSymbol , semanticModel , invocationInfo . InvocationExpression . SpanStart ) ;
96+ return HasAccessibleIndexer ( typeSymbol , reducedExtensionMethodInfo . ReducedSymbolOrSymbol . ReturnType , semanticModel , invocationInfo . InvocationExpression . SpanStart ) ;
9497 }
9598
9699 private static bool CheckInfiniteRecursion (
0 commit comments