Vineflower / vineflower

Modern Java decompiler aiming to be as accurate as possible, with an emphasis on output quality. Fork of the Fernflower decompiler.
https://vineflower.org/
Apache License 2.0
1.24k stars 88 forks source link

Record pattern matching #368

Closed jaskarth closed 1 month ago

jaskarth commented 5 months ago

This PR implements record pattern matching for Vineflower. In order to implement this feature properly, I introduce a new option to switch out the try duplication strategy. Previously the decompiler would insert trampolines, but duplicating the handler is now preferred.

Currently still a WIP.

github-actions[bot] commented 5 months ago

Test Results

   18 files  ± 0     18 suites  ±0   1m 4s :stopwatch: -1s 1 925 tests + 5  1 924 :white_check_mark: + 5  1 :zzz: ±0  0 :x: ±0  2 546 runs  +10  2 544 :white_check_mark: +10  2 :zzz: ±0  0 :x: ±0 

Results for commit af7f6561. ± Comparison against base commit 7092900d.

:recycle: This comment has been updated with latest results.