Skip to content

feat(jdk-codemodel): parse module-info.java and model JPMS directives#21

Merged
deer merged 1 commit intomainfrom
module_descriptor
Apr 10, 2026
Merged

feat(jdk-codemodel): parse module-info.java and model JPMS directives#21
deer merged 1 commit intomainfrom
module_descriptor

Conversation

@deer
Copy link
Copy Markdown
Collaborator

@deer deer commented Apr 10, 2026

JdkInitializer now visits ModuleTree compilation units in addition to ClassTree. All JPMS directives are captured as traits on ModuleDescriptor:

  • ExportsDescriptorexports (qualified and unqualified)
  • OpensDescriptoropens (qualified and unqualified)
  • ProvidesDescriptorprovides ... with ... (service type + implementations as TypeUsage)
  • UsesDescriptoruses (service type as TypeUsage)
  • RequiresModifierTRANSITIVE/STATIC qualifiers on RequiresModuleDescriptor
  • OpenModule — marker for open module

All new traits are lightweight records in jdk-codemodel. RequiresModifier is jdk-specific and lives there rather than in codemodel-foundation.

@deer deer merged commit 56f6f5d into main Apr 10, 2026
1 check passed
@deer deer deleted the module_descriptor branch April 10, 2026 10:19
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.

1 participant