yWorks / yGuard

The open-source Java obfuscation tool working with Ant and Gradle by yWorks - the diagramming experts

Home Page:https://yworks.github.io/yGuard/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Update yGuard to work with Java 15

thomasbehr opened this issue · comments

  • Check if Java 15's javac produces invokeconstant byte code instructions for plain Java source code.
    (If yes, postpone until #86 is done.)
  • Check if there are invokeconstant byte code instructions in Java 15's runtime library.
    (If yes, postpone until #86 is done.)
  • Check if ASM supports Java 15 byte code. (If no, update ASM.)
  • Increase the class file version supported by yGuard.

It is not necessary to support Java 15 preview features such as records or sealed class as part of this issue.

See Oracle's Java 15 announcement for all new features.

Hello can you please assign me this issue I can take care of it.

What about Java 17?

I am currently investigating the first point of this issue. I do believe that javac will not create CONSTANT_Dynamic byte code instructions when compiling Java source code, since there are not such instructions in the runtime libraries of Java 15, 16, and 17. If I am right, all that is left to do is updating ASM and increasing the supported class file version. In short, Java 15 support will be ready soon.

Supporting Java 16 and Java 17 on the other hand, will require a bit more implementation work due to new language features (records and sealed classes). While we do plan to support Java 16 and Java 17, I do not know yet how much work this will be and thus how long it will take.