Skip to content

Commit 0861c51

Browse files
committed
Add mention to ACC_PUBLIC and ACC_SYNTHETIC
1 parent de9c9df commit 0861c51

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

content/binary-api.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ public class C {
8181
}
8282
~~~
8383

84+
In the bytecode, `@binaryAPI` definitions will have the [ACC_PUBLIC](https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.1-200-E.1) flag.
85+
<!-- We can also set the [ACC_SYNTHETIC](https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.1-200-E.1) to hide these definitions from javac and java IDEs. -->
86+
8487
#### `@binaryAPIAccessor` annotation
8588

8689
A binary API with accessor is a definition that is annotated with `@binaryAPIAccessor`.
@@ -110,6 +113,8 @@ public class C {
110113
Note that the change from `private[this]` to package private, protected or public is a binary compatible change.
111114
Removing this annotation is a binary incompatible change.
112115

116+
In the bytecode, `@binaryAPIAccessor` generated accessors will have the [ACC_PUBLIC | ACC_SYNTHETIC](https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.1-200-E.1) flag.
117+
113118
#### Binary API and inlining
114119

115120
If there is a reference to a binary API in an inline method we can use the definition without needing an inline accessor.

0 commit comments

Comments
 (0)