Skip to content

Commit cb7f14c

Browse files
committed
Fix handling of parameter symbols when looking for non-nullable JSON properties
1 parent fad69be commit cb7f14c

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

OpenStackNetAnalyzers/OpenStackNetAnalyzers/NonNullableJsonPropertyAnalyzer.cs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics
3232
public override void Initialize(AnalysisContext context)
3333
{
3434
context.RegisterSymbolAction(HandleField, SymbolKind.Field);
35-
context.RegisterSymbolAction(HandleParameter, SymbolKind.Parameter);
35+
context.RegisterSymbolAction(HandleMethod, SymbolKind.Method);
3636
context.RegisterSymbolAction(HandleProperty, SymbolKind.Property);
3737
}
3838

@@ -42,9 +42,18 @@ private void HandleField(SymbolAnalysisContext context)
4242
AnalyzeSymbol(context, symbol, symbol.Type);
4343
}
4444

45-
private void HandleParameter(SymbolAnalysisContext context)
45+
private void HandleMethod(SymbolAnalysisContext context)
46+
{
47+
IMethodSymbol symbol = (IMethodSymbol)context.Symbol;
48+
if (symbol.MethodKind != MethodKind.Constructor)
49+
return;
50+
51+
foreach (var parameter in symbol.Parameters)
52+
HandleParameter(context, parameter);
53+
}
54+
55+
private void HandleParameter(SymbolAnalysisContext context, IParameterSymbol symbol)
4656
{
47-
IParameterSymbol symbol = (IParameterSymbol)context.Symbol;
4857
AnalyzeSymbol(context, symbol, symbol.Type);
4958
}
5059

0 commit comments

Comments
 (0)