Result in syntax error when serializing instanceof {expression}
#104
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.
Hello, I noticed that when serializing any
instanceof
with the result being an expression fails.For example, code that fails is:
Practical example:
This type of code gets compiled into:
Basically, it seems like the serializable closure takes the last class that it replaced/imported the full namespace for, and puts it after the
instanceof
and before the expression, thus resulting in this syntax error:$this instanceof \Foo\Bar (...)
.I first added a failing test to identify it. Then I looked into if I could pinpoint the issue, but unfortunately I did not find it myself. If someone with good knowledge of this could pinpoint me to the correct place where to make the fix would be awesome. Also, feel free to take over the PR.
Thanks!