Open op2786 opened 5 days ago
I suspect this is just an example instance of https://github.com/Vector35/binaryninja-api/issues/3289 which is already planned for the next release. I'll link to it here but close this one as duplicate since I believe our current plan for that issue will resolve this as well.
My thought that you don't want to see this kind of thing even when its well formatted
bar(
bas(a, b, c),
d,
e)
f,
g)```
Imagine d,e,f,g are all long lines
I'd be much better to see.
```x1 = bas(a,b,c)
x2 = bar(x1,
d,
e)
x3 = foo(x2,
f,
g)```
This is a bit tricky to do though because during il generation you have to be worried about the length of symbols and variable names, which is ... annoying but we should do it anyway.
Additionally users will probably want the ability to control if/when we do intermediate variable elimination.
Version and Platform (required):
I frequently encounter long lines in decompilation of C++ binaries due to the aggressive inlining of function calls as parameters to other functions. This practice not only makes the code harder to read aesthetically, but it also complicates comprehension, as it becomes difficult to determine what one function returns when it is passed as a parameter to another function.
I believe that, aside from a few edge cases, this practice should generally be avoided.
This is likely not a bug and may be related to issue #3289.
Here is another perfect example:
BN:
IDA: