Checkpoint: Correctly propagate argument modification data through second pass static analysis
Checkpoint
Checkpoint: Remove complex function argument analysis from IsCopyNeeded.
Introduce post-optimization stage for struct assignments that strips out copies when possible
Checkpoint
Improved decision-making and logging for post-optimized copies.
Fix various issues with nullable handling in the static analyzer
Fix static analysis sometimes failing to flag the this-reference as modified
Refactor some reference stripping logic
Fix ActualType of nullable.get_Value
Treat variables inside invocation expressions as if they have already had dependencies resolved in struct assignment post-optimization
Move struct ctor invocation fixup before first use of static analysis so that variables are not erroneously flagged as modified