2121namespace Microsoft . CodeAnalysis . UseNullPropagation ;
2222
2323internal abstract class AbstractUseNullPropagationCodeFixProvider <
24+ TAnalyzer ,
2425 TSyntaxKind ,
2526 TExpressionSyntax ,
2627 TStatementSyntax ,
@@ -34,6 +35,11 @@ internal abstract class AbstractUseNullPropagationCodeFixProvider<
3435 TIfStatementSyntax ,
3536 TExpressionStatementSyntax ,
3637 TElementBindingArgumentListSyntax > : ForkingSyntaxEditorBasedCodeFixProvider < SyntaxNode >
38+ where TAnalyzer : AbstractUseNullPropagationDiagnosticAnalyzer <
39+ TSyntaxKind , TExpressionSyntax , TStatementSyntax ,
40+ TConditionalExpressionSyntax , TBinaryExpressionSyntax , TInvocationExpressionSyntax ,
41+ TConditionalAccessExpressionSyntax , TElementAccessExpressionSyntax , TMemberAccessExpressionSyntax ,
42+ TIfStatementSyntax , TExpressionStatementSyntax >
3743 where TSyntaxKind : struct
3844 where TExpressionSyntax : SyntaxNode
3945 where TStatementSyntax : SyntaxNode
@@ -51,11 +57,7 @@ internal abstract class AbstractUseNullPropagationCodeFixProvider<
5157 protected abstract SyntaxNode PostProcessElseIf ( TIfStatementSyntax ifStatement , TStatementSyntax newWhenTrueStatement ) ;
5258 protected abstract TElementBindingExpressionSyntax ElementBindingExpression ( TElementBindingArgumentListSyntax argumentList ) ;
5359
54- protected abstract AbstractUseNullPropagationDiagnosticAnalyzer <
55- TSyntaxKind , TExpressionSyntax , TStatementSyntax ,
56- TConditionalExpressionSyntax , TBinaryExpressionSyntax , TInvocationExpressionSyntax ,
57- TConditionalAccessExpressionSyntax , TElementAccessExpressionSyntax , TMemberAccessExpressionSyntax ,
58- TIfStatementSyntax , TExpressionStatementSyntax > Analyzer { get ; }
60+ protected abstract TAnalyzer Analyzer { get ; }
5961
6062 public override ImmutableArray < string > FixableDiagnosticIds
6163 => [ IDEDiagnosticIds . UseNullPropagationDiagnosticId ] ;
0 commit comments