Washi1337 / OldRod

An automated KoiVM disassembler and devirtualisation utility
GNU General Public License v3.0
345 stars 80 forks source link

Exception handlers of type `filter` are not supported. #53

Open ElektroKill opened 2 years ago

ElektroKill commented 2 years ago

Describe the bug Devirtualization of any method containing a filter region will leed to an exception.

To Reproduce Attempt to devirtualize the following sample: filter-handler-sample.zip

Screenshots Using code from https://github.com/Washi1337/OldRod/tree/a8dfa553769f5fcef3c5f2338242fa1561525acd image

After applying changes in #54: image

Washi1337 commented 2 years ago

Recompilation should work now with latest commit, but nesting EHs inside handler blocks can still screw up some of the CFG building due to some very rudimentary handler boundary detection.

I'll keep this open as a tracking issue.