Mandated Export: Why?
Paul Benedict
pbenedict at apache.org
Thu Jul 21 23:02:36 UTC 2016
>From the document that describes the binary module format for exports [1]:
0x1000 (ACC_SYNTHETIC)
Indicates that the dependence was not explicitly or implicitly declared in
the source of the module declaration.
0x8000 (ACC_MANDATED)
Indicates the dependence was implicitly declared in the source of the
module declaration.
I'd like to find out why ACC_MANDATED is necessary because it seems
ACC_SYNTHETIC is enough. What's keenly interesting is that the description
of ACC_MANDATED is nearly the same to what the JVMS says about
ACC_SYNTHETIC for a class: "it was generated by a compiler and does not
appear in source code" [2].
It appears something is incorrect with the description of these flags. What
is ACC_MANDATED really for and how it is useful?
[1] http://cr.openjdk.java.net/~mr/jigsaw/spec/lang-vm.html#jigsaw-2.3
[2] https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html
Cheers,
Paul
More information about the jpms-spec-observers
mailing list