You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
JDK 9 adds support for modules, which is (kinda sorta) like .NET Assemblies: modules can depend upon other modules, export types, etc.
In particular:
exports and exports…to. An exports module directive specifies one of the module’s packages whose public types (and their nested public and protected types) should be accessible to code in all other modules. An exports…to directive enables you to specify in a comma-separated list precisely which module’s or modules’ code can access the exported package—this is known as a qualified export.
This allows an equivalent to the C# internal access modifier: public types in a non-exported package should be treated as "internal", while public types in an exported package a "fully public".
Figure out what //@visibility value should be used for "public types in a non-exported package"; should it be internal? kotlin-internal? Other? See also: 678c4bd, which added the kotlin-internal visibility
generator changes to deal with the new visibility value, if necessary.
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.