-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Make generated Interop classes public #192
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
Conversation
This is consistent with all other generated classes. Signed-off-by: Stefan Marr <git@stefan-marr.de>
I do rely on the classes being non-public in my HTML/Java codebase. All the implementation classes are non-public and I certainly don't want the annotation processor to generate anything public in my case. Some kind of hint or configuration is needed to support both scenarios, in my opinion. |
The current behavior is inconsistent compared to the other annotation processors, so Truffle itself already sets another expectation. (Note also that I only made the classes public that need to be accessible, there are true implementation classes that are not made public.) |
@jtulach This is unreasonable. It's generated code, there is no point to see that in documentation or ever be checked-in in a repository. It should be made convenient, like the DSL generated nodes. |
One compromise could be to generate a package-private class if the source class is package-private. |
Sounds reasonable to me. |
@jtulach why do you generate JavaDoc for generated code? There aren't any comments anyway? |
Good start: pkg prvt leads to pkg prvt gen classes.otherwise gen publici |
Warning: some required labels were not added by the current assignee @grimmerm. In a normal review process, the assignee is responsible for adding labels to the pull request. Contentious labels: |
…master * commit 'fffe60032dd9ed1ffa69b14548be2e7c6ec94705': Use targets and capabilities in the hocon file. Deploy binaries on post-merge.
I think this one was resolved. |
The classes generated by the other DSL processors are public.
This change makes the Interop DSL consistent with that and avoids requiring strange workarounds or putting undesirable restrictions on how to divide code into packages.