Files
Marc Schier 7b5fd1f534 Preserve nullable struct null-check semantics in UA0003 (#4039)
## Failure

UA0003 unwrapped `Nullable<T>` before classifying OPC UA built-in
structs. That
reported valid nullable `== null` and `!= null` checks and offered fixes
whose
`.IsNull` semantics differ from nullable-value absence.

## Fix

- Leave `System.Nullable<T>` comparisons unchanged.
- Continue reporting direct null comparisons on OPC UA structs.
- Add coverage for nullable `NodeId` and `LocalizedText` operand
orderings.

## Reference

- OPC UA .NET 2.0 migration semantics.
- Split from #4021.

## Tests

- `dotnet test
tests\Opc.Ua.MigrationAnalyzer.Tests\Opc.Ua.MigrationAnalyzer.Tests.csproj
-c Release -f net10.0 --nologo` (121 passed)
- `dotnet test
tests\Opc.Ua.MigrationAnalyzer.Tests\Opc.Ua.MigrationAnalyzer.Tests.csproj
-c Release -f net48 --nologo` (121 passed)

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-22 04:07:45 +02:00
..