Commit Graph

21 Commits

Author SHA1 Message Date
Leonid Startsev 98f7ac044c Add Dokka configuration to kotlinx-metadata-jvm 2023-06-13 12:56:03 +00:00
Leonid Startsev 0cfe2b04f5 Move KmModuleFragment to an internal.common package
because it is klib-related and can be read only with KotlinCommonMetadata.
2023-06-08 17:53:31 +00:00
Leonid Startsev c3d363d1b8 Throw exception instead of returning null from KotlinClass(Module)Metadata.read() 2023-06-08 17:53:31 +00:00
Leonid Startsev 1c629e748f Add JvmStatic + JvmOverloads to writing functions in KotlinClassMetadata
and KotlinModuleMetadata for easier use from Java.
2023-06-08 17:53:31 +00:00
Leonid Startsev 70739df0ad Improve toString() for KmAnnotationArgument 2023-06-08 17:53:31 +00:00
Dmitriy Novozhilov 1422654470 [Build] Update version of binary-compatibility-validator to 0.13.0
0.12.0 was incompatible with kotlinx.metadata:0.6.0
2023-02-18 13:26:53 +00:00
Leonid Startsev 4b524b8589 Document that read/write methods may throw IAE and make sure this is true:
- Replace !! with requireNotNull()
- Add try/catch to wrap all other exceptions (mainly protobuf parser ones)
- Add tests for malformed input for both read and write
- Hide InconsistentMetadataException from public API
- Replace its external usages with IllegalArgumentException
2023-02-15 11:21:43 +00:00
Leonid Startsev 64838d5ec9 Extract separate ArrayKClassValue from KClassValue
Remove `data` from KmAnnotation
2023-02-15 11:21:43 +00:00
Leonid Startsev f327d68fe0 Refactor JvmMemberSignature:
- Deprecate asString() in favor of toString()
- Rename desc to descriptor with deprecation
2023-01-24 11:07:43 +00:00
Leonid Startsev 1828e293ea Provide @UnstableMetadataApi and mark kotlin_module related API with it,
as it is not finished yet.
2023-01-24 11:07:42 +00:00
Leonid Startsev 165e779e3e Change extension properties on ClassName into functions, to be more distinct from other String extensions. 2023-01-24 11:07:42 +00:00
Roman Efremov 2dc3871954 Add "hasEnumEntries" class flag to kotlinx-metadata
^KT-53929 Fixed
2023-01-23 12:53:06 +01:00
Mikhail Glukhikh cbedbda527 Enhance API/messages around BinaryVersion / JvmMetadataVersion 2023-01-16 18:16:07 +01:00
Mikhail Glukhikh 0c4a0360ac Deserialization/class reading: pass chosen JvmMetadataVersion whenever possible 2023-01-16 18:16:07 +01:00
Leonid Startsev 4bf6322dd7 Change signature of KmType.visitExtensions — it should return TypeExtensionVisitor, not TypeExtension. 2022-11-28 11:01:57 +00:00
Leonid Startsev 1afe0b9cd0 Change kotlinx.metadata.impl package to kotlinx.metadata.internal
Same with kotlinx.metadata.jvm.impl package
2022-11-28 11:01:57 +00:00
Leonid Startsev 2aede50306 Update BCV to 0.12.0; use JAR dump mode for kotlinx-metadata-jvm and
therefore remove BCV from kotlinx-metadata project.

Introduce @IgnoreInApiDump to workaround issue#104 in BCV.
2022-11-10 13:30:12 +00:00
Leonid Startsev 2b2e749d1f Rename KotlinClassMetadata.header to annotationData 2022-11-10 13:30:11 +00:00
Leonid Startsev 3d679b76bc Use Metadata directly instead of KotlinClassHeader; rewrite latter to Java
so Java clients can obtain Metadata instance from it.
2022-11-10 13:30:09 +00:00
Leonid Startsev 471882b743 Introduce @DeprecatedVisitor; mark up visitor-related declarations with it.
Provide convenient JVM writing API.

Get rid of ExperimentalUnsignedTypes.
2022-11-10 13:30:09 +00:00
Leonid Startsev dd985d8209 Add Binary Compatibility Validator to kotlinx-metadata projects
Initiate API dumps
2022-11-10 13:30:08 +00:00