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
Copy file name to clipboardExpand all lines: content/binary-api.md
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@ Currently, the compiler automatically generates accessors for references to priv
28
28
* Changing the implementation of an inline definition can be a binary incompatible change
29
29
* Removing final from a class is a binary incompatible change
30
30
31
-
You can find more details in https://github.com/lampepfl/dotty/issues/16983
31
+
You can find more details in [https://github.com/lampepfl/dotty/issues/16983](https://github.com/lampepfl/dotty/issues/16983)
32
32
33
33
### Avoid duplication of inline accessors
34
34
@@ -44,7 +44,7 @@ There is no precise mechanism to remove a deprecated method from a library witho
44
44
+ private[C] def myOldAPI: T = ...
45
45
```
46
46
47
-
Related to discussion in https://github.com/lightbend/mima/discussions/724
47
+
Related to discussion in [https://github.com/lightbend/mima/discussions/724](https://github.com/lightbend/mima/discussions/724).
48
48
49
49
### No way to inline reference to private constructors
50
50
@@ -54,7 +54,7 @@ It is currently impossible to refer to private constructors in inline methods. I
54
54
55
55
### High-level overview
56
56
57
-
This proposal introduces 2 the `@binaryAPI` and `@binaryAPIAccessor` annotations, and changes adds a migration path to inline methods.
57
+
This proposal introduces 2 the `@binaryAPI` and `@binaryAPIAccessor` annotations, and adds a migration path to inline methods.
58
58
59
59
#### `@binaryAPI` annotation
60
60
@@ -165,13 +165,13 @@ final class binaryAPIAccessor extends scala.annotation.StaticAnnotation
165
165
166
166
* Only valid on `def`, `val`, `lazy val`, `var`, `object`, and `given`.
167
167
* TASTy will contain references to non-public definitions that are out of scope but `@binaryAPI`. TASTy already allows those references.
168
-
*Annotated definition will be public in the generated bytecode. Definitions should be made public as early as possible in the compiler phases, as this can remove the need to create other accessors. It should be done after we check the accessibility of references.
168
+
*The annotated definitions will be public in the generated bytecode. Definitions should be made public as early as possible in the compiler phases, as this can remove the need to create other accessors. It should be done after we check the accessibility of references.
169
169
170
170
171
171
#### `@binaryAPIAccessor` annotation
172
172
173
173
* Only valid on `def`, `val`, `lazy val`, `var`, `object`, and `given`.
174
-
*An public accessor will be generated for the annotated definition. This accessor will be named `<fullClassName>$$inline$<definitionName>`.
174
+
*A public accessor will be generated for the annotated definition. This accessor will be named `<fullClassName>$$inline$<definitionName>`.
175
175
176
176
#### Inline
177
177
@@ -221,7 +221,7 @@ This would simplify the system and the user interaction with this feature. The d
221
221
222
222
## Related work
223
223
224
-
* Proof of concept: https://github.com/lampepfl/dotty/pull/16992
0 commit comments