Skip to content
This repository has been archived by the owner on Jul 29, 2024. It is now read-only.

petr590/Yava

Repository files navigation

JDecompiler-java

This is a Java decompiler that I've been doing since the beginning of 2022 (intermittently). Writing it in C++ turned out to be a mistake, so I moved it to Java. Maybe I'll finish it someday, but I need to add a more functionality.

Not implemented:

  • for(E e : arr)
  • Jar support

Partially implemented:

  • finally
  • switch
  • break/continue
  • Reading Java assembly code

Implemented:

  • A system of primitive types (the type of a variable is determined by its use)
  • Call via super
  • Annotations
  • if/else
  • for(;;)
  • while
  • Ternary operator
  • Operators && and ||
  • Individual variables
  • Generics
  • Lambdas
  • try/catch
  • sealed classes
  • records

Implemented features:

  • Selection of variable names
  • Ability to omit this and the current class
  • Declaration of fields separated by commas
  • Variable names from LocalVariableTable
  • Recognition of constants in the current class, as well as standard constants (Math.PI, Double.NaN, etc.)
  • Annotation @Override

Used libraries:

Releases

No releases published

Packages

No packages published

Languages