Minor, move serializeToByteArray to module 'metadata.jvm'
This commit is contained in:
@@ -32,11 +32,13 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorUtilKt;
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation;
|
||||
import org.jetbrains.kotlin.load.kotlin.JvmMetadataVersion;
|
||||
import org.jetbrains.kotlin.load.kotlin.ModuleMappingUtilKt;
|
||||
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils;
|
||||
import org.jetbrains.kotlin.metadata.ProtoBuf;
|
||||
import org.jetbrains.kotlin.metadata.jvm.JvmModuleProtoBuf;
|
||||
import org.jetbrains.kotlin.metadata.jvm.deserialization.ModuleMapping;
|
||||
import org.jetbrains.kotlin.metadata.jvm.deserialization.ModuleMappingKt;
|
||||
import org.jetbrains.kotlin.metadata.jvm.deserialization.PackageParts;
|
||||
import org.jetbrains.kotlin.name.ClassId;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
@@ -124,7 +126,7 @@ public class ClassFileFactory implements OutputFileCollection {
|
||||
generators.put(outputFilePath, new OutAndSourceFileList(CollectionsKt.toList(packagePartSourceFiles)) {
|
||||
@Override
|
||||
public byte[] asBytes(ClassBuilderFactory factory) {
|
||||
return ClassFileUtilsKt.serializeToByteArray(moduleProto);
|
||||
return ModuleMappingKt.serializeToByteArray(moduleProto, JvmMetadataVersion.INSTANCE.toArray());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -16,16 +16,12 @@
|
||||
|
||||
package org.jetbrains.kotlin.codegen
|
||||
|
||||
import com.intellij.util.io.DataOutputStream
|
||||
import org.jetbrains.kotlin.backend.common.output.OutputFile
|
||||
import org.jetbrains.kotlin.codegen.state.GenerationState
|
||||
import org.jetbrains.kotlin.load.kotlin.JvmMetadataVersion
|
||||
import org.jetbrains.kotlin.load.kotlin.loadModuleMapping
|
||||
import org.jetbrains.kotlin.metadata.jvm.JvmModuleProtoBuf
|
||||
import org.jetbrains.kotlin.metadata.jvm.deserialization.ModuleMapping
|
||||
import org.jetbrains.kotlin.metadata.jvm.deserialization.PackageParts
|
||||
import org.jetbrains.kotlin.resolve.jvm.JvmClassName
|
||||
import java.io.ByteArrayOutputStream
|
||||
|
||||
fun ClassFileFactory.getClassFiles(): Iterable<OutputFile> {
|
||||
return asList().filterClassFiles()
|
||||
@@ -57,16 +53,3 @@ private fun Iterable<PackageParts>.addCompiledParts(state: GenerationState): Lis
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun JvmModuleProtoBuf.Module.serializeToByteArray(): ByteArray {
|
||||
val moduleMapping = ByteArrayOutputStream(4096)
|
||||
val out = DataOutputStream(moduleMapping)
|
||||
val version = JvmMetadataVersion.INSTANCE.toArray()
|
||||
out.writeInt(version.size)
|
||||
for (number in version) {
|
||||
out.writeInt(number)
|
||||
}
|
||||
writeTo(out)
|
||||
out.flush()
|
||||
return moduleMapping.toByteArray()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user