Декомпилятор Java, который работает с Java 5 (помимо прочего, обрабатывает перечисления).

Я знаю, что этот вопрос задавали уже миллионы раз, но я специально ищу декомпилятор, который бы обрабатывал перечисления должным образом (потому что jar, который я декомпилирую, сильно использует перечисления). Я тестировал, что и JAD, и JD-GUI этого не делают.

Может ли кто-нибудь порекомендовать декомпилятор (в идеале, который работает под Linux и может легко обрабатывать всю банку, не требуя от меня написания сценариев оболочки)?

РЕДАКТИРОВАТЬ: В частности, у меня проблемы с такими конструкциями, как:

switch(myEnum) {
case A: ...
case B: ...
}

они декомпилируются (как для JAD, так и для JD-GUI) как что-то вроде:

switch ($SWITCH_TABLE$com$MyType()[myEnum.ordinal()]) {
case 1:
case 2:
}

где $ SWITCH_TABLE $ com $ MyType () либо вообще не объявляется, либо не компилируется.

8
задан Grzenio 24 October 2011 в 11:37
поделиться