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

☂️ Support parsing javadocs and remove doclet backend #1079

Open
4 tasks
HosseinYousefi opened this issue Apr 8, 2024 · 0 comments
Open
4 tasks

☂️ Support parsing javadocs and remove doclet backend #1079

HosseinYousefi opened this issue Apr 8, 2024 · 0 comments

Comments

@HosseinYousefi
Copy link
Member

HosseinYousefi commented Apr 8, 2024

Rationale

Problems with doclet:

  • Inability to parse partial sources
  • Not the source of truth. Java might perform certain transformations, meaning that we don't have the full picture when parsing the source and will have to replicate those transformations in jnigen. Because at the end of the day, what matters for the correctness of a JNI program is the bytecode and not the source.
  • Cannot be used for Kotlin. So we'll have to create another solution for Kotlin as well.
  • We don't always have access to the sources. Or "complete" sources.
  • Having to maintain two (or more for Kotlin) parsers is an engineering overhead.

The only real benefit of using doclet is to get the names of the arguments and the java doc for Java sources when they are available. But javadoc is almost always available.

Solution

@HosseinYousefi HosseinYousefi added this to the JNI / JNIgen 0.10.0 milestone Apr 8, 2024
@HosseinYousefi HosseinYousefi self-assigned this Apr 8, 2024
@HosseinYousefi HosseinYousefi mentioned this issue May 22, 2024
6 tasks
@HosseinYousefi HosseinYousefi changed the title Support parsing javadocs and remove doclet backend ☂️ Support parsing javadocs and remove doclet backend May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

No branches or pull requests

1 participant