12

IntelliJ incorporates Fernflower, a Java decompiler made by JetBrains.

On its GitHub page you can read the following:

Fernflower is the first actually working analytical decompiler for Java and probably for a high-level programming language in general.

What does this mean? What is an analytical decompiler? How does it differ from other types of decompilers?

Jasper Catthoor
  • 595
  • 1
  • 6
  • 22

1 Answers1

2

An analytical decompiler is one that analyzes compiled output and then figures out what source code would best match it, rather than trying to be the exact inverse of a traditional compiler. Sometimes this is necessary in case of optimizing compilers or obfuscated bytecode.

Dev
  • 152
  • 1
  • 9