[4.2][CodeComplete] Strip out try and optional eval expr in operator completion #18245
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.
Cherry-pick of #18209 reviewed by @benlangmuir
foldSequence()
may hoist up try expression and optional-evaluation-expression by mutating their sub expression. When completing operators, this behavior ruins reusability of operand, and used to cause excessively nested expression which leads to stack overflow. Since these expression doesn't affect completion, strip them out beforehand so we can reuse operands. Also, this change contains fix for a regression introduced in earlier change where infix operator were disappeared from completion results when leading sequence contains AssignExpr.