Refactoring: Isolate handling of javalib methods with special bodies. #5173
+106
−73
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.
A number of methods from the javalib are special-cased by the compiler, which replaces their body with a dedicated
UnaryOp
orBinaryOp
.This commit refactors that handling to isolate it better from the handling of regular methods. We also make it a bit more flexible, so that we can more easily add further such methods in the future.
Extracted from several ongoing PRs. Comments from #5158:
46962c5#r2094545568
Mostly for convenience. I added a comment on the definition of
JavalibMethodsWithOpBody
.46962c5#r2094546049
I switched to an abstract method, but I'm not sure it's more readable.