[IR SERIALIZATION] Raname IrIrSeriazlizedIrFile -> SerializedIrFile

This commit is contained in:
Roman Artemev
2019-08-12 16:04:03 +03:00
committed by romanart
parent f6339bcf93
commit d9affc5abb
4 changed files with 8 additions and 30 deletions
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.ir.util.lineStartOffsets
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
import org.jetbrains.kotlin.ir.visitors.acceptVoid import org.jetbrains.kotlin.ir.visitors.acceptVoid
import org.jetbrains.kotlin.library.IrIrSerializedIrFile import org.jetbrains.kotlin.library.SerializedIrFile
import org.jetbrains.kotlin.library.impl.SerializedDeclaration import org.jetbrains.kotlin.library.impl.SerializedDeclaration
import org.jetbrains.kotlin.library.impl.SkippedDeclaration import org.jetbrains.kotlin.library.impl.SkippedDeclaration
import org.jetbrains.kotlin.library.impl.TopLevelDeclaration import org.jetbrains.kotlin.library.impl.TopLevelDeclaration
@@ -1297,7 +1297,7 @@ open class IrFileSerializer(
open fun backendSpecificExplicitRoot(declaration: IrFunction) = false open fun backendSpecificExplicitRoot(declaration: IrFunction) = false
open fun backendSpecificExplicitRoot(declaration: IrClass) = false open fun backendSpecificExplicitRoot(declaration: IrClass) = false
fun serializeIrFile(file: IrFile): IrIrSerializedIrFile { fun serializeIrFile(file: IrFile): SerializedIrFile {
val topLevelDeclarations = mutableListOf<SerializedDeclaration>() val topLevelDeclarations = mutableListOf<SerializedDeclaration>()
val proto = ProtoFile.newBuilder() val proto = ProtoFile.newBuilder()
@@ -1350,7 +1350,7 @@ open class IrFileSerializer(
} }
}) })
return IrIrSerializedIrFile( return SerializedIrFile(
proto.build().toByteArray(), proto.build().toByteArray(),
file.fqName.pathSegments().map { it.identifier }, file.fqName.pathSegments().map { it.identifier },
file.path, file.path,
@@ -8,13 +8,13 @@ package org.jetbrains.kotlin.backend.common.serialization
import org.jetbrains.kotlin.backend.common.LoggingContext import org.jetbrains.kotlin.backend.common.LoggingContext
import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.ir.declarations.IrFile
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
import org.jetbrains.kotlin.library.IrIrSerializedIrFile import org.jetbrains.kotlin.library.SerializedIrFile
import org.jetbrains.kotlin.library.SerializedIrModule import org.jetbrains.kotlin.library.SerializedIrModule
abstract class IrModuleSerializer<F : IrFileSerializer>(protected val logger: LoggingContext) { abstract class IrModuleSerializer<F : IrFileSerializer>(protected val logger: LoggingContext) {
abstract fun createSerializerForFile(file: IrFile): F abstract fun createSerializerForFile(file: IrFile): F
private fun serializeIrFile(file: IrFile): IrIrSerializedIrFile { private fun serializeIrFile(file: IrFile): SerializedIrFile {
val fileSerializer = createSerializerForFile(file) val fileSerializer = createSerializerForFile(file)
return fileSerializer.serializeIrFile(file) return fileSerializer.serializeIrFile(file)
} }
@@ -33,20 +33,7 @@ class SerializedMetadata(
val fragmentNames: List<String> val fragmentNames: List<String>
) )
class SerializedIrSymbol( class SerializedIrFile(
val symbolData: ByteArray,
val id: Long,
val isLocal: Boolean
)
//class SerializedIrFile(
// val fileData: ByteArray,
// val symbols: List<SerializedIrSymbol>,
// val types: List<ByteArray>,
// val strings: List<ByteArray>
//)
class IrIrSerializedIrFile(
val fileData: ByteArray, val fileData: ByteArray,
// val fileProto: ProtoFile, // val fileProto: ProtoFile,
val fqName: List<String>, val fqName: List<String>,
@@ -59,13 +46,4 @@ class IrIrSerializedIrFile(
val declarations: List<SerializedDeclaration> val declarations: List<SerializedDeclaration>
) )
class SerializedIrModule(val files: Collection<IrIrSerializedIrFile>) class SerializedIrModule(val files: Collection<SerializedIrFile>)
class SerializedIr(
val module: ByteArray,
// val symbols: List<Pair<Long, ByteArray>>,
val symbols: List<ByteArray>,
val types: List<ByteArray>,
val strings: List<ByteArray>,
val serializedDeclarations: List<SerializedDeclaration>
)
@@ -13,7 +13,7 @@ class IrWriterImpl(val irLayout: IrKotlinLibraryLayout) : IrWriter {
irLayout.irTablesDir.mkdirs() irLayout.irTablesDir.mkdirs()
} }
private fun serializeFile(file: IrIrSerializedIrFile) { private fun serializeFile(file: SerializedIrFile) {
val fqnPath = file.fqName.joinToString(separator = "/") val fqnPath = file.fqName.joinToString(separator = "/")
val fileId = file.path.hashCode().toString(Character.MAX_RADIX) val fileId = file.path.hashCode().toString(Character.MAX_RADIX)