15 Commits

Author SHA1 Message Date
Leonid Startsev a035533316 Rename JvmMetadataVersion.CURRENT to JvmMetadataVersion.LATEST_STABLE_SUPPORTED. 2023-12-01 17:43:12 +00:00
Leonid Startsev 048802e143 Rework KotlinModuleMetadata to align it with KotlinClassMetadata:
- Public constructor with KmModule and JvmMetadataVersion
- make write() member function
2023-12-01 17:43:12 +00:00
Leonid Startsev 6e9a62c317 Update ReadMe.md in kotlinx-metadata with instructions for new
functions:

How to use readStrict(), transform(), write() and
JvmMetadataVersion.CURRENT
2023-12-01 17:43:12 +00:00
Leonid Startsev 36703ff9ae Implement strict and lenient modes for Kotlin metadata reading
In strict mode, an exception will be thrown when inconsistent metadata is encountered. In lenient mode, the reader will attempt to handle the inconsistent metadata by ignoring certain inconsistencies. This is a solution to a problem of reading metadata 'from the future' that is not allowed by default, but desired in certain cases. See updated ReadMe for details.

Also fix problem with Strict Semantics flag.

#KT-57922 Fixed
#KT-59441 Fixed
2023-12-01 17:43:11 +00:00
Leonid Startsev a17cdfe338 Fix obsolete information in kotlinx-metadata-jvm ReadMe.md 2023-07-17 16:17:03 +00:00
Leonid Startsev 5424c54fae Make changelog and migration guide for kotlinx-metadata-jvm:0.7.0 2023-07-11 15:56:07 +00:00
Leonid Startsev b919a12274 Restructure KotlinClass(Module)Metadata.write/read:
- Write now returns result (Metadata or ByteArray) directly without re-wrapping it;
- annotationData/bytes is private to avoid unsoundness if external client corrupts it;
- .toXxx() do not throw exceptions anymore and deprecated. Exceptions are thrown only from read/write;
- Instead of toXxx(), properties like .kmClass should be used instead. They're initialized eagerly and return a view without copying.
- KotlinClassMetadata.Unknown is now a data object, as no useful information is exposed

#KT-59365 Fixed
2023-06-19 17:54:18 +00:00
Leonid Startsev d646906437 New kotlinx-metadata-jvm release
Update changelog for kotlinx-metadata-jvm 0.6.0, add migration guide, and actualize ReadMe.md

Document releasing process

Co-authored-by: Alexander Udalov <Alexander.Udalov@jetbrains.com>

Merge-request: KT-MR-8206
Merged-by: Leonid Startsev <leonid.startsev@jetbrains.com>
2023-01-10 12:25:38 +00:00
wrongwrong 6ecb5a1bd3 Fix ReadMe 2021-11-19 14:48:22 +01:00
Alexander Udalov 41eedb69ca Update kotlinx-metadata-jvm usage example in MetadataSmokeTest and ReadMe 2019-06-13 18:00:42 +02:00
Alexander Udalov 5812d28b80 Update ReadMe of kotilnx-metadata-jvm
- remove the requirement to use Bintray repo; kotlinx-metadata-jvm is
  published to Maven Central now
- remove the note about kotlin.Metadata being internal; it's public
  since 1.3
2019-05-24 14:42:26 +02:00
Alexander Udalov 5478dabb38 Add Maven/Gradle usage examples to kotlinx-metadata-jvm ReadMe 2018-06-01 19:14:42 +02:00
Ilya Gorbunov f8217ef28f Extract subclasses of JvmMemberSignature sealed class to top-level
Use more specific subtypes of sealed class in visitors.
2018-06-01 06:43:48 +03:00
Alexander Udalov c42001f550 Refactor flags in kotlinx-metadata
- rename object Flags to Flag and merge it with MetadataFlag
- use typealias Flags instead of Int
- use top level function "flagsOf" instead of "Flags.invoke" to
  construct a bitmask

 #KT-23198
2018-05-16 17:16:22 +02:00
Alexander Udalov 002310ff6e Add ReadMe for kotlinx-metadata and kotlinx-metadata-jvm
#KT-23198
2018-05-16 17:16:22 +02:00