

- JAVA ONLINE COMPILER DRIVERS
- JAVA ONLINE COMPILER UPDATE
- JAVA ONLINE COMPILER FULL
- JAVA ONLINE COMPILER CODE


Handle basic integer (eg /0) control flow obfuscation.Handle dynamic descriptor mismatch obfuscation.Propagate bytecode location (in theory, this can be used to improve debugger support!).

Handle unusual static initialiser access.Handle malicious signatures causing stack overflow.Fix bug with inline assignment inside constructor prelude.Improvement for methodhandle LDCs ( thanks graxcode).Various improvements for ECJ specific patterns.
JAVA ONLINE COMPILER FULL
JAVA ONLINE COMPILER DRIVERS
JAVA ONLINE COMPILER CODE
The 1.6+ finally block, and code size blowup (come back JSR, all is forgiven.).Class constants in java 1.4 are initialised in an.Field initialisation and the ConstantValue attribute.Lambdas on instance methods also see getClass() introduced, in later Java 8s.and a bit about lambda serialisation boilerplate Inner classes have to fake friendship.Autoboxing is expanded for you by the compiler.How is Java 7's switch-on-string compiled?.or StringConcatFactory vs concatenation in java9+.
JAVA ONLINE COMPILER UPDATE
or just go to github to get master - ( release cadence).įeel free to drop me a line if there's anything you think is particularly broken, bear in mind it's a work in progress (but I'd say on a par with others!) - Or if you want to know when an update is out, I've finally started announcing on twitter - ( about syntactic sugar in compilation.Īll of this stuff is documented (links where I find them) these are things I found particularly interesting while messing around with this. (Feb 2021) (I suggest using latest, but if you spot a regression, it means I'm missing a test.To use, simply run the specific version jar, with the class name(s) you want to decompile (either as a path to a class file, or as a fully qualified classname on your classpath).Īlternately, to decompile an entire jar, simply provide the jar path, and if you want to emit files (which you probably do!) add -outputdir /tmp/putithere ( FAQ) - It'll even make a decent go of turning class files from other JVM languages back into java! :ĬFR will decompile modern Java features - up to and including much of Java 9, 12 & 14, but is written entirely in Java 6, so will work anywhere!
