Fix ParentFlags propagating in TryEmitNewExpression #493
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Sorry, I tried fixing one NewExpression issue and it snowballed a bit.
I'm not sure how exactly ParentFlags is supposed to be used, and therefore unsure if my fix is right. However,
TryEmitMethodCalldoes not propagate any flags to its arguments, so it makes sense thatTryEmitNewExpressionshouldn't do that either. The rest of the changes inTryEmitNewExpressionis just handling of InstanceAccess and IgnoresResult parent flags.The removed
| ParentFlags.Ctorat 5084 seemed just like alternative solution for issue 333, which is now handled by not propagating InstanceAccess flag to constructor arguments.If you don't like this, feel free to point out any problems or just cherrypick the new unit tests (it's a separate commit) and fix them differently.
AI disclaimer: the unit tests were written with AI assistance (and I at least read all of it)