For information, JD supports switch(enum), switch(string), assert statements and for-each loops.
About the -g(javac) options,
- if you omit the line numbers, JD can
not reconstruct the original flow of
instructions : the types of loop can
not be determinate, the multiple
assigments can not be regenerate, and
the algorithm used to realign source
code can not work.
- if you omit the
local variable data, JD can not,
sometime, determine the exact range
of variables. It's problematic.