I had a look on this one.
I think the issue comes from overlooking the Processor's OpCodes.Brtrue/Brtrue_S where the instruction is a LambdaExpression returning a bool.
Here is just a PR to show the solution I found for issue #135, but I'm not sure it is exhaustive or not.
Anyway it does not seem to introduce tests regression so far.
The first test's failure is expected due to difference between both expressions' debugView
The duplication ( x=>x.Active??x=>x.Active) happens because the decompiled lambda is changed after the decompilation. I've fixed this problem by caching them.
hi @hazzik
I had a look on this one. I think the issue comes from overlooking the Processor's
OpCodes.Brtrue/Brtrue_S
where the instruction is aLambdaExpression
returning a bool.Here is just a PR to show the solution I found for issue #135, but I'm not sure it is exhaustive or not. Anyway it does not seem to introduce tests regression so far.
The first test's failure is expected due to difference between both expressions' debugView