Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update yGuard to work with Java 15 #108

Closed
thomasbehr opened this issue Sep 17, 2021 · 3 comments
Closed

Update yGuard to work with Java 15 #108

thomasbehr opened this issue Sep 17, 2021 · 3 comments
Labels
difficulty:beginner Tasks suited especially for beginners. No prior knowledge required. good first issue Good for newcomers Hacktoberfest Get hacking!

Comments

@thomasbehr
Copy link
Member

thomasbehr commented Sep 17, 2021

  • Check if Java 15's javac produces invokeconstant byte code instructions for plain Java source code.
    (If yes, postpone until Add support for invokeconstant #86 is done.)
  • Check if there are invokeconstant byte code instructions in Java 15's runtime library.
    (If yes, postpone until Add support for invokeconstant #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.

@thomasbehr thomasbehr added good first issue Good for newcomers Hacktoberfest Get hacking! difficulty:beginner Tasks suited especially for beginners. No prior knowledge required. labels Sep 17, 2021
@sgaurav37533
Copy link

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

@Vampire
Copy link
Contributor

Vampire commented Nov 2, 2021

What about Java 17?

@thomasbehr
Copy link
Member Author

thomasbehr commented Nov 3, 2021

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.

thomasbehr added a commit that referenced this issue Nov 4, 2021
@Fohlen Fohlen mentioned this issue Feb 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
difficulty:beginner Tasks suited especially for beginners. No prior knowledge required. good first issue Good for newcomers Hacktoberfest Get hacking!
Projects
None yet
Development

No branches or pull requests

3 participants