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

Add support for jakarta #200

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

adossas-spdrm
Copy link

No description provided.

jerith666 and others added 3 commits April 25, 2024 14:35
analysis of code that's compiled with '-source 11' should work with
only one small caveat about dynamic constants.  analysis of code
that's compiled with '-source 23' should work so long as it doesn't
use records or sealed classes.

* update to asm 9.7, which supports low-level parsing of '-target 23'
  classfiles (opcodes)

* only update to ASM7 API, which corresponds to bytecode features
  available in '-target 11' classfiles.  (see backward-compatibility
  section of ASM's documentation for background.)

  * ASM6: module declarations (added in Java 9) are irrelevant for
    OpenAPI generation

  * ASM7:

    * nests (added in Java 11) are irrelevant for OpenAPI generation

    * dynamic constants (added in Java 11) may be relevant for OpenAPI
      generation.  The code in
      ProjectMethodVisitor.createLdcInstruction() may handle them
      already, but a test would be required to know for sure.

  * ASM8: records (Java 14) are not supported; the analyzer will very
    likely fail if it encounters such a construct in code being
    analyzed.  adding support for records would be considerable work.

  * ASM9: sealed classes (Java 15) are not supported; the analyzer
    will very likely fail if it encounters such a construct in code
    being analyzed.  sealed classes aren't relevant for OpenAPI
    generation, so once ASM8 / records are tackled, ASM9 should be
    trivial.

* code that used old-style reflection to access the signatures &
  modifiers of fields and methods is updated to use method handles
  instead.

this is based in large part on commit 88da5d9 from the finrod2002
fork.

Co-authored-by: Luca <[email protected]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants