Kotlin metadata update to 0.8.0
Bug: b/315252098
Change-Id: I527d2c546bc26f479234603560a5212eafa1d75c
diff --git a/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt b/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
index 56562ac..ba9eeeb 100644
--- a/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
+++ b/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
@@ -356,7 +356,7 @@
const val javassist = "3.29.2-GA"
const val junitVersion = "4.13-beta-2"
const val kotlinVersion = "1.9.0"
- const val kotlinMetadataVersion = "0.7.0"
+ const val kotlinMetadataVersion = "0.8.0"
const val mockito = "2.10.0"
const val smaliVersion = "3.0.3"
}
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinClassMetadataReader.java b/src/main/java/com/android/tools/r8/kotlin/KotlinClassMetadataReader.java
index 91d36c7..fa9b232 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinClassMetadataReader.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinClassMetadataReader.java
@@ -202,7 +202,7 @@
KotlinClassMetadata kMetadata,
AppView<?> appView,
Consumer<DexEncodedMethod> keepByteCode) {
- Metadata metadata = kMetadata.getAnnotationData$kotlinx_metadata_jvm();
+ Metadata metadata = kMetadata.write();
String packageName = metadata.pn();
int[] metadataVersion = metadata.mv();
if (kMetadata instanceof KotlinClassMetadata.Class) {
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataAnnotationWrapper.java b/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataAnnotationWrapper.java
index d34a84f..c4c6749 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataAnnotationWrapper.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataAnnotationWrapper.java
@@ -56,7 +56,7 @@
}
public static KotlinMetadataAnnotationWrapper wrap(KotlinClassMetadata classMetadata) {
- Metadata annotationData = classMetadata.getAnnotationData$kotlinx_metadata_jvm();
+ Metadata annotationData = classMetadata.write();
return new KotlinMetadataAnnotationWrapper(
annotationData.k(),
annotationData.mv(),
diff --git a/src/main/java/com/android/tools/r8/naming/KotlinModuleSynthesizer.java b/src/main/java/com/android/tools/r8/naming/KotlinModuleSynthesizer.java
index 9504a38..76c2314 100644
--- a/src/main/java/com/android/tools/r8/naming/KotlinModuleSynthesizer.java
+++ b/src/main/java/com/android/tools/r8/naming/KotlinModuleSynthesizer.java
@@ -24,7 +24,9 @@
import java.util.List;
import java.util.Map;
import java.util.Optional;
-import kotlinx.metadata.jvm.KotlinModuleMetadata.Writer;
+import kotlinx.metadata.jvm.JvmMetadataVersion;
+import kotlinx.metadata.jvm.KmModule;
+import kotlinx.metadata.jvm.KotlinModuleMetadata;
/**
* The kotlin module synthesizer will scan through all file facades and multiclass files to figure
@@ -155,7 +157,7 @@
}
}
Collections.sort(packagesSorted);
- Writer writer = new Writer();
+ KmModule kmModule = new KmModule();
for (String newPackage : packagesSorted) {
// Calling other visitors than visitPackageParts are currently not supported.
// https://github.com/JetBrains/kotlin/blob/master/libraries/kotlinx-metadata/
@@ -174,14 +176,15 @@
newMultiFiles.put(classPart, rewrittenName);
});
});
- writer.visitPackageParts(
+ kmModule.visitPackageParts(
newPackage,
newFacades.getOrDefault(newPackage, Collections.emptyList()),
newMultiFiles);
}
return Optional.of(
DataEntryResource.fromBytes(
- writer.write(metadataVersion.get()),
+ new KotlinModuleMetadata(kmModule, new JvmMetadataVersion(metadataVersion.get()))
+ .write(),
"META-INF/" + moduleName + ".kotlin_module",
Origin.unknown()));
}
diff --git a/third_party/dependencies.tar.gz.sha1 b/third_party/dependencies.tar.gz.sha1
index c41f552..065b617 100644
--- a/third_party/dependencies.tar.gz.sha1
+++ b/third_party/dependencies.tar.gz.sha1
@@ -1 +1 @@
-0276892a18f142c7399e09f5dada5e5f98857114
\ No newline at end of file
+63b28256fbfb11bd32c0d65ccf948ab82832efb6
\ No newline at end of file
diff --git a/tools/create_local_maven_with_dependencies.py b/tools/create_local_maven_with_dependencies.py
index e2f0366..ebe009b 100755
--- a/tools/create_local_maven_with_dependencies.py
+++ b/tools/create_local_maven_with_dependencies.py
@@ -24,7 +24,7 @@
ASM_VERSION = '9.6' # When updating update tools/asmifier.py and Toolhelper as well.
ESPRESSO_VERSION = '3.0.0'
FASTUTIL_VERSION = '7.2.1'
-KOTLIN_METADATA_VERSION = '0.7.0'
+KOTLIN_METADATA_VERSION = '0.8.0'
KOTLIN_VERSION = '1.9.0'
GUAVA_VERSION = '32.1.2-jre'
GSON_VERSION = '2.10.1'