@@ -337,7 +337,8 @@ bool HasWrongType(IParameterSymbol parameterSymbol, out Replacement<TypeSyntax>
337337 {
338338 // https://docs.microsoft.com/en-us/aspnet/core/fundamentals/routing?view=aspnetcore-2.2#route-constraint-reference
339339 if ( TryGetType ( constraint . Span , out var type ) &&
340- parameterSymbol . TrySingleDeclaration ( context . CancellationToken , out var parameter ) )
340+ parameterSymbol . TrySingleDeclaration ( context . CancellationToken , out var parameter ) &&
341+ parameter is { Type : { } } )
341342 {
342343 newType = new Replacement < TypeSyntax > (
343344 parameter . Type ,
@@ -351,7 +352,8 @@ bool HasWrongType(IParameterSymbol parameterSymbol, out Replacement<TypeSyntax>
351352 if ( constraint . Span . Equals ( "?" , StringComparison . Ordinal ) &&
352353 parameterSymbol . Type . IsValueType &&
353354 parameterSymbol . Type . OriginalDefinition . SpecialType != SpecialType . System_Nullable_T &&
354- parameterSymbol . TrySingleDeclaration ( context . CancellationToken , out parameter ) )
355+ parameterSymbol . TrySingleDeclaration ( context . CancellationToken , out parameter ) &&
356+ parameter is { Type : { } } )
355357 {
356358 newType = new Replacement < TypeSyntax > (
357359 parameter . Type ,
@@ -368,7 +370,8 @@ bool HasWrongType(IParameterSymbol parameterSymbol, out Replacement<TypeSyntax>
368370 parameterSymbol . Type . OriginalDefinition . SpecialType == SpecialType . System_Nullable_T &&
369371 parameterSymbol . Type is INamedTypeSymbol namedType &&
370372 namedType . TypeArguments . TrySingle ( out var typeArg ) &&
371- parameterSymbol . TrySingleDeclaration ( context . CancellationToken , out var parameter ) )
373+ parameterSymbol . TrySingleDeclaration ( context . CancellationToken , out var parameter ) &&
374+ parameter is { Type : { } } )
372375 {
373376 newType = new Replacement < TypeSyntax > (
374377 parameter . Type ,
0 commit comments