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

File annotations should be copied to ClassBinarySignature #163

Open
dovchinnikov opened this issue Jan 8, 2024 · 4 comments
Open

File annotations should be copied to ClassBinarySignature #163

dovchinnikov opened this issue Jan 8, 2024 · 4 comments
Labels

Comments

@dovchinnikov
Copy link

dovchinnikov commented Jan 8, 2024

Without this, file annotations are not considered when filtering the classes with non-public markers. Please find the reproducer in the attached pull request.

dovchinnikov added a commit to dovchinnikov/binary-compatibility-validator that referenced this issue Jan 8, 2024
@fzhinkin
Copy link
Collaborator

fzhinkin commented Jan 9, 2024

File-targeting annotations (@file:..) seem to be only emitted for file-facade classes, and in all other cases, they are just lost.

If a file contains top-level declarations and has some @file-annotation registered as a non-public marker, a facade class generated to hold these declarations will be filtered out from the dump.

@dovchinnikov
Copy link
Author

I understand how it behaves at the moment.

I'm arguing that non-public marker on file-level should affect the whole file, including types defined in the file.

@fzhinkin
Copy link
Collaborator

fzhinkin commented Jan 9, 2024

I mean, there's no info about such an annotation (except the file-facade case), so there's nothing we can do on the BCV side at the moment.
Trying to figure out how @file-annotations are supposed to work (and if they are supposed to work the way they do).

@fzhinkin
Copy link
Collaborator

Corresponding YT issue: https://youtrack.jetbrains.com/issue/KT-64981

@fzhinkin fzhinkin added the jvm label Apr 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants