-
Notifications
You must be signed in to change notification settings - Fork 63
Support module-info.class #1096
Copy link
Copy link
Closed
Labels
enhancementProposed change to current functionalityProposed change to current functionalitygeneratorIssues binding a Java library (generator, class-parse, etc.)Issues binding a Java library (generator, class-parse, etc.)
Metadata
Metadata
Assignees
Labels
enhancementProposed change to current functionalityProposed change to current functionalitygeneratorIssues binding a Java library (generator, class-parse, etc.)Issues binding a Java library (generator, class-parse, etc.)
Type
Fields
Give feedbackNo fields configured for issues without a type.
Context: #1093
Context: https://mvnrepository.com/artifact/org.jetbrains/annotations/24.0.1
Context: https://www.oracle.com/corporate/features/understanding-java-9-modules.html
Context: https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.7.25
JDK 9 adds support for modules, which is (kinda sorta) like .NET Assemblies: modules can depend upon other modules, export types, etc.
In particular:
This allows an equivalent to the C#
internalaccess modifier:publictypes in a non-exported package should be treated as "internal", whilepublictypes in anexported package a "fully public".TODO:
Xamarin.Android.Tools.Bytecodefor theModuleAttribute, theCONSTANT_Module_infostructure, and any other relevant module-related structures.//@visibilityvalue should be used for "public types in a non-exported package"; should it beinternal?kotlin-internal? Other? See also: 678c4bd, which added thekotlin-internalvisibilitygeneratorchanges to deal with the new visibility value, if necessary.