ElektroKill
f9c7b6b66e
Extend EliminateRedundantTryFinally in ReduceNestingTransform
2023-05-13 12:17:13 +02:00
Daniel Grunwald
17d323c943
Fix #2557 : Remove incorrect assertion from ReduceNestingTransform
...
ILFunctions can appear as statements when the source code has a lambda expression which is immediately discarded.
```
_ = (Action)delegate { ... };
```
2021-11-22 23:13:14 +01:00
Daniel Grunwald
685a79dc31
DetectExitPoints: introduce exit points for loops+switch
...
This allows reverting the changes to HighLevelLoopTransform+ReduceNestingTransform from the previous commit, which fixes a bug in loop detection (the previous commit did not handle loops where the loop BlockContainer didn't have a Block as parent).
2021-06-03 16:53:56 +02:00
Daniel Grunwald
6757295b3b
Fix #2379 : Keep return statements around in original form for ConditionDetection, only transform to fall-through block-exit at the end of the transform pipeline.
...
This fixes an issue where `return` statements within try-blocks could turn into `goto` statements.
2021-06-02 22:40:28 +02:00
dotnet format
0d9f871a4f
#2128 : Reformat the whole code base.
2020-08-28 01:05:38 +02:00
Daniel Grunwald
417a2c3391
Revert the InvertIf change; it causes too many issues for the following transforms.
2020-07-11 23:11:24 +02:00
Daniel Grunwald
e083d43fb9
Fix ReduceNestingTransform
2020-07-11 23:09:25 +02:00
Chicken-Bones
da905acc6d
Fix logic error in last commit, and ignore fault clauses in ReduceNestingTransform
2020-06-11 22:23:32 +10:00
Chicken-Bones
abd9af29c6
Fix failed assertion when encountering a finally block with an unreachable endpoint in ReduceNestingTransform.
2020-06-09 20:28:53 +10:00
Chicken-Bones
e0e26a0e77
Fix ReduceNestingTransform when extracting default block of switch in a try container
2020-06-09 19:55:34 +10:00
Chicken-Bones
22243de7b0
Improve ReduceNestingTransform by considering nested containers (Try/Using/Lock/Pinned/etc)
2019-12-29 18:17:36 +10:00
Jane Doe
180280cc2d
agressive -> aggressive
2019-10-13 07:39:51 -07:00
Daniel Grunwald
6c0216bbb9
Fix assertion in ReduceNestingTransform: after copying the exitInst, it was possible that the old copy of the exitInst became unreachable.
2019-07-26 17:14:12 +02:00
Daniel Grunwald
ed5d71b365
Fix #1537 : KeyNotFoundException in ReduceNestingTransform.ReduceSwitchNesting()
2019-07-13 22:38:59 +02:00
Daniel Grunwald
877780beb5
Fix ReduceNestingTransform bug introduced in commit 7f27768ff9
2019-06-08 21:29:24 +02:00
Daniel Grunwald
7f27768ff9
Fix #1391 , #1393 , #1458 : Fix ReduceNestingTransform modifying the Blocks collection while iterating over it.
2019-06-08 19:16:31 +02:00
Siegfried Pammer
c1fca21e8a
Make ILRange field private - introduce public API for IL range manipulation.
2019-02-16 20:36:17 +01:00
Daniel Grunwald
da5693e605
Fix #1339 : fixed statement not decompiled correctly when pinned variable is reset in finally block
2019-02-15 18:36:45 +01:00
Chicken-Bones
ab9397d099
Add ReduceNestingTransform
2018-10-08 21:21:56 +10:00