Sonya Valchuk
9518416bdb
jvm-abi-gen: remove parts of the SMAP used only in stripped methods
2024-03-13 21:31:19 +00:00
Vladimir Tagakov
d2792533b8
jvm-abi-gen: Remove internal declarations from ABI
...
#KT-65690 Fixed
2024-02-28 10:19:45 +00:00
Vladimir Tagakov
11d3ead975
jvm-abi-gen: Remove effectively private classes from ABI
...
#KT-64590 Fixed
2024-02-08 15:19:50 +00:00
Vladimir Tagakov
dab9ac3b1c
jvm-abi-gen: Allow disabling class members sorting in abi.jar
...
#KT-64589
2024-02-02 16:29:19 +00:00
Vladimir Tagakov
91002eacda
jvm-abi-gen: Remove data class copy fun from ABI along with constructor
...
#KT-64591 Fixed
2024-01-25 12:03:47 +00:00
Vladimir Tagakov
06095e86ca
jvm-abi-gen: remove SourceDebugExtension if no inline functions present
...
#KT-65072 Fixed
2024-01-22 19:00:10 +00:00
Vladimir Tagakov
ad9c100137
Sort class members in jvm-abi-gen
...
#KT-64589 Fixed
2024-01-16 20:03:29 +00:00
Alexander Udalov
fe1e2b8b34
jvm-abi-gen: Support removeDebugInfo option
...
This option removes debug info, such as:
- SourceFile attribute on classes
- LocalVariableTable, LineNumberTable, SourceDebugExtension attributes
on inline functions
- @SourceDebugExtension annotation on inline functions
#KT-33020 Fixed
2023-12-07 20:50:01 +00:00
Alexander Udalov
7f5bc94117
Jvm-abi-gen: do not treat KmProperty.hasConstant as part of ABI
...
... for non-const properties.
The meaning of this flag for non-const properties is in reality not
well-established, and it can vary from one release to another. In
particular, it's different in K2.
This commit has two parts:
1) The test (added in 5891617674 ) about clinit is changed. Original
motivation was to check that presence or absence of `<clinit>` is not
a part of the ABI. However, in addition to that, the test also
involuntarily checked that the aforementioned "hasConstant" flag for
the property y/Object.y is the same in both cases (which I believe
was not the intention) because these tests check that Kotlin metadata
is _exactly the same_ after applying jvm-abi-gen. So I've changed it
to be more straightforward: one version declares an obvious constant,
while another declares an obvious non-constant. After this change,
the test started to fail (even on K1) because the value of the
"hasConstant" flag was different between two versions.
2) Remove "hasConstant" flag for non-const properties when transforming
metadata via jvm-abi-gen. This fixes the test and assures it won't
fail when the project is migrated to LV 2.0.
#KT-60849 Fixed
2023-08-10 20:24:17 +00:00
Alexander Udalov
9f269b83aa
Remove "legacy" mode of jvm-abi-gen plugin
...
#KT-55375 Fixed
2023-03-10 12:24:50 +00:00
pyos
a30d19b655
jvm-abi-gen: consider private type aliases to be public API
...
They can be referenced from public declarations right now.
^KT-54500 Fixed
2022-10-31 22:13:21 +01:00
Alexander Udalov
97f63d539c
Remove tests on jvm-abi-gen with old JVM backend
...
#KT-48532 Fixed
2022-09-16 00:16:31 +02:00
Alexander Udalov
6e1cddd039
Disable @SourceDebugExtension generation in jvm-abi-gen tests
...
In these two tests, contents of the annotation differ by design, and
that does not constitute a difference in ABI.
2022-09-09 14:32:35 +02:00
Steven Schäfer
b8625cd233
jvm-abi-gen: Do not sort stripped methods and fields
...
The order is visible to annotation processors and should be considered
part of the ABI of a class.
2021-12-01 19:20:47 +01:00
Steven Schäfer
5059513106
jvm-abi-gen: Strip inline functions in private classes
...
Inline functions in private classes can only be accessed from Java and
we do not need to preserve their bodies for the abi.
2021-08-23 18:25:33 +02:00
Steven Schäfer
8efb955ab5
JVM: Add more tests to jvm-abi-gen
2021-08-23 18:25:33 +02:00
Alexey Tsvetkov
57f8f216d1
Exclude local variables and try catch blocks of non-inline functions from ABI
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
09dbf427ee
Disable removing private/synthetic/local classes temporarily
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
d54ce2da6f
Exclude nested classes of private classes from ABI classes
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
8992ee6280
Add tests for non-compatible ABI changes
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
5891617674
Exclude clinit from ABI classes
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
519211036d
Exclude synthetic classes from ABI classes
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
3a29b337a0
Exclude private typealiases from ABI classes
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
1f5ca7274d
Exclude local and private classes from ABI classes
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
7c2f7cab9a
Exclude non-inline method bodies from ABI classes
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
903f6bc79b
Exclude private members from ABI classes
2018-12-11 22:48:53 +03:00