diff --git a/compiler/ir/serialization.common/src/KotlinIr.proto b/compiler/ir/serialization.common/src/KotlinIr.proto index 4766f0c1ed9..55f10bbc6fe 100644 --- a/compiler/ir/serialization.common/src/KotlinIr.proto +++ b/compiler/ir/serialization.common/src/KotlinIr.proto @@ -6,9 +6,9 @@ option java_outer_classname = "KotlinIr"; option optimize_for = LITE_RUNTIME; message DescriptorReference { - required String package_fq_name = 1; - required String class_fq_name = 2; - required String name = 3; + required FqName package_fq_name = 1; + required FqName class_fq_name = 2; + required IrDataIndex name = 3; optional UniqId uniq_id = 4; optional bool is_getter = 5 [default = false]; optional bool is_setter = 6 [default = false]; @@ -31,11 +31,11 @@ message Coordinates { } message Visibility { - required String name = 1; + required IrDataIndex name = 1; } message IrStatementOrigin { - required String name = 1; + required IrDataIndex name = 1; } enum KnownOrigin { @@ -72,10 +72,18 @@ enum KnownOrigin { message IrDeclarationOrigin { oneof either { KnownOrigin origin = 1; - String custom = 2; + IrDataIndex custom = 2; } } +message IrDataIndex { + required int32 index = 1; +} + +message FqName { + repeated IrDataIndex segment = 1; +} + /* ------ Top Level---------------------------------------------- */ message IrDeclarationContainer { @@ -83,29 +91,25 @@ message IrDeclarationContainer { } message FileEntry { - required String name = 1; + required string name = 1; repeated int32 line_start_offsets = 2; } message IrFile { repeated UniqId declaration_id = 1; required FileEntry file_entry = 2; - required String fq_name = 3; + required FqName fq_name = 3; required Annotations annotations = 4; - repeated IrSymbol explicitly_exported_to_compiler = 5; + repeated IrDataIndex explicitly_exported_to_compiler = 5; } -message IrModule { - required String name = 1; - repeated IrFile file = 2; -} +//message IrModule { +// required string name = 1; +// repeated IrFile file = 2; +//} /* ------ String Table ------------------------------------------ */ -message String { - required int32 index = 1; -} - message StringTable { repeated string strings = 1; } @@ -134,14 +138,10 @@ message IrSymbolData { required IrSymbolKind kind = 1; required UniqId uniq_id = 2; required UniqId top_level_uniq_id = 3; - optional String fqname = 4; + optional FqName fqname = 4; optional DescriptorReference descriptor_reference = 5; } -message IrSymbol { - required int32 index = 1; -} - message IrSymbolTable { repeated IrSymbolData symbols = 1; } @@ -159,7 +159,7 @@ message Annotations { } message TypeArguments { - repeated IrTypeIndex type_argument = 1; + repeated IrDataIndex type_argument = 1; } message IrStarProjection { @@ -168,7 +168,7 @@ message IrStarProjection { message IrTypeProjection { required IrTypeVariance variance = 1; - required IrTypeIndex type = 2; + required IrDataIndex type = 2; } message IrTypeArgument { @@ -180,7 +180,7 @@ message IrTypeArgument { message IrSimpleType { required Annotations annotations = 1; - required IrSymbol classifier = 2; + required IrDataIndex classifier = 2; required bool has_question_mark = 3; repeated IrTypeArgument argument = 4; optional IrTypeAbbreviation abbreviation = 5; @@ -213,15 +213,12 @@ message IrTypeTable { repeated IrType types = 1; } -message IrTypeIndex { - required int32 index = 1; -} - /* ------ IrExpressions --------------------------------------------- */ + message IrBreak { required int32 loop_id = 1; - optional String label = 2; + optional IrDataIndex label = 2; } message IrBlock { @@ -237,39 +234,39 @@ message MemberAccessCommon { } message IrCall { - required IrSymbol symbol = 1; + required IrDataIndex symbol = 1; required MemberAccessCommon member_access = 2; - optional IrSymbol super = 3; + optional IrDataIndex super = 3; optional IrStatementOrigin origin = 4; } message IrConstructorCall { - required IrSymbol symbol = 1; + required IrDataIndex symbol = 1; required int32 constructor_type_arguments_count = 2; required MemberAccessCommon member_access = 3; } message IrFunctionReference { - required IrSymbol symbol = 1; + required IrDataIndex symbol = 1; optional IrStatementOrigin origin = 2; required MemberAccessCommon member_access = 3; } message IrLocalDelegatedPropertyReference { - required IrSymbol delegate = 1; - optional IrSymbol getter = 2; - optional IrSymbol setter = 3; - required IrSymbol symbol = 4; + required IrDataIndex delegate = 1; + optional IrDataIndex getter = 2; + optional IrDataIndex setter = 3; + required IrDataIndex symbol = 4; optional IrStatementOrigin origin = 5; } message IrPropertyReference { - optional IrSymbol field = 1; - optional IrSymbol getter = 2; - optional IrSymbol setter = 3; + optional IrDataIndex field = 1; + optional IrDataIndex getter = 2; + optional IrDataIndex setter = 3; optional IrStatementOrigin origin = 4; required MemberAccessCommon member_access = 5; - required IrSymbol symbol = 6; + required IrDataIndex symbol = 6; } message IrComposite { @@ -278,8 +275,8 @@ message IrComposite { } message IrClassReference { - required IrSymbol class_symbol = 1; - required IrTypeIndex class_type = 2; + required IrDataIndex class_symbol = 1; + required IrDataIndex class_type = 2; } message IrConst { @@ -293,17 +290,17 @@ message IrConst { int64 long = 7; float float = 8; double double = 9; - String string = 10; + IrDataIndex string = 10; } } message IrContinue { required int32 loop_id = 1; - optional String label = 2; + optional IrDataIndex label = 2; } message IrDelegatingConstructorCall { - required IrSymbol symbol = 1; + required IrDataIndex symbol = 1; required MemberAccessCommon member_access = 2; } @@ -312,7 +309,7 @@ message IrDoWhile { } message IrEnumConstructorCall { - required IrSymbol symbol = 1; + required IrDataIndex symbol = 1; required MemberAccessCommon member_access = 2; } @@ -321,12 +318,12 @@ message IrGetClass { } message IrGetEnumValue { - required IrSymbol symbol = 2; + required IrDataIndex symbol = 2; } message FieldAccessCommon { - required IrSymbol symbol = 1; - optional IrSymbol super = 2; + required IrDataIndex symbol = 1; + optional IrDataIndex super = 2; optional IrExpression receiver = 3; } @@ -336,28 +333,28 @@ message IrGetField { } message IrGetValue { - required IrSymbol symbol = 1; + required IrDataIndex symbol = 1; optional IrStatementOrigin origin = 2; } message IrGetObject { - required IrSymbol symbol = 1; + required IrDataIndex symbol = 1; } message IrInstanceInitializerCall { - required IrSymbol symbol = 1; + required IrDataIndex symbol = 1; } message Loop { required int32 loop_id = 1; required IrExpression condition = 2; - optional String label = 3; + optional IrDataIndex label = 3; optional IrExpression body = 4; optional IrStatementOrigin origin = 5; } message IrReturn { - required IrSymbol return_target = 1; + required IrDataIndex return_target = 1; required IrExpression value = 2; } @@ -368,7 +365,7 @@ message IrSetField { } message IrSetVariable { - required IrSymbol symbol = 1; + required IrDataIndex symbol = 1; required IrExpression value = 2; optional IrStatementOrigin origin = 3; } @@ -394,12 +391,12 @@ message IrTry { message IrTypeOp { required IrTypeOperator operator = 1; - required IrTypeIndex operand = 2; + required IrDataIndex operand = 2; required IrExpression argument = 3; } message IrVararg { - required IrTypeIndex element_type = 1; + required IrDataIndex element_type = 1; repeated IrVarargElement element = 2; } @@ -427,7 +424,7 @@ message IrFunctionExpression { /* ------ Dynamic expression --------------------------------------------- */ message IrDynamicMemberExpression { - required String memberName = 1; + required IrDataIndex memberName = 1; required IrExpression receiver = 2; } @@ -528,7 +525,7 @@ enum IrTypeOperator { message IrExpression { required IrOperation operation = 1; - required IrTypeIndex type = 2; + required IrDataIndex type = 2; required Coordinates coordinates = 3; } @@ -539,7 +536,7 @@ message NullableIrExpression { /* ------ Declarations --------------------------------------------- */ message IrDeclarationBase { - required IrSymbol symbol = 1; + required IrDataIndex symbol = 1; required IrDeclarationOrigin origin = 2; required Coordinates coordinates = 3; required Annotations annotations = 4; @@ -547,7 +544,7 @@ message IrDeclarationBase { message IrFunctionBase { required IrDeclarationBase base = 1; - required String name = 2; + required IrDataIndex name = 2; required Visibility visibility = 3; required bool is_inline = 4; required bool is_external = 5; @@ -555,8 +552,8 @@ message IrFunctionBase { optional IrValueParameter dispatch_receiver = 7; optional IrValueParameter extension_receiver = 8; repeated IrValueParameter value_parameter = 9; - optional IrStatement body = 10; - required IrTypeIndex return_type = 11; + optional IrDataIndex body = 10; + required IrDataIndex return_type = 11; } message IrFunction { @@ -564,7 +561,7 @@ message IrFunction { required ModalityKind modality = 2; required bool is_tailrec = 3; required bool is_suspend = 4; - repeated IrSymbol overridden = 5; + repeated IrDataIndex overridden = 5; //optional UniqId corresponding_property = 7; } @@ -576,19 +573,19 @@ message IrConstructor { message IrField { required IrDeclarationBase base = 1; - optional IrExpression initializer = 2; - required String name = 3; + optional IrDataIndex initializer = 2; + required IrDataIndex name = 3; required Visibility visibility = 4; required bool is_final = 5; required bool is_external = 6; required bool is_static = 7; - required IrTypeIndex type = 8; + required IrDataIndex type = 8; } message IrLocalDelegatedProperty { required IrDeclarationBase base = 1; - required String name = 2; - required IrTypeIndex type = 3; + required IrDataIndex name = 2; + required IrDataIndex type = 3; required bool is_var = 4; required IrVariable delegate = 5; optional IrFunction getter = 6; @@ -597,7 +594,7 @@ message IrLocalDelegatedProperty { message IrProperty { required IrDeclarationBase base = 1; - required String name = 2; + required IrDataIndex name = 2; required Visibility visibility = 3; required ModalityKind modality = 4; required bool is_var = 5; @@ -612,8 +609,8 @@ message IrProperty { message IrVariable { required IrDeclarationBase base = 1; - required String name = 2; - required IrTypeIndex type = 3; + required IrDataIndex name = 2; + required IrDataIndex type = 3; required bool is_var = 4; required bool is_const = 5; required bool is_lateinit = 6; @@ -638,21 +635,21 @@ enum ModalityKind { // It is ModalityKind to not clash with Modality in descript message IrValueParameter { required IrDeclarationBase base = 1; - required String name = 2; + required IrDataIndex name = 2; required int32 index = 3; - required IrTypeIndex type = 4; - optional IrTypeIndex vararg_element_type = 5; + required IrDataIndex type = 4; + optional IrDataIndex vararg_element_type = 5; required bool is_crossinline = 6; required bool is_noinline = 7; - optional IrExpression default_value = 8; + optional IrDataIndex default_value = 8; } message IrTypeParameter { required IrDeclarationBase base = 1; - required String name = 2; + required IrDataIndex name = 2; required int32 index = 3; required IrTypeVariance variance = 4; - repeated IrTypeIndex super_type = 5; + repeated IrDataIndex super_type = 5; required bool is_reified = 6; } @@ -662,7 +659,7 @@ message IrTypeParameterContainer { message IrClass { required IrDeclarationBase base = 1; - required String name = 2; + required IrDataIndex name = 2; required ClassKind kind = 3; required Visibility visibility = 4; required ModalityKind modality = 5; @@ -675,7 +672,7 @@ message IrClass { optional IrValueParameter this_receiver = 11; required IrTypeParameterContainer type_parameters = 12; required IrDeclarationContainer declaration_container = 13; - repeated IrTypeIndex super_type = 14; + repeated IrDataIndex super_type = 14; } message IrTypeAlias { @@ -689,14 +686,14 @@ message IrTypeAlias { message IrEnumEntry { required IrDeclarationBase base = 1; - optional IrExpression initializer = 2; + optional IrDataIndex initializer = 2; optional IrClass corresponding_class = 3; - required String name = 4; + required IrDataIndex name = 4; } message IrAnonymousInit { required IrDeclarationBase base = 1; - required IrStatement body = 2; + required IrDataIndex body = 2; } // TODO: we need an extension mechanism to accomodate new diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/DeclarationTable.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/DeclarationTable.kt index 45f4277f55b..3541ba91659 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/DeclarationTable.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/DeclarationTable.kt @@ -20,12 +20,13 @@ class DescriptorTable { } // TODO: We don't manage id clashes anyhow now. -abstract class DeclarationTable(val builtIns: IrBuiltIns, val descriptorTable: DescriptorTable, mangler: KotlinMangler): KotlinMangler by mangler { +abstract class DeclarationTable(val builtIns: IrBuiltIns, val descriptorTable: DescriptorTable, mangler: KotlinMangler) : KotlinMangler by mangler { private val builtInsTable = mutableMapOf() private val table = mutableMapOf() val descriptors = descriptorTable protected abstract var currentIndex: Long + protected abstract val initialIndex: Long open fun loadKnownBuiltins(): Long { builtIns.knownBuiltins.forEach { diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/DeserializeDescriptorReference.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/DeserializeDescriptorReference.kt index 028fbe07cae..3936b48b52f 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/DeserializeDescriptorReference.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/DeserializeDescriptorReference.kt @@ -42,11 +42,7 @@ abstract class DescriptorReferenceDeserializer( with(mangler) { uniqName.hashMangle } } else null - protected fun getContributedDescriptors(packageFqNameString: String, name: String): Collection { - val packageFqName = packageFqNameString.let { - if (it == "") FqName.ROOT else FqName(it) - }// TODO: would we store an empty string in the protobuf? - + protected fun getContributedDescriptors(packageFqName: FqName, name: String): Collection { val memberScope = currentModule.getPackage(packageFqName).memberScope return getContributedDescriptors(memberScope, name) } @@ -91,8 +87,8 @@ abstract class DescriptorReferenceDeserializer( } open fun deserializeDescriptorReference( - packageFqNameString: String, - classFqNameString: String, + packageFqName: FqName, + classFqName: FqName, name: String, index: Long?, isEnumEntry: Boolean = false, @@ -103,22 +99,19 @@ abstract class DescriptorReferenceDeserializer( isSetter: Boolean = false, isTypeParameter: Boolean = false ): DeclarationDescriptor { - val packageFqName = packageFqNameString.let { - if (it == "") FqName.ROOT else FqName(it) - }// TODO: whould we store an empty string in the protobuf? - val classFqName = if (classFqNameString == "") FqName.ROOT else FqName(classFqNameString) val protoIndex = index - val (clazz, members) = if (classFqNameString == "" || classFqNameString == "") { - Pair(null, getContributedDescriptors(packageFqNameString, name)) + val (clazz, members) = if (classFqName.isRoot) { + Pair(null, getContributedDescriptors(packageFqName, name)) } else { val clazz = currentModule.findClassAcrossModuleDependencies(ClassId(packageFqName, classFqName, false))!! Pair(clazz, getContributedDescriptors(clazz.unsubstitutedMemberScope, name) + clazz.getConstructors()) } // TODO: This is still native specific. Eliminate. - if (packageFqNameString.startsWith("cnames.") || packageFqNameString.startsWith("objcnames.")) { + val rootSegment = packageFqName.pathSegments().firstOrNull()?.identifier ?: "" + if (rootSegment == "cnames" || rootSegment == "objcnames") { val descriptor = currentModule.findClassAcrossModuleDependencies(ClassId(packageFqName, FqName(name), false))!! if (!descriptor.fqNameUnsafe.asString().startsWith("cnames") && !descriptor.fqNameUnsafe.asString().startsWith( diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrModuleDeserializer.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileDeserializer.kt similarity index 97% rename from compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrModuleDeserializer.kt rename to compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileDeserializer.kt index b158e0093f2..3f9d7220f11 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrModuleDeserializer.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileDeserializer.kt @@ -35,6 +35,7 @@ import org.jetbrains.kotlin.ir.types.* import org.jetbrains.kotlin.ir.types.impl.* import org.jetbrains.kotlin.ir.util.SymbolTable import org.jetbrains.kotlin.ir.util.render +import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedTypeParameterDescriptor import org.jetbrains.kotlin.types.Variance @@ -43,6 +44,7 @@ import org.jetbrains.kotlin.backend.common.serialization.proto.ClassKind as Prot import org.jetbrains.kotlin.backend.common.serialization.proto.DescriptorReference as ProtoDescriptorReference import org.jetbrains.kotlin.backend.common.serialization.proto.IrAnonymousInit as ProtoAnonymousInit import org.jetbrains.kotlin.backend.common.serialization.proto.IrBlock as ProtoBlock +import org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex as ProtoBodyIndex import org.jetbrains.kotlin.backend.common.serialization.proto.IrBlockBody as ProtoBlockBody import org.jetbrains.kotlin.backend.common.serialization.proto.IrBranch as ProtoBranch import org.jetbrains.kotlin.backend.common.serialization.proto.IrBreak as ProtoBreak @@ -91,7 +93,7 @@ import org.jetbrains.kotlin.backend.common.serialization.proto.IrSpreadElement a import org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement as ProtoStatement import org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin as ProtoStatementOrigin import org.jetbrains.kotlin.backend.common.serialization.proto.IrStringConcat as ProtoStringConcat -import org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol as ProtoSymbol +import org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex as ProtoSymbolIndex import org.jetbrains.kotlin.backend.common.serialization.proto.IrSyntheticBody as ProtoSyntheticBody import org.jetbrains.kotlin.backend.common.serialization.proto.IrSyntheticBodyKind as ProtoSyntheticBodyKind import org.jetbrains.kotlin.backend.common.serialization.proto.IrThrow as ProtoThrow @@ -100,7 +102,7 @@ import org.jetbrains.kotlin.backend.common.serialization.proto.IrType as ProtoTy import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeAbbreviation as ProtoTypeAbbreviation import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeAlias as ProtoTypeAlias import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeArgument as ProtoTypeArgument -import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex as ProtoTypeIndex +import org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex as ProtoTypeIndex import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeOp as ProtoTypeOp import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeOperator as ProtoTypeOperator import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeParameter as ProtoTypeParameter @@ -114,9 +116,10 @@ import org.jetbrains.kotlin.backend.common.serialization.proto.IrWhile as ProtoW import org.jetbrains.kotlin.backend.common.serialization.proto.Loop as ProtoLoop import org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon as ProtoMemberAccessCommon import org.jetbrains.kotlin.backend.common.serialization.proto.ModalityKind as ProtoModalityKind -import org.jetbrains.kotlin.backend.common.serialization.proto.String as ProtoString +import org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex as ProtoStringIndex import org.jetbrains.kotlin.backend.common.serialization.proto.TypeArguments as ProtoTypeArguments import org.jetbrains.kotlin.backend.common.serialization.proto.Visibility as ProtoVisibility +import org.jetbrains.kotlin.backend.common.serialization.proto.FqName as ProtoFqName // TODO: This code still has some uses of descriptors: // 1. We use descriptors as keys for symbolTable -- probably symbol table related code should be refactored out from @@ -124,21 +127,29 @@ import org.jetbrains.kotlin.backend.common.serialization.proto.Visibility as Pro // 2. Properties use descriptors but not symbols -- that causes lots of assymmetry all around. // 3. Declarations are provided with wrapped descriptors. That is probably a legitimate descriptor use. -abstract class IrModuleDeserializer( +abstract class IrFileDeserializer( val logger: LoggingContext, val builtIns: IrBuiltIns, val symbolTable: SymbolTable ) { - abstract fun deserializeIrSymbol(proto: ProtoSymbol): IrSymbol + abstract fun deserializeIrSymbol(proto: ProtoSymbolIndex): IrSymbol abstract fun deserializeIrType(proto: ProtoTypeIndex): IrType abstract fun deserializeDescriptorReference(proto: ProtoDescriptorReference): DeclarationDescriptor - abstract fun deserializeString(proto: ProtoString): String + abstract fun deserializeString(proto: ProtoStringIndex): String + abstract fun deserializeExpressionBody(proto: ProtoBodyIndex): IrExpression + abstract fun deserializeStatementBody(proto: ProtoBodyIndex): IrElement abstract fun deserializeLoopHeader(loopIndex: Int, loopBuilder: () -> IrLoopBase): IrLoopBase private val parentsStack = mutableListOf() - private fun deserializeName(proto: ProtoString): Name { + fun deserializeFqName(proto: ProtoFqName): FqName { + return proto.segmentList.run { + if (isEmpty()) FqName.ROOT else FqName.fromSegments(map { deserializeString(it) }) + } + } + + private fun deserializeName(proto: ProtoStringIndex): Name { val name = deserializeString(proto) return Name.guessByFirstCharacter(name) } @@ -269,7 +280,7 @@ abstract class IrModuleDeserializer( return IrSyntheticBodyImpl(start, end, kind) } - private fun deserializeStatement(proto: ProtoStatement): IrElement { + fun deserializeStatement(proto: ProtoStatement): IrElement { val start = proto.coordinates.startOffset val end = proto.coordinates.endOffset val element = when (proto.statementCase) { @@ -872,7 +883,7 @@ abstract class IrModuleDeserializer( OPERATION_NOT_SET -> error("Expression deserialization not implemented: ${proto.operationCase}") } - private fun deserializeExpression(proto: ProtoExpression): IrExpression { + fun deserializeExpression(proto: ProtoExpression): IrExpression { val start = proto.coordinates.startOffset val end = proto.coordinates.endOffset val type = deserializeIrType(proto.type) @@ -951,7 +962,7 @@ abstract class IrModuleDeserializer( proto.isNoinline ).apply { if (proto.hasDefaultValue()) - defaultValue = IrExpressionBodyImpl(deserializeExpression(proto.defaultValue)) + defaultValue = IrExpressionBodyImpl(deserializeExpressionBody(proto.defaultValue)) (descriptor as? WrappedValueParameterDescriptor)?.bind(this) (descriptor as? WrappedReceiverParameterDescriptor)?.bind(this) @@ -1024,8 +1035,9 @@ abstract class IrModuleDeserializer( dispatchReceiverParameter = deserializeIrValueParameter(proto.dispatchReceiver) if (proto.hasExtensionReceiver()) extensionReceiverParameter = deserializeIrValueParameter(proto.extensionReceiver) - if (proto.hasBody()) - body = deserializeStatement(proto.body) as IrBody + if (proto.hasBody()) { + body = deserializeStatementBody(proto.body) as IrBody + } } } @@ -1087,7 +1099,7 @@ abstract class IrModuleDeserializer( if (proto.hasCorrespondingClass()) correspondingClass = deserializeIrClass(proto.correspondingClass) if (proto.hasInitializer()) - initializerExpression = deserializeExpression(proto.initializer) + initializerExpression = deserializeExpressionBody(proto.initializer) (descriptor as? WrappedEnumEntryDescriptor)?.bind(this) } @@ -1096,7 +1108,8 @@ abstract class IrModuleDeserializer( private fun deserializeIrAnonymousInit(proto: ProtoAnonymousInit) = withDeserializedIrDeclarationBase(proto.base) { symbol, startOffset, endOffset, origin -> IrAnonymousInitializerImpl(startOffset, endOffset, origin, symbol as IrAnonymousInitializerSymbol).apply { - body = deserializeBlockBody(proto.body.blockBody, startOffset, endOffset) +// body = deserializeBlockBody(proto.body.blockBody, startOffset, endOffset) + body = deserializeStatementBody(proto.body) as IrBlockBody (descriptor as? WrappedClassDescriptor)?.bind(parentsStack.peek() as IrClass) } @@ -1157,7 +1170,7 @@ abstract class IrModuleDeserializer( ) }.usingParent { if (proto.hasInitializer()) - initializer = IrExpressionBodyImpl(deserializeExpression(proto.initializer)) + initializer = IrExpressionBodyImpl(deserializeExpressionBody(proto.initializer)) (descriptor as? WrappedFieldDescriptor)?.bind(this) } diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrModuleSerializer.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrModuleSerializer.kt index 8bd317cd209..497f5071990 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrModuleSerializer.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrModuleSerializer.kt @@ -7,13 +7,12 @@ package org.jetbrains.kotlin.backend.common.serialization import org.jetbrains.kotlin.backend.common.LoggingContext import org.jetbrains.kotlin.backend.common.ir.ir2string +import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.builtins.FunctionInterfacePackageFragment import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.ClassKind.* -import org.jetbrains.kotlin.descriptors.Modality -import org.jetbrains.kotlin.descriptors.ReceiverParameterDescriptor -import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.ir.IrElement +import org.jetbrains.kotlin.ir.IrStatement import org.jetbrains.kotlin.ir.SourceManager import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.* @@ -24,8 +23,11 @@ import org.jetbrains.kotlin.ir.util.lineStartOffsets import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid import org.jetbrains.kotlin.ir.visitors.acceptVoid -import org.jetbrains.kotlin.library.SerializedIr +import org.jetbrains.kotlin.library.IrIrSerializedIrFile +import org.jetbrains.kotlin.library.SerializedIrModule +//import org.jetbrains.kotlin.library.SerializedIrFile import org.jetbrains.kotlin.library.impl.* +import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.backend.common.serialization.proto.Annotations as ProtoAnnotations @@ -35,6 +37,7 @@ import org.jetbrains.kotlin.backend.common.serialization.proto.FieldAccessCommon import org.jetbrains.kotlin.backend.common.serialization.proto.FileEntry as ProtoFileEntry import org.jetbrains.kotlin.backend.common.serialization.proto.IrAnonymousInit as ProtoAnonymousInit import org.jetbrains.kotlin.backend.common.serialization.proto.IrBlock as ProtoBlock +import org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex as ProtoBodyIndex import org.jetbrains.kotlin.backend.common.serialization.proto.IrBlockBody as ProtoBlockBody import org.jetbrains.kotlin.backend.common.serialization.proto.IrBranch as ProtoBranch import org.jetbrains.kotlin.backend.common.serialization.proto.IrBreak as ProtoBreak @@ -87,7 +90,7 @@ import org.jetbrains.kotlin.backend.common.serialization.proto.IrStarProjection import org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement as ProtoStatement import org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin as ProtoStatementOrigin import org.jetbrains.kotlin.backend.common.serialization.proto.IrStringConcat as ProtoStringConcat -import org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol as ProtoSymbol +import org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex as ProtoSymbolIndex import org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbolData as ProtoSymbolData import org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbolKind as ProtoSymbolKind import org.jetbrains.kotlin.backend.common.serialization.proto.IrSyntheticBody as ProtoSyntheticBody @@ -98,7 +101,7 @@ import org.jetbrains.kotlin.backend.common.serialization.proto.IrType as ProtoTy import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeAbbreviation as ProtoTypeAbbreviation import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeAlias as ProtoTypeAlias import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeArgument as ProtoTypeArgument -import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex as ProtoTypeIndex +import org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex as ProtoTypeIndex import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeOp as ProtoTypeOp import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeOperator as ProtoTypeOperator import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeParameter as ProtoTypeParameter @@ -115,9 +118,10 @@ import org.jetbrains.kotlin.backend.common.serialization.proto.Loop as ProtoLoop import org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon as ProtoMemberAccessCommon import org.jetbrains.kotlin.backend.common.serialization.proto.ModalityKind as ProtoModalityKind import org.jetbrains.kotlin.backend.common.serialization.proto.NullableIrExpression as ProtoNullableIrExpression -import org.jetbrains.kotlin.backend.common.serialization.proto.String as ProtoString +import org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex as ProtoStringIndex import org.jetbrains.kotlin.backend.common.serialization.proto.TypeArguments as ProtoTypeArguments import org.jetbrains.kotlin.backend.common.serialization.proto.Visibility as ProtoVisibility +import org.jetbrains.kotlin.backend.common.serialization.proto.FqName as ProtoFqName open class IrModuleSerializer( val logger: LoggingContext, @@ -128,20 +132,57 @@ open class IrModuleSerializer( private val loopIndex = mutableMapOf() private var currentLoopIndex = 0 - val descriptorReferenceSerializer = DescriptorReferenceSerializer(declarationTable, { string -> serializeString(string) }, mangler) + val descriptorReferenceSerializer = DescriptorReferenceSerializer(declarationTable, { serializeString(it) }, { serializeFqName(it) }, mangler) // The same symbol can be used multiple times in a module // so use this index to store symbol data only once. - val protoSymbolMap = mutableMapOf() - val protoSymbolArray = arrayListOf() + var protoSymbolMap = mutableMapOf() +// var protoSymbolMap = mutableMapOf>() + var protoSymbolArray = arrayListOf() // The same type can be used multiple times in a module // so use this index to store type data only once. - val protoTypeMap = mutableMapOf() - val protoTypeArray = arrayListOf() + var protoTypeMap = mutableMapOf() +// val protoTypeMap = mutableMapOf>() + var protoTypeArray = arrayListOf() - val protoStringMap = mutableMapOf() - val protoStringArray = arrayListOf() + var protoStringMap = mutableMapOf() + var protoStringArray = arrayListOf() + + var protoBodyArray = mutableListOf() + + sealed class XStatementOrExpression() { + abstract fun toByteArray(): ByteArray + + open fun toProtoStatement(): ProtoStatement { error("It is not a ProtoStatement") } + open fun toProtoExpression(): ProtoExpression { error("It is not a ProtoExpression") } + + class XStatement(private val proto: ProtoStatement): XStatementOrExpression() { + override fun toByteArray() = proto.toByteArray() + override fun toProtoStatement() = proto + } + + class XExpression(private val proto: ProtoExpression): XStatementOrExpression() { + override fun toByteArray() = proto.toByteArray() + override fun toProtoExpression() = proto + } + } + + + + private fun serializeIrExpressionBody(expression: IrExpression): ProtoBodyIndex { + val proto = ProtoBodyIndex.newBuilder() + protoBodyArray.add(XStatementOrExpression.XExpression(serializeExpression(expression))) + proto.index = protoBodyArray.size - 1 + return proto.build() + } + + private fun serializeIrStatementBody(statement: IrElement): ProtoBodyIndex { + val proto = ProtoBodyIndex.newBuilder() + protoBodyArray.add(XStatementOrExpression.XStatement(serializeStatement(statement))) + proto.index = protoBodyArray.size - 1 + return proto.build() + } /* ------- Common fields ---------------------------------------------------- */ @@ -169,8 +210,8 @@ open class IrModuleSerializer( /* ------- Strings ---------------------------------------------------------- */ - fun serializeString(value: String): ProtoString { - val proto = ProtoString.newBuilder() + fun serializeString(value: String): ProtoStringIndex { + val proto = ProtoStringIndex.newBuilder() proto.index = protoStringMap.getOrPut(value) { protoStringArray.add(value) protoStringArray.size - 1 @@ -178,7 +219,7 @@ open class IrModuleSerializer( return proto.build() } - fun serializeName(name: Name): ProtoString = serializeString(name.toString()) + fun serializeName(name: Name): ProtoStringIndex = serializeString(name.toString()) /* ------- IrSymbols -------------------------------------------------------- */ @@ -241,11 +282,16 @@ open class IrModuleSerializer( return proto.build() } - fun serializeIrSymbol(symbol: IrSymbol): ProtoSymbol { - val proto = ProtoSymbol.newBuilder() + fun serializeIrSymbol(symbol: IrSymbol): ProtoSymbolIndex { + val proto = ProtoSymbolIndex.newBuilder() proto.index = protoSymbolMap.getOrPut(symbol) { - protoSymbolArray.add(serializeIrSymbolData(symbol)) + val symbolData = serializeIrSymbolData(symbol) + protoSymbolArray.add(symbolData) protoSymbolArray.size - 1 + +// val symbolData = serializeIrSymbolData(symbol) +// val uniqId = symbolData.uniqId +// Pair(UniqId(uniqId.index, uniqId.isLocal), symbolData) } return proto.build() } @@ -276,6 +322,15 @@ open class IrModuleSerializer( return proto.build() } + fun serializeFqName(fqName: FqName): ProtoFqName { + val proto = ProtoFqName.newBuilder() + fqName.pathSegments().forEach { + proto.addSegment(serializeString(it.identifier)) + } + + return proto.build() + } + fun serializeIrTypeProjection(argument: IrTypeProjection) = ProtoTypeProjection.newBuilder() .setVariance(serializeIrTypeVariance(argument.variance)) .setType(serializeIrType(argument.type)) @@ -984,7 +1039,7 @@ open class IrModuleSerializer( .setIsNoinline(parameter.isNoinline) parameter.varargElementType?.let { proto.setVarargElementType(serializeIrType(it)) } - parameter.defaultValue?.let { proto.setDefaultValue(serializeExpression(it.expression)) } + parameter.defaultValue?.let { proto.setDefaultValue(serializeIrExpressionBody(it.expression)) } return proto.build() } @@ -1026,7 +1081,7 @@ open class IrModuleSerializer( proto.addValueParameter(serializeIrValueParameter(it)) } if (!bodiesOnlyForInlines || function.isInline) { - function.body?.let { proto.body = serializeStatement(it) } + function.body?.let { proto.body = serializeIrStatementBody(it) } } return proto.build() } @@ -1061,7 +1116,7 @@ open class IrModuleSerializer( private fun serializeIrAnonymousInit(declaration: IrAnonymousInitializer) = ProtoAnonymousInit.newBuilder() .setBase(serializeIrDeclarationBase(declaration)) - .setBody(serializeStatement(declaration.body)) + .setBody(serializeIrStatementBody(declaration.body)) .build() private fun serializeIrLocalDelegatedProperty(variable: IrLocalDelegatedProperty): ProtoLocalDelegatedProperty { @@ -1117,7 +1172,7 @@ open class IrModuleSerializer( .setType(serializeIrType(field.type)) val initializer = field.initializer?.expression if (initializer != null) { - proto.initializer = serializeExpression(initializer) + proto.initializer = serializeIrExpressionBody(initializer) } return proto.build() } @@ -1190,7 +1245,7 @@ open class IrModuleSerializer( .setName(serializeName(enumEntry.name)) enumEntry.initializerExpression?.let { - proto.initializer = serializeExpression(it) + proto.initializer = serializeIrExpressionBody(it) } enumEntry.correspondingClass?.let { proto.correspondingClass = serializeIrClass(it) @@ -1238,17 +1293,30 @@ open class IrModuleSerializer( // ---------- Top level ------------------------------------------------------ fun serializeFileEntry(entry: SourceManager.FileEntry) = ProtoFileEntry.newBuilder() - .setName(serializeString(entry.name)) + .setName(entry.name) .addAllLineStartOffsets(entry.lineStartOffsets.asIterable()) .build() open fun backendSpecificExplicitRoot(declaration: IrFunction) = false open fun backendSpecificExplicitRoot(declaration: IrClass) = false - fun serializeIrFile(file: IrFile, topLevelDeclarations: MutableList): ProtoFile { + fun serializeIrFile(file: IrFile): IrIrSerializedIrFile { + val topLevelDeclarations = mutableListOf() + + protoSymbolMap = mutableMapOf() + protoSymbolArray = arrayListOf() + + protoTypeMap = mutableMapOf() + protoTypeArray = arrayListOf() + + protoStringMap = mutableMapOf() + protoStringArray = arrayListOf() + + protoBodyArray = mutableListOf() + val proto = ProtoFile.newBuilder() .setFileEntry(serializeFileEntry(file.fileEntry)) - .setFqName(serializeString(file.fqName.toString())) + .setFqName(serializeFqName(file.fqName)) .setAnnotations(serializeAnnotations(file.annotations)) file.declarations.forEach { @@ -1259,7 +1327,7 @@ open class IrModuleSerializer( val byteArray = serializeDeclaration(it).toByteArray() val uniqId = declarationTable.uniqIdByDeclaration(it) - topLevelDeclarations.add(TopLevelDeclaration(uniqId.index, uniqId.isLocal, byteArray)) + topLevelDeclarations.add(TopLevelDeclaration(uniqId.index, uniqId.isLocal, it.descriptor.toString(), byteArray)) proto.addDeclarationId(protoUniqId(uniqId)) } @@ -1293,27 +1361,19 @@ open class IrModuleSerializer( } }) - return proto.build() + return IrIrSerializedIrFile( + proto.build().toByteArray(), + file.fqName.pathSegments().map { it.identifier }, + file.path, + protoSymbolArray.map { it.toByteArray() }, + protoTypeArray.map { it.toByteArray() }, + protoStringArray.map { it.toByteArray() }, + protoBodyArray.map { it.toByteArray() }, + topLevelDeclarations + ) } - fun serializedIrModule(module: IrModuleFragment): SerializedIr { - val proto = ProtoModule.newBuilder() - .setName(serializeName(module.name)) - - val topLevelDeclarations = mutableListOf() - - module.files.filter { it.packageFragmentDescriptor !is FunctionInterfacePackageFragment }.forEach { - proto.addFile(serializeIrFile(it, topLevelDeclarations)) - } - - assert(module.files.sumBy { it.declarations.size } == topLevelDeclarations.size) - - val symbols = protoSymbolArray.map { it.toByteArray() } - val types = protoTypeArray.map { it.toByteArray() } - val strings = protoStringArray.map { it.toByteArray() } - - val moduleBytes = proto.build().toByteArray() - - return SerializedIr(moduleBytes, symbols, types, strings, topLevelDeclarations) + fun serializedIrModule(module: IrModuleFragment): SerializedIrModule { + return SerializedIrModule(module.files.filter { it.packageFragmentDescriptor !is FunctionInterfacePackageFragment }.map { serializeIrFile(it) }) } } diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KlibStructure.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KlibStructure.kt new file mode 100644 index 00000000000..85fdab1fa8d --- /dev/null +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KlibStructure.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.backend.common.serialization + +import org.jetbrains.kotlin.name.FqName + +class Table + +sealed class KlibEntry(val fqName: FqName) + +class KlibFileEntry(fqName: FqName) : KlibEntry(fqName) { + lateinit var bodyData: ByteArray + lateinit var headerData: ByteArray + + val stringTable = Table() + val symbolTable = Table() + val typeTable = Table() +} + +class KlibPackageEntry(fqName: FqName) : KlibEntry(fqName) { + val childs = mutableListOf() +} + +class KlibModuleEntry(val name: String) : KlibEntry(FqName.ROOT) { + val packages = mutableListOf() + + val stringTable = Table() + val symbolTable = Table() + val typeTable = Table() +} \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt index 5e8bfa89deb..3d4cfd91394 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt @@ -7,8 +7,10 @@ package org.jetbrains.kotlin.backend.common.serialization import org.jetbrains.kotlin.backend.common.LoggingContext import org.jetbrains.kotlin.backend.common.descriptors.* +import org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex as ProtoBodyIndex import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.impl.EmptyPackageFragmentDescriptor +import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrFile @@ -17,6 +19,9 @@ import org.jetbrains.kotlin.ir.declarations.impl.IrClassImpl import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl import org.jetbrains.kotlin.ir.declarations.impl.IrModuleFragmentImpl import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns +import org.jetbrains.kotlin.ir.expressions.IrExpression +import org.jetbrains.kotlin.ir.expressions.impl.IrBlockBodyImpl +import org.jetbrains.kotlin.ir.expressions.impl.IrErrorExpressionImpl import org.jetbrains.kotlin.ir.expressions.impl.IrLoopBase import org.jetbrains.kotlin.ir.symbols.IrClassSymbol import org.jetbrains.kotlin.ir.symbols.IrClassifierSymbol @@ -24,6 +29,7 @@ import org.jetbrains.kotlin.ir.symbols.IrSymbol import org.jetbrains.kotlin.ir.symbols.impl.* import org.jetbrains.kotlin.ir.types.IrSimpleType import org.jetbrains.kotlin.ir.types.IrType +import org.jetbrains.kotlin.ir.types.impl.IrErrorTypeImpl import org.jetbrains.kotlin.ir.util.IrDeserializer import org.jetbrains.kotlin.ir.util.NaiveSourceBasedFileEntryImpl import org.jetbrains.kotlin.ir.util.SymbolTable @@ -32,23 +38,25 @@ import org.jetbrains.kotlin.protobuf.ExtensionRegistryLite.newInstance import org.jetbrains.kotlin.resolve.descriptorUtil.module import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedCallableMemberDescriptor import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor +import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.backend.common.serialization.proto.Annotations as ProtoAnnotations import org.jetbrains.kotlin.backend.common.serialization.proto.DescriptorReference as ProtoDescriptorReference import org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclaration as ProtoDeclaration import org.jetbrains.kotlin.backend.common.serialization.proto.IrFile as ProtoFile -import org.jetbrains.kotlin.backend.common.serialization.proto.IrModule as ProtoModule -import org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol as ProtoSymbol +import org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex as ProtoSymbolIndex import org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbolData as ProtoSymbolData import org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbolKind as ProtoSymbolKind import org.jetbrains.kotlin.backend.common.serialization.proto.IrType as ProtoType -import org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex as ProtoTypeIndex -import org.jetbrains.kotlin.backend.common.serialization.proto.String as ProtoString +import org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex as ProtoTypeIndex +import org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex as ProtoStringIndex +import org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement as ProtoStatement +import org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression as ProtoExpression abstract class KotlinIrLinker( val logger: LoggingContext, val builtIns: IrBuiltIns, val symbolTable: SymbolTable, - val exportedDependencies: List, + private val exportedDependencies: List, private val forwardModuleDescriptor: ModuleDescriptor?, private val firstKnownBuiltinsIndex: Long ) : DescriptorUniqIdAware, IrDeserializer { @@ -61,210 +69,277 @@ abstract class KotlinIrLinker( private val forwardDeclarations = mutableSetOf() val resolvedForwardDeclarations = mutableMapOf() - protected val deserializersForModules = mutableMapOf() - val fileAnnotations = mutableMapOf() + protected val deserializersForModules = mutableMapOf() - inner class IrDeserializerForModule( + inner class IrModuleDeserializer( private val moduleDescriptor: ModuleDescriptor, - private val moduleProto: ProtoModule, private val deserializationStrategy: DeserializationStrategy - ) : IrModuleDeserializer(logger, builtIns, symbolTable) { + ) { + val fileToDeserializerMap = mutableMapOf() + // This is a heavy initializer + val module = deserializeIrModuleHeader() private var moduleLoops = mutableMapOf() - private val symbolProtosCache = mutableMapOf() - private val typeProtosCache = mutableMapOf() - private val stringsCache = mutableMapOf() + inner class IrDeserializerForFile(private var annotationsProto: ProtoAnnotations?, private val fileIndex: Int, onlyHeaders: Boolean) : + IrFileDeserializer(logger, builtIns, symbolTable) { - // This is a heavy initializer - val module = deserializeIrModuleHeader(moduleProto) + private val symbolProtosCache = mutableMapOf() + private val typeProtosCache = mutableMapOf() + private val stringsCache = mutableMapOf() - private fun referenceDeserializedSymbol( - proto: ProtoSymbolData, - descriptor: DeclarationDescriptor? - ): IrSymbol = when (proto.kind) { - ProtoSymbolKind.ANONYMOUS_INIT_SYMBOL -> - IrAnonymousInitializerSymbolImpl( - descriptor as ClassDescriptor? - ?: WrappedClassDescriptor() - ) - ProtoSymbolKind.CLASS_SYMBOL -> - symbolTable.referenceClass( - descriptor as ClassDescriptor? - ?: WrappedClassDescriptor() - ) - ProtoSymbolKind.CONSTRUCTOR_SYMBOL -> - symbolTable.referenceConstructor( - descriptor as ClassConstructorDescriptor? - ?: WrappedClassConstructorDescriptor() - ) - ProtoSymbolKind.TYPE_PARAMETER_SYMBOL -> - symbolTable.referenceTypeParameter( - descriptor as TypeParameterDescriptor? - ?: WrappedTypeParameterDescriptor() - ) - ProtoSymbolKind.ENUM_ENTRY_SYMBOL -> - symbolTable.referenceEnumEntry( - descriptor as ClassDescriptor? - ?: WrappedEnumEntryDescriptor() - ) - ProtoSymbolKind.STANDALONE_FIELD_SYMBOL -> - symbolTable.referenceField(WrappedFieldDescriptor()) + private val declarationsBytes: ByteArray by lazy { TODO("") } + private val bodiesBytes: ByteArray by lazy { TODO("") } + private val symbolsBytes: ByteArray by lazy { TODO("") } + private val typesBytes: ByteArray by lazy { TODO("") } + private val stringsBytes: ByteArray by lazy { TODO("") } + lateinit var file: IrFile - ProtoSymbolKind.FIELD_SYMBOL -> - symbolTable.referenceField( - descriptor as PropertyDescriptor? - ?: WrappedPropertyDescriptor() - ) - ProtoSymbolKind.FUNCTION_SYMBOL -> - symbolTable.referenceSimpleFunction( - descriptor as FunctionDescriptor? - ?: WrappedSimpleFunctionDescriptor() - ) - ProtoSymbolKind.TYPEALIAS_SYMBOL -> - symbolTable.referenceTypeAlias( - descriptor as TypeAliasDescriptor? - ?: WrappedTypeAliasDescriptor() - ) - ProtoSymbolKind.VARIABLE_SYMBOL -> - IrVariableSymbolImpl( - descriptor as VariableDescriptor? - ?: WrappedVariableDescriptor() - ) - ProtoSymbolKind.VALUE_PARAMETER_SYMBOL -> - IrValueParameterSymbolImpl( - descriptor as ParameterDescriptor? - ?: WrappedValueParameterDescriptor() - ) - ProtoSymbolKind.RECEIVER_PARAMETER_SYMBOL -> - IrValueParameterSymbolImpl( - descriptor as ParameterDescriptor? ?: WrappedReceiverParameterDescriptor() - ) - ProtoSymbolKind.PROPERTY_SYMBOL -> - symbolTable.referenceProperty( - descriptor as PropertyDescriptor? ?: WrappedPropertyDescriptor() - ) - ProtoSymbolKind.LOCAL_DELEGATED_PROPERTY_SYMBOL -> - IrLocalDelegatedPropertySymbolImpl(descriptor as? VariableDescriptorWithAccessors ?: WrappedVariableDescriptorWithAccessor()) - else -> TODO("Unexpected classifier symbol kind: ${proto.kind}") - } + private val deserializeBodies: Boolean = !onlyHeaders - private fun loadSymbolProto(index: Int): ProtoSymbolData { - return symbolProtosCache.getOrPut(index) { - loadSymbolProto(moduleDescriptor, index) + fun deserializeDeclaration(key: UniqIdKey): IrDeclaration { + return deserializeDeclaration(loadTopLevelDeclarationProto(key), file) } - } - private fun loadTypeProto(index: Int): ProtoType { - return typeProtosCache.getOrPut(index) { - loadTypeProto(moduleDescriptor, index) + private fun loadTopLevelDeclarationProto(uniqIdKey: UniqIdKey): ProtoDeclaration { + val stream = reader(moduleDescriptor, fileIndex, uniqIdKey.uniqId).codedInputStream + return ProtoDeclaration.parseFrom(stream, newInstance()) } - } - private fun loadString(index: Int): String { - return stringsCache.getOrPut(index) { - loadString(moduleDescriptor, index) + private fun loadSymbolProto(index: Int): ProtoSymbolData { + val stream = readSymbol(moduleDescriptor, fileIndex, index).codedInputStream + return ProtoSymbolData.parseFrom(stream, newInstance()) } - } - override fun deserializeIrSymbol(proto: ProtoSymbol): IrSymbol { - val symbolData = loadSymbolProto(proto.index) - return deserializeIrSymbolData(symbolData) - } + private fun loadTypeProto(index: Int): ProtoType { + val stream = readType(moduleDescriptor, fileIndex, index).codedInputStream + return ProtoType.parseFrom(stream, newInstance()) + } - override fun deserializeIrType(proto: ProtoTypeIndex): IrType { - val typeData = loadTypeProto(proto.index) - return deserializeIrTypeData(typeData) - } + private fun loadStatementBodyProto(index: Int): ProtoStatement { + val stream = readBody(moduleDescriptor, fileIndex, index).codedInputStream + return ProtoStatement.parseFrom(stream, newInstance()) + } - override fun deserializeString(proto: ProtoString): String = - loadString(proto.index) + private fun loadExpressionBodyProto(index: Int): ProtoExpression { + val stream = readBody(moduleDescriptor, fileIndex, index).codedInputStream + return ProtoExpression.parseFrom(stream, newInstance()) + } - override fun deserializeLoopHeader(loopIndex: Int, loopBuilder: () -> IrLoopBase) = - moduleLoops.getOrPut(loopIndex, loopBuilder) + private fun loadStringProto(index: Int): String { + return String(readString(moduleDescriptor, fileIndex, index)) + } - private fun deserializeIrSymbolData(proto: ProtoSymbolData): IrSymbol { - val key = proto.uniqId.uniqIdKey(moduleDescriptor) - val topLevelKey = proto.topLevelUniqId.uniqIdKey(moduleDescriptor) + private fun referenceDeserializedSymbol( + proto: ProtoSymbolData, + descriptor: DeclarationDescriptor? + ): IrSymbol = when (proto.kind) { + ProtoSymbolKind.ANONYMOUS_INIT_SYMBOL -> + IrAnonymousInitializerSymbolImpl( + descriptor as ClassDescriptor? + ?: WrappedClassDescriptor() + ) + ProtoSymbolKind.CLASS_SYMBOL -> + symbolTable.referenceClass( + descriptor as ClassDescriptor? + ?: WrappedClassDescriptor() + ) + ProtoSymbolKind.CONSTRUCTOR_SYMBOL -> + symbolTable.referenceConstructor( + descriptor as ClassConstructorDescriptor? + ?: WrappedClassConstructorDescriptor() + ) + ProtoSymbolKind.TYPE_PARAMETER_SYMBOL -> + symbolTable.referenceTypeParameter( + descriptor as TypeParameterDescriptor? + ?: WrappedTypeParameterDescriptor() + ) + ProtoSymbolKind.ENUM_ENTRY_SYMBOL -> + symbolTable.referenceEnumEntry( + descriptor as ClassDescriptor? + ?: WrappedEnumEntryDescriptor() + ) + ProtoSymbolKind.STANDALONE_FIELD_SYMBOL -> + symbolTable.referenceField(WrappedFieldDescriptor()) - if (!deserializedTopLevels.contains(topLevelKey)) reachableTopLevels.add(topLevelKey) + ProtoSymbolKind.FIELD_SYMBOL -> + symbolTable.referenceField( + descriptor as PropertyDescriptor? + ?: WrappedPropertyDescriptor() + ) + ProtoSymbolKind.FUNCTION_SYMBOL -> + symbolTable.referenceSimpleFunction( + descriptor as FunctionDescriptor? + ?: WrappedSimpleFunctionDescriptor() + ) + ProtoSymbolKind.VARIABLE_SYMBOL -> + IrVariableSymbolImpl( + descriptor as VariableDescriptor? + ?: WrappedVariableDescriptor() + ) + ProtoSymbolKind.VALUE_PARAMETER_SYMBOL -> + IrValueParameterSymbolImpl( + descriptor as ParameterDescriptor? + ?: WrappedValueParameterDescriptor() + ) + ProtoSymbolKind.RECEIVER_PARAMETER_SYMBOL -> + IrValueParameterSymbolImpl( + descriptor as ParameterDescriptor? ?: WrappedReceiverParameterDescriptor() + ) + ProtoSymbolKind.PROPERTY_SYMBOL -> + symbolTable.referenceProperty( + descriptor as PropertyDescriptor? ?: WrappedPropertyDescriptor() + ) + ProtoSymbolKind.LOCAL_DELEGATED_PROPERTY_SYMBOL -> + IrLocalDelegatedPropertySymbolImpl( + descriptor as? VariableDescriptorWithAccessors ?: WrappedVariableDescriptorWithAccessor() + ) + else -> TODO("Unexpected classifier symbol kind: ${proto.kind}") + } - val symbol = deserializedSymbols.getOrPut(key) { - val descriptor = if (proto.hasDescriptorReference()) { - deserializeDescriptorReference(proto.descriptorReference) - } else { - null + fun loadSymbolData(index: Int): ProtoSymbolData { + return symbolProtosCache.getOrPut(index) { + loadSymbolProto(index) } + } - resolvedForwardDeclarations[key]?.let { - if (!deserializedTopLevels.contains(it)) reachableTopLevels.add(it) // Assuming forward declarations are always top levels. + private fun loadTypeData(index: Int): ProtoType { + return typeProtosCache.getOrPut(index) { + loadTypeProto(index) } + } - descriptor?.module?.let { - if (!deserializersForModules.containsKey(it) && !it.isForwardDeclarationModule) { - deserializeIrModuleHeader(it)!! + private fun loadString(index: Int): String { + return stringsCache.getOrPut(index) { + loadStringProto(index) + } + } + + private fun deserializeIrSymbolData(proto: ProtoSymbolData): IrSymbol { + val key = proto.uniqId.uniqIdKey(moduleDescriptor) + val topLevelKey = proto.topLevelUniqId.uniqIdKey(moduleDescriptor) + + if (!deserializedTopLevels.contains(topLevelKey)) reachableTopLevels.add(topLevelKey) + + val symbol = deserializedSymbols.getOrPut(key) { + val descriptor = if (proto.hasDescriptorReference()) { + deserializeDescriptorReference(proto.descriptorReference) + } else { + null } + + resolvedForwardDeclarations[key]?.let { + if (!deserializedTopLevels.contains(it)) reachableTopLevels.add(it) // Assuming forward declarations are always top levels. + } + + descriptor?.module?.let { + if (!deserializersForModules.containsKey(it) && !it.isForwardDeclarationModule) { + deserializeIrModuleHeader(it)!! + } + } + + referenceDeserializedSymbol(proto, descriptor) + } + if (symbol.descriptor is ClassDescriptor && + symbol.descriptor !is WrappedDeclarationDescriptor<*> && + symbol.descriptor.module.isForwardDeclarationModule + ) { + forwardDeclarations.add(symbol) } - referenceDeserializedSymbol(proto, descriptor) - } - if (symbol.descriptor is ClassDescriptor && - symbol.descriptor !is WrappedDeclarationDescriptor<*> && - symbol.descriptor.module.isForwardDeclarationModule - ) { - forwardDeclarations.add(symbol) + return symbol } - return symbol + override fun deserializeDescriptorReference(proto: ProtoDescriptorReference) = + descriptorReferenceDeserializer.deserializeDescriptorReference( + deserializeFqName(proto.packageFqName), + deserializeFqName(proto.classFqName), + deserializeString(proto.name), + if (proto.hasUniqId()) proto.uniqId.index else null, + isEnumEntry = proto.isEnumEntry, + isEnumSpecial = proto.isEnumSpecial, + isDefaultConstructor = proto.isDefaultConstructor, + isFakeOverride = proto.isFakeOverride, + isGetter = proto.isGetter, + isSetter = proto.isSetter, + isTypeParameter = proto.isTypeParameter + ) + + override fun deserializeIrSymbol(proto: ProtoSymbolIndex): IrSymbol { + val symbolData = loadSymbolProto(proto.index) + return deserializeIrSymbolData(symbolData) + } + + override fun deserializeIrType(proto: ProtoTypeIndex): IrType { + val typeData = loadTypeProto(proto.index) + return deserializeIrTypeData(typeData) + } + + override fun deserializeString(proto: ProtoStringIndex): String = + loadStringProto(proto.index) + + override fun deserializeLoopHeader(loopIndex: Int, loopBuilder: () -> IrLoopBase) = + moduleLoops.getOrPut(loopIndex, loopBuilder) + + override fun deserializeExpressionBody(proto: ProtoBodyIndex): IrExpression { + if (deserializeBodies) { + val bodyData = loadExpressionBodyProto(proto.index) + return deserializeExpression(bodyData) + } else { + val errorType = IrErrorTypeImpl(null, emptyList(), Variance.INVARIANT) + return IrErrorExpressionImpl(-1, -1, errorType, "Expression body is not deserialized yet") + } + } + + override fun deserializeStatementBody(proto: ProtoBodyIndex): IrElement { + if (deserializeBodies) { + val bodyData = loadStatementBodyProto(proto.index) + return deserializeStatement(bodyData) + } else { + val errorType = IrErrorTypeImpl(null, emptyList(), Variance.INVARIANT) + return IrBlockBodyImpl(-1, -1, listOf(IrErrorExpressionImpl(-1, -1, errorType, "Statement body is not deserialized yet"))) + } + } + + // TODO: this is JS specific. Eliminate me. + override fun getPrimitiveTypeOrNull(symbol: IrClassifierSymbol, hasQuestionMark: Boolean) = + this@KotlinIrLinker.getPrimitiveTypeOrNull(symbol, hasQuestionMark) + + fun deserializeFileAnnotationsIfFirstUse() { + annotationsProto?.let { + file.annotations.addAll(deserializeAnnotations(it)) + annotationsProto = null + } + } } - override fun deserializeDescriptorReference(proto: ProtoDescriptorReference) = - descriptorReferenceDeserializer.deserializeDescriptorReference( - deserializeString(proto.packageFqName), - deserializeString(proto.classFqName), - deserializeString(proto.name), - if (proto.hasUniqId()) proto.uniqId.index else null, - isEnumEntry = proto.isEnumEntry, - isEnumSpecial = proto.isEnumSpecial, - isDefaultConstructor = proto.isDefaultConstructor, - isFakeOverride = proto.isFakeOverride, - isGetter = proto.isGetter, - isSetter = proto.isSetter, - isTypeParameter = proto.isTypeParameter - ) + private fun deserializeIrFile(fileProto: ProtoFile, fileIndex: Int): IrFile { - // TODO: this is JS specific. Eliminate me. - override fun getPrimitiveTypeOrNull(symbol: IrClassifierSymbol, hasQuestionMark: Boolean) = - this@KotlinIrLinker.getPrimitiveTypeOrNull(symbol, hasQuestionMark) + val fileName = fileProto.fileEntry.name - fun deserializeIrFile(fileProto: ProtoFile): IrFile { + val fileEntry = NaiveSourceBasedFileEntryImpl(fileName, fileProto.fileEntry.lineStartOffsetsList.toIntArray()) - val fileEntry = NaiveSourceBasedFileEntryImpl( - this.deserializeString(fileProto.fileEntry.name), - fileProto.fileEntry.lineStartOffsetsList.toIntArray() - ) + val fileDeserializer = IrDeserializerForFile(fileProto.annotations, fileIndex, !deserializationStrategy.needBodies) - // TODO: we need to store "" in protobuf, I suppose. Or better yet, reuse fqname storage from metadata. - val fqName = this.deserializeString(fileProto.fqName) - .let { if (it == "") FqName.ROOT else FqName(it) } + val fqName = fileDeserializer.deserializeFqName(fileProto.fqName) val packageFragmentDescriptor = EmptyPackageFragmentDescriptor(moduleDescriptor, fqName) val symbol = IrFileSymbolImpl(packageFragmentDescriptor) val file = IrFileImpl(fileEntry, symbol, fqName) - // We deserialize file annotations on first file use. - fileAnnotations.put(file, fileProto.annotations) + fileDeserializer.file = file fileProto.declarationIdList.forEach { val uniqIdKey = it.uniqIdKey(moduleDescriptor) reversedFileIndex.getOrPut(uniqIdKey) { mutableListOf() }.add(file) + fileToDeserializerMap[file] = fileDeserializer } when (deserializationStrategy) { DeserializationStrategy.EXPLICITLY_EXPORTED -> { fileProto.explicitlyExportedToCompilerList.forEach { - val symbolProto = loadSymbolProto(it.index) + val symbolProto = fileDeserializer.loadSymbolData(it.index) reachableTopLevels.add(symbolProto.topLevelUniqId.uniqIdKey(moduleDescriptor)) } } @@ -280,12 +355,19 @@ abstract class KotlinIrLinker( return file } - fun deserializeIrModuleHeader( - proto: ProtoModule - ): IrModuleFragment { - val files = proto.fileList.map { - deserializeIrFile(it) + private fun deserializeIrModuleHeader(): IrModuleFragment { + val fileCount = readFileCount(moduleDescriptor) + + val files = mutableListOf() + + for (i in 0 until fileCount) { + files.add(deserializeIrFile(ProtoFile.parseFrom(readFile(moduleDescriptor, i), newInstance()), i)) } + +// val files = readFiles(moduleDescriptor).map { +// deserializeIrFile(ProtoFile.parseFrom(it.codedInputStream, newInstance())) +// } + return IrModuleFragmentImpl(moduleDescriptor, builtIns, files) } } @@ -320,16 +402,13 @@ abstract class KotlinIrLinker( get() = this.moduleDescriptor ?: reversedFileIndex[this]?.handleClashes(this)?.packageFragmentDescriptor?.containingDeclaration - private fun deserializeTopLevelDeclaration(uniqIdKey: UniqIdKey): IrDeclaration { - val proto = loadTopLevelDeclarationProto(uniqIdKey) - return deserializersForModules[uniqIdKey.moduleOfOrigin]!! - .deserializeDeclaration(proto, reversedFileIndex[uniqIdKey]!!.handleClashes(uniqIdKey)) - } - - protected abstract fun reader(moduleDescriptor: ModuleDescriptor, uniqId: UniqId): ByteArray - protected abstract fun readSymbol(moduleDescriptor: ModuleDescriptor, symbolIndex: Int): ByteArray - protected abstract fun readType(moduleDescriptor: ModuleDescriptor, typeIndex: Int): ByteArray - protected abstract fun readString(moduleDescriptor: ModuleDescriptor, stringIndex: Int): ByteArray + protected abstract fun reader(moduleDescriptor: ModuleDescriptor, fileIndex: Int, uniqId: UniqId): ByteArray + protected abstract fun readSymbol(moduleDescriptor: ModuleDescriptor, fileIndex: Int, symbolIndex: Int): ByteArray + protected abstract fun readType(moduleDescriptor: ModuleDescriptor, fileIndex: Int, typeIndex: Int): ByteArray + protected abstract fun readString(moduleDescriptor: ModuleDescriptor, fileIndex: Int, stringIndex: Int): ByteArray + protected abstract fun readBody(moduleDescriptor: ModuleDescriptor, fileIndex: Int, bodyIndex: Int): ByteArray + protected abstract fun readFile(moduleDescriptor: ModuleDescriptor, fileIndex: Int): ByteArray + protected abstract fun readFileCount(moduleDescriptor: ModuleDescriptor): Int protected open fun List.handleClashes(uniqIdKey: UniqIdKey): IrFile { if (size == 1) @@ -339,31 +418,6 @@ abstract class KotlinIrLinker( "[${this.joinToString { it.packageFragmentDescriptor.containingDeclaration.name.asString() }}]") } - private fun loadTopLevelDeclarationProto(uniqIdKey: UniqIdKey): ProtoDeclaration { - val stream = reader(uniqIdKey.moduleOfOrigin!!, uniqIdKey.uniqId).codedInputStream - return ProtoDeclaration.parseFrom(stream, newInstance()) - } - - private fun loadSymbolProto(moduleDescriptor: ModuleDescriptor, index: Int): ProtoSymbolData { - val stream = readSymbol(moduleDescriptor, index).codedInputStream - return ProtoSymbolData.parseFrom(stream, newInstance()) - } - - private fun loadTypeProto(moduleDescriptor: ModuleDescriptor, index: Int): ProtoType { - val stream = readType(moduleDescriptor, index).codedInputStream - return ProtoType.parseFrom(stream, newInstance()) - } - - private fun loadString(moduleDescriptor: ModuleDescriptor, index: Int): String { - return String(readString(moduleDescriptor, index)) - } - - private fun deserializeFileAnnotationsIfFirstUse(module: ModuleDescriptor, file: IrFile) { - val annotations = fileAnnotations[file] ?: return - file.annotations.addAll(deserializersForModules[module]!!.deserializeAnnotations(annotations)) - fileAnnotations.remove(file) - } - private fun deserializeAllReachableTopLevels() { do { val key = reachableTopLevels.first() @@ -380,10 +434,12 @@ abstract class KotlinIrLinker( continue } - val reachable = deserializeTopLevelDeclaration(key) + val moduleDeserializer = deserializersForModules[moduleOfOrigin] ?: error("No module found") val file = reversedFileIndex[key]!!.handleClashes(key) + val fileDeserializer: IrModuleDeserializer.IrDeserializerForFile = moduleDeserializer.fileToDeserializerMap[file] ?: error("dkjfkljfls") + val reachable = fileDeserializer.deserializeDeclaration(key) file.declarations.add(reachable) - deserializeFileAnnotationsIfFirstUse(moduleOfOrigin, file) + fileDeserializer.deserializeFileAnnotationsIfFirstUse() reachableTopLevels.remove(key) deserializedTopLevels.add(key) @@ -462,38 +518,33 @@ abstract class KotlinIrLinker( } } - fun deserializeIrModuleHeader( + private fun deserializeIrModuleHeader( moduleDescriptor: ModuleDescriptor, - byteArray: ByteArray, deserializationStrategy: DeserializationStrategy = DeserializationStrategy.ONLY_REFERENCED ): IrModuleFragment { val deserializerForModule = deserializersForModules.getOrPut(moduleDescriptor) { - val proto = ProtoModule.parseFrom(byteArray.codedInputStream, newInstance()) - IrDeserializerForModule(moduleDescriptor, proto, deserializationStrategy) + IrModuleDeserializer(moduleDescriptor, deserializationStrategy) } // The IrModule and its IrFiles have been created during module initialization. return deserializerForModule.module } - abstract val ModuleDescriptor.irHeader: ByteArray? - - fun deserializeIrModuleHeader(moduleDescriptor: ModuleDescriptor): IrModuleFragment? = - // TODO: do we really allow libraries without any IR? - moduleDescriptor.irHeader?.let { header -> - // TODO: consider skip deserializing explicitly exported declarations for libraries. - // Now it's not valid because of all dependencies that must be computed. - val deserializationStrategy = - if (exportedDependencies.contains(moduleDescriptor)) { - DeserializationStrategy.ALL - } else { - DeserializationStrategy.EXPLICITLY_EXPORTED - } - deserializeIrModuleHeader(moduleDescriptor, header, deserializationStrategy) - } + fun deserializeIrModuleHeader(moduleDescriptor: ModuleDescriptor): IrModuleFragment? { + // TODO: consider skip deserializing explicitly exported declarations for libraries. + // Now it's not valid because of all dependencies that must be computed. + val deserializationStrategy = + if (exportedDependencies.contains(moduleDescriptor)) { + DeserializationStrategy.ALL + } else { + DeserializationStrategy.EXPLICITLY_EXPORTED + } + return deserializeIrModuleHeader(moduleDescriptor, deserializationStrategy) + } } -enum class DeserializationStrategy { - ONLY_REFERENCED, - ALL, - EXPLICITLY_EXPORTED +enum class DeserializationStrategy(val needBodies: Boolean) { + ONLY_REFERENCED(true), + ALL(true), + EXPLICITLY_EXPORTED(true), + ONLY_DECLARATION_HEADERS(false) } diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/SerializeDescriptorReference.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/SerializeDescriptorReference.kt index 1d77155d605..79e97d952bf 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/SerializeDescriptorReference.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/SerializeDescriptorReference.kt @@ -6,13 +6,15 @@ package org.jetbrains.kotlin.backend.common.serialization import org.jetbrains.kotlin.backend.common.serialization.proto.DescriptorReference as ProtoDescriptorReference -import org.jetbrains.kotlin.backend.common.serialization.proto.String as ProtoString +import org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex as ProtoString +import org.jetbrains.kotlin.backend.common.serialization.proto.FqName as ProtoFqName import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.util.isAccessor import org.jetbrains.kotlin.ir.util.isGetter import org.jetbrains.kotlin.ir.util.isSetter +import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.resolve.DescriptorFactory import org.jetbrains.kotlin.resolve.descriptorUtil.classId @@ -20,6 +22,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.classId open class DescriptorReferenceSerializer( val declarationTable: DeclarationTable, val serializeString: (String) -> ProtoString, + val serializeFqName: (FqName) -> ProtoFqName, mangler: KotlinMangler): KotlinMangler by mangler { private fun isEnumSpecialMember(descriptor: DeclarationDescriptor): Boolean { @@ -28,14 +31,14 @@ open class DescriptorReferenceSerializer( return DescriptorFactory.isEnumValueOfMethod(descriptor) || DescriptorFactory.isEnumValuesMethod(descriptor) } - fun extractPackageAndClassFqns(descriptor: DeclarationDescriptor): Pair? { + fun extractPackageAndClassFqns(descriptor: DeclarationDescriptor): Pair? { val containingDeclaration = descriptor.containingDeclaration return when (containingDeclaration) { is ClassDescriptor -> { val classId = containingDeclaration.classId ?: return null - Pair(classId.packageFqName.toString(), classId.relativeClassName.toString()) + Pair(classId.packageFqName, classId.relativeClassName) } - is PackageFragmentDescriptor -> Pair(containingDeclaration.fqName.toString(), "") + is PackageFragmentDescriptor -> Pair(containingDeclaration.fqName, FqName.ROOT) is PropertyDescriptor -> if (descriptor !is TypeParameterDescriptor) null else { extractPackageAndClassFqns(containingDeclaration) } @@ -111,8 +114,8 @@ open class DescriptorReferenceSerializer( uniqId?.let { declarationTable.descriptors.put(discoverableDescriptorsDeclaration.descriptor, it) } val proto = ProtoDescriptorReference.newBuilder() - .setPackageFqName(serializeString(packageFqName)) - .setClassFqName(serializeString(classFqName)) + .setPackageFqName(serializeFqName(packageFqName)) + .setClassFqName(serializeFqName(classFqName)) .setName(serializeString(nameString)) if (uniqId != null) proto.setUniqId(protoUniqId(uniqId)) diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/DescriptorReference.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/DescriptorReference.java index cf481725a6a..f03aaae8aa8 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/DescriptorReference.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/DescriptorReference.java @@ -54,11 +54,11 @@ public final class DescriptorReference extends break; } case 10: { - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.FqName.Builder subBuilder = null; if (((bitField0_ & 0x00000001) == 0x00000001)) { subBuilder = packageFqName_.toBuilder(); } - packageFqName_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry); + packageFqName_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.FqName.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(packageFqName_); packageFqName_ = subBuilder.buildPartial(); @@ -67,11 +67,11 @@ public final class DescriptorReference extends break; } case 18: { - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.FqName.Builder subBuilder = null; if (((bitField0_ & 0x00000002) == 0x00000002)) { subBuilder = classFqName_.toBuilder(); } - classFqName_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry); + classFqName_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.FqName.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(classFqName_); classFqName_ = subBuilder.buildPartial(); @@ -80,11 +80,11 @@ public final class DescriptorReference extends break; } case 26: { - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000004) == 0x00000004)) { subBuilder = name_.toBuilder(); } - name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry); + name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(name_); name_ = subBuilder.buildPartial(); @@ -180,47 +180,47 @@ public final class DescriptorReference extends private int bitField0_; public static final int PACKAGE_FQ_NAME_FIELD_NUMBER = 1; - private org.jetbrains.kotlin.backend.common.serialization.proto.String packageFqName_; + private org.jetbrains.kotlin.backend.common.serialization.proto.FqName packageFqName_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String package_fq_name = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName package_fq_name = 1; */ public boolean hasPackageFqName() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String package_fq_name = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName package_fq_name = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getPackageFqName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.FqName getPackageFqName() { return packageFqName_; } public static final int CLASS_FQ_NAME_FIELD_NUMBER = 2; - private org.jetbrains.kotlin.backend.common.serialization.proto.String classFqName_; + private org.jetbrains.kotlin.backend.common.serialization.proto.FqName classFqName_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String class_fq_name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName class_fq_name = 2; */ public boolean hasClassFqName() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String class_fq_name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName class_fq_name = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getClassFqName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.FqName getClassFqName() { return classFqName_; } public static final int NAME_FIELD_NUMBER = 3; - private org.jetbrains.kotlin.backend.common.serialization.proto.String name_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ public boolean hasName() { return ((bitField0_ & 0x00000004) == 0x00000004); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() { return name_; } @@ -368,9 +368,9 @@ public final class DescriptorReference extends } private void initFields() { - packageFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); - classFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + packageFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance(); + classFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance(); + name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); uniqId_ = org.jetbrains.kotlin.backend.common.serialization.proto.UniqId.getDefaultInstance(); isGetter_ = false; isSetter_ = false; @@ -611,11 +611,11 @@ public final class DescriptorReference extends public Builder clear() { super.clear(); - packageFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + packageFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); - classFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + classFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000004); uniqId_ = org.jetbrains.kotlin.backend.common.serialization.proto.UniqId.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000008); @@ -806,23 +806,23 @@ public final class DescriptorReference extends } private int bitField0_; - private org.jetbrains.kotlin.backend.common.serialization.proto.String packageFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.FqName packageFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String package_fq_name = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName package_fq_name = 1; */ public boolean hasPackageFqName() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String package_fq_name = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName package_fq_name = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getPackageFqName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.FqName getPackageFqName() { return packageFqName_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String package_fq_name = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName package_fq_name = 1; */ - public Builder setPackageFqName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder setPackageFqName(org.jetbrains.kotlin.backend.common.serialization.proto.FqName value) { if (value == null) { throw new NullPointerException(); } @@ -832,23 +832,23 @@ public final class DescriptorReference extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String package_fq_name = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName package_fq_name = 1; */ public Builder setPackageFqName( - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.FqName.Builder builderForValue) { packageFqName_ = builderForValue.build(); bitField0_ |= 0x00000001; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String package_fq_name = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName package_fq_name = 1; */ - public Builder mergePackageFqName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder mergePackageFqName(org.jetbrains.kotlin.backend.common.serialization.proto.FqName value) { if (((bitField0_ & 0x00000001) == 0x00000001) && - packageFqName_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) { + packageFqName_ != org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance()) { packageFqName_ = - org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(packageFqName_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.FqName.newBuilder(packageFqName_).mergeFrom(value).buildPartial(); } else { packageFqName_ = value; } @@ -857,32 +857,32 @@ public final class DescriptorReference extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String package_fq_name = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName package_fq_name = 1; */ public Builder clearPackageFqName() { - packageFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + packageFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.String classFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.FqName classFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String class_fq_name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName class_fq_name = 2; */ public boolean hasClassFqName() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String class_fq_name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName class_fq_name = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getClassFqName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.FqName getClassFqName() { return classFqName_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String class_fq_name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName class_fq_name = 2; */ - public Builder setClassFqName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder setClassFqName(org.jetbrains.kotlin.backend.common.serialization.proto.FqName value) { if (value == null) { throw new NullPointerException(); } @@ -892,23 +892,23 @@ public final class DescriptorReference extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String class_fq_name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName class_fq_name = 2; */ public Builder setClassFqName( - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.FqName.Builder builderForValue) { classFqName_ = builderForValue.build(); bitField0_ |= 0x00000002; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String class_fq_name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName class_fq_name = 2; */ - public Builder mergeClassFqName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder mergeClassFqName(org.jetbrains.kotlin.backend.common.serialization.proto.FqName value) { if (((bitField0_ & 0x00000002) == 0x00000002) && - classFqName_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) { + classFqName_ != org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance()) { classFqName_ = - org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(classFqName_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.FqName.newBuilder(classFqName_).mergeFrom(value).buildPartial(); } else { classFqName_ = value; } @@ -917,32 +917,32 @@ public final class DescriptorReference extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String class_fq_name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName class_fq_name = 2; */ public Builder clearClassFqName() { - classFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + classFqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ public boolean hasName() { return ((bitField0_ & 0x00000004) == 0x00000004); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() { return name_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ - public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -952,23 +952,23 @@ public final class DescriptorReference extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ public Builder setName( - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { name_ = builderForValue.build(); bitField0_ |= 0x00000004; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ - public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000004) == 0x00000004) && - name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) { + name_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { name_ = - org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(name_).mergeFrom(value).buildPartial(); } else { name_ = value; } @@ -977,10 +977,10 @@ public final class DescriptorReference extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ public Builder clearName() { - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000004); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/DescriptorReferenceOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/DescriptorReferenceOrBuilder.java index 718dea5123b..9352088aabf 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/DescriptorReferenceOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/DescriptorReferenceOrBuilder.java @@ -8,31 +8,31 @@ public interface DescriptorReferenceOrBuilder extends org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String package_fq_name = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName package_fq_name = 1; */ boolean hasPackageFqName(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String package_fq_name = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName package_fq_name = 1; */ - org.jetbrains.kotlin.backend.common.serialization.proto.String getPackageFqName(); + org.jetbrains.kotlin.backend.common.serialization.proto.FqName getPackageFqName(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String class_fq_name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName class_fq_name = 2; */ boolean hasClassFqName(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String class_fq_name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName class_fq_name = 2; */ - org.jetbrains.kotlin.backend.common.serialization.proto.String getClassFqName(); + org.jetbrains.kotlin.backend.common.serialization.proto.FqName getClassFqName(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ boolean hasName(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ - org.jetbrains.kotlin.backend.common.serialization.proto.String getName(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName(); /** * optional .org.jetbrains.kotlin.backend.common.serialization.proto.UniqId uniq_id = 4; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FieldAccessCommon.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FieldAccessCommon.java index 411af8f8f70..ff549caa6f3 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FieldAccessCommon.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FieldAccessCommon.java @@ -54,11 +54,11 @@ public final class FieldAccessCommon extends break; } case 10: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000001) == 0x00000001)) { subBuilder = symbol_.toBuilder(); } - symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry); + symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(symbol_); symbol_ = subBuilder.buildPartial(); @@ -67,11 +67,11 @@ public final class FieldAccessCommon extends break; } case 18: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000002) == 0x00000002)) { subBuilder = super_.toBuilder(); } - super_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry); + super_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(super_); super_ = subBuilder.buildPartial(); @@ -127,32 +127,32 @@ public final class FieldAccessCommon extends private int bitField0_; public static final int SYMBOL_FIELD_NUMBER = 1; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public boolean hasSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() { return symbol_; } public static final int SUPER_FIELD_NUMBER = 2; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_; /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 2; */ public boolean hasSuper() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSuper() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSuper() { return super_; } @@ -172,8 +172,8 @@ public final class FieldAccessCommon extends } private void initFields() { - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); - super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); + super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); receiver_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance(); } private byte memoizedIsInitialized = -1; @@ -333,9 +333,9 @@ public final class FieldAccessCommon extends public Builder clear() { super.clear(); - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); - super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); receiver_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000004); @@ -437,23 +437,23 @@ public final class FieldAccessCommon extends } private int bitField0_; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public boolean hasSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() { return symbol_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -463,23 +463,23 @@ public final class FieldAccessCommon extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public Builder setSymbol( - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { symbol_ = builderForValue.build(); bitField0_ |= 0x00000001; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000001) == 0x00000001) && - symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) { + symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { symbol_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial(); } else { symbol_ = value; } @@ -488,32 +488,32 @@ public final class FieldAccessCommon extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public Builder clearSymbol() { - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 2; */ public boolean hasSuper() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSuper() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSuper() { return super_; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 2; */ - public Builder setSuper(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder setSuper(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -523,23 +523,23 @@ public final class FieldAccessCommon extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 2; */ public Builder setSuper( - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { super_ = builderForValue.build(); bitField0_ |= 0x00000002; return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 2; */ - public Builder mergeSuper(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder mergeSuper(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000002) == 0x00000002) && - super_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) { + super_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { super_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(super_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(super_).mergeFrom(value).buildPartial(); } else { super_ = value; } @@ -548,10 +548,10 @@ public final class FieldAccessCommon extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 2; */ public Builder clearSuper() { - super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FieldAccessCommonOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FieldAccessCommonOrBuilder.java index 2677b7a9b5e..ea913bf3f20 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FieldAccessCommonOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FieldAccessCommonOrBuilder.java @@ -8,22 +8,22 @@ public interface FieldAccessCommonOrBuilder extends org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ boolean hasSymbol(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 2; */ boolean hasSuper(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 2; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSuper(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSuper(); /** * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression receiver = 3; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FileEntry.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FileEntry.java index ac054b49c75..f2c78be36f2 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FileEntry.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FileEntry.java @@ -54,16 +54,9 @@ public final class FileEntry extends break; } case 10: { - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null; - if (((bitField0_ & 0x00000001) == 0x00000001)) { - subBuilder = name_.toBuilder(); - } - name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(name_); - name_ = subBuilder.buildPartial(); - } + org.jetbrains.kotlin.protobuf.ByteString bs = input.readBytes(); bitField0_ |= 0x00000001; + name_ = bs; break; } case 16: { @@ -125,18 +118,45 @@ public final class FileEntry extends private int bitField0_; public static final int NAME_FIELD_NUMBER = 1; - private org.jetbrains.kotlin.backend.common.serialization.proto.String name_; + private java.lang.Object name_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1; + * required string name = 1; */ public boolean hasName() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1; + * required string name = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() { - return name_; + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + org.jetbrains.kotlin.protobuf.ByteString bs = + (org.jetbrains.kotlin.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + name_ = s; + } + return s; + } + } + /** + * required string name = 1; + */ + public org.jetbrains.kotlin.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + org.jetbrains.kotlin.protobuf.ByteString b = + org.jetbrains.kotlin.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (org.jetbrains.kotlin.protobuf.ByteString) ref; + } } public static final int LINE_START_OFFSETS_FIELD_NUMBER = 2; @@ -162,7 +182,7 @@ public final class FileEntry extends } private void initFields() { - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + name_ = ""; lineStartOffsets_ = java.util.Collections.emptyList(); } private byte memoizedIsInitialized = -1; @@ -175,10 +195,6 @@ public final class FileEntry extends memoizedIsInitialized = 0; return false; } - if (!getName().isInitialized()) { - memoizedIsInitialized = 0; - return false; - } memoizedIsInitialized = 1; return true; } @@ -187,7 +203,7 @@ public final class FileEntry extends throws java.io.IOException { getSerializedSize(); if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeMessage(1, name_); + output.writeBytes(1, getNameBytes()); } for (int i = 0; i < lineStartOffsets_.size(); i++) { output.writeInt32(2, lineStartOffsets_.get(i)); @@ -203,7 +219,7 @@ public final class FileEntry extends size = 0; if (((bitField0_ & 0x00000001) == 0x00000001)) { size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeMessageSize(1, name_); + .computeBytesSize(1, getNameBytes()); } { int dataSize = 0; @@ -308,7 +324,7 @@ public final class FileEntry extends public Builder clear() { super.clear(); - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + name_ = ""; bitField0_ = (bitField0_ & ~0x00000001); lineStartOffsets_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); @@ -351,7 +367,9 @@ public final class FileEntry extends public Builder mergeFrom(org.jetbrains.kotlin.backend.common.serialization.proto.FileEntry other) { if (other == org.jetbrains.kotlin.backend.common.serialization.proto.FileEntry.getDefaultInstance()) return this; if (other.hasName()) { - mergeName(other.getName()); + bitField0_ |= 0x00000001; + name_ = other.name_; + } if (!other.lineStartOffsets_.isEmpty()) { if (lineStartOffsets_.isEmpty()) { @@ -373,10 +391,6 @@ public final class FileEntry extends return false; } - if (!getName().isInitialized()) { - - return false; - } return true; } @@ -399,63 +413,79 @@ public final class FileEntry extends } private int bitField0_; - private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + private java.lang.Object name_ = ""; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1; + * required string name = 1; */ public boolean hasName() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1; + * required string name = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() { - return name_; - } - /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1; - */ - public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { - if (value == null) { - throw new NullPointerException(); + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + org.jetbrains.kotlin.protobuf.ByteString bs = + (org.jetbrains.kotlin.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + name_ = s; + } + return s; + } else { + return (java.lang.String) ref; } - name_ = value; - - bitField0_ |= 0x00000001; - return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1; + * required string name = 1; + */ + public org.jetbrains.kotlin.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + org.jetbrains.kotlin.protobuf.ByteString b = + org.jetbrains.kotlin.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (org.jetbrains.kotlin.protobuf.ByteString) ref; + } + } + /** + * required string name = 1; */ public Builder setName( - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) { - name_ = builderForValue.build(); - - bitField0_ |= 0x00000001; + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + name_ = value; + return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1; - */ - public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { - if (((bitField0_ & 0x00000001) == 0x00000001) && - name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) { - name_ = - org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial(); - } else { - name_ = value; - } - - bitField0_ |= 0x00000001; - return this; - } - /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1; + * required string name = 1; */ public Builder clearName() { - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); - bitField0_ = (bitField0_ & ~0x00000001); + name_ = getDefaultInstance().getName(); + + return this; + } + /** + * required string name = 1; + */ + public Builder setNameBytes( + org.jetbrains.kotlin.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + name_ = value; + return this; } diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FileEntryOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FileEntryOrBuilder.java index 5c128d12d3c..f8f656243a3 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FileEntryOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FileEntryOrBuilder.java @@ -8,13 +8,18 @@ public interface FileEntryOrBuilder extends org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1; + * required string name = 1; */ boolean hasName(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1; + * required string name = 1; */ - org.jetbrains.kotlin.backend.common.serialization.proto.String getName(); + java.lang.String getName(); + /** + * required string name = 1; + */ + org.jetbrains.kotlin.protobuf.ByteString + getNameBytes(); /** * repeated int32 line_start_offsets = 2; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FqName.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FqName.java new file mode 100644 index 00000000000..ea518266367 --- /dev/null +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FqName.java @@ -0,0 +1,479 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: compiler/ir/serialization.common/src/KotlinIr.proto + +package org.jetbrains.kotlin.backend.common.serialization.proto; + +/** + * Protobuf type {@code org.jetbrains.kotlin.backend.common.serialization.proto.FqName} + */ +public final class FqName extends + org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements + // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.backend.common.serialization.proto.FqName) + FqNameOrBuilder { + // Use FqName.newBuilder() to construct. + private FqName(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private FqName(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;} + + private static final FqName defaultInstance; + public static FqName getDefaultInstance() { + return defaultInstance; + } + + public FqName getDefaultInstanceForType() { + return defaultInstance; + } + + private final org.jetbrains.kotlin.protobuf.ByteString unknownFields; + private FqName( + org.jetbrains.kotlin.protobuf.CodedInputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput = + org.jetbrains.kotlin.protobuf.ByteString.newOutput(); + org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = + org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( + unknownFieldsOutput); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFieldsCodedOutput, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 10: { + if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) { + segment_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + segment_.add(input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry)); + break; + } + } + } + } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) { + segment_ = java.util.Collections.unmodifiableList(segment_); + } + try { + unknownFieldsCodedOutput.flush(); + } catch (java.io.IOException e) { + // Should not happen + } finally { + unknownFields = unknownFieldsOutput.toByteString(); + } + makeExtensionsImmutable(); + } + } + public static org.jetbrains.kotlin.protobuf.Parser PARSER = + new org.jetbrains.kotlin.protobuf.AbstractParser() { + public FqName parsePartialFrom( + org.jetbrains.kotlin.protobuf.CodedInputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return new FqName(input, extensionRegistry); + } + }; + + @java.lang.Override + public org.jetbrains.kotlin.protobuf.Parser getParserForType() { + return PARSER; + } + + public static final int SEGMENT_FIELD_NUMBER = 1; + private java.util.List segment_; + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public java.util.List getSegmentList() { + return segment_; + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public java.util.List + getSegmentOrBuilderList() { + return segment_; + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public int getSegmentCount() { + return segment_.size(); + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSegment(int index) { + return segment_.get(index); + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndexOrBuilder getSegmentOrBuilder( + int index) { + return segment_.get(index); + } + + private void initFields() { + segment_ = java.util.Collections.emptyList(); + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + for (int i = 0; i < getSegmentCount(); i++) { + if (!getSegment(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + for (int i = 0; i < segment_.size(); i++) { + output.writeMessage(1, segment_.get(i)); + } + output.writeRawBytes(unknownFields); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < segment_.size(); i++) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(1, segment_.get(i)); + } + size += unknownFields.size(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.jetbrains.kotlin.backend.common.serialization.proto.FqName parseFrom( + org.jetbrains.kotlin.protobuf.ByteString data) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.FqName parseFrom( + org.jetbrains.kotlin.protobuf.ByteString data, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.FqName parseFrom(byte[] data) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.FqName parseFrom( + byte[] data, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.FqName parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.FqName parseFrom( + java.io.InputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.FqName parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.FqName parseDelimitedFrom( + java.io.InputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.FqName parseFrom( + org.jetbrains.kotlin.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.FqName parseFrom( + org.jetbrains.kotlin.protobuf.CodedInputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.jetbrains.kotlin.backend.common.serialization.proto.FqName prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + /** + * Protobuf type {@code org.jetbrains.kotlin.backend.common.serialization.proto.FqName} + */ + public static final class Builder extends + org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder< + org.jetbrains.kotlin.backend.common.serialization.proto.FqName, Builder> + implements + // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.backend.common.serialization.proto.FqName) + org.jetbrains.kotlin.backend.common.serialization.proto.FqNameOrBuilder { + // Construct using org.jetbrains.kotlin.backend.common.serialization.proto.FqName.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + segment_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public org.jetbrains.kotlin.backend.common.serialization.proto.FqName getDefaultInstanceForType() { + return org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance(); + } + + public org.jetbrains.kotlin.backend.common.serialization.proto.FqName build() { + org.jetbrains.kotlin.backend.common.serialization.proto.FqName result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.jetbrains.kotlin.backend.common.serialization.proto.FqName buildPartial() { + org.jetbrains.kotlin.backend.common.serialization.proto.FqName result = new org.jetbrains.kotlin.backend.common.serialization.proto.FqName(this); + int from_bitField0_ = bitField0_; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + segment_ = java.util.Collections.unmodifiableList(segment_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.segment_ = segment_; + return result; + } + + public Builder mergeFrom(org.jetbrains.kotlin.backend.common.serialization.proto.FqName other) { + if (other == org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance()) return this; + if (!other.segment_.isEmpty()) { + if (segment_.isEmpty()) { + segment_ = other.segment_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureSegmentIsMutable(); + segment_.addAll(other.segment_); + } + + } + setUnknownFields( + getUnknownFields().concat(other.unknownFields)); + return this; + } + + public final boolean isInitialized() { + for (int i = 0; i < getSegmentCount(); i++) { + if (!getSegment(i).isInitialized()) { + + return false; + } + } + return true; + } + + public Builder mergeFrom( + org.jetbrains.kotlin.protobuf.CodedInputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.jetbrains.kotlin.backend.common.serialization.proto.FqName parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.jetbrains.kotlin.backend.common.serialization.proto.FqName) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List segment_ = + java.util.Collections.emptyList(); + private void ensureSegmentIsMutable() { + if (!((bitField0_ & 0x00000001) == 0x00000001)) { + segment_ = new java.util.ArrayList(segment_); + bitField0_ |= 0x00000001; + } + } + + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public java.util.List getSegmentList() { + return java.util.Collections.unmodifiableList(segment_); + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public int getSegmentCount() { + return segment_.size(); + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSegment(int index) { + return segment_.get(index); + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public Builder setSegment( + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { + if (value == null) { + throw new NullPointerException(); + } + ensureSegmentIsMutable(); + segment_.set(index, value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public Builder setSegment( + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { + ensureSegmentIsMutable(); + segment_.set(index, builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public Builder addSegment(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { + if (value == null) { + throw new NullPointerException(); + } + ensureSegmentIsMutable(); + segment_.add(value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public Builder addSegment( + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { + if (value == null) { + throw new NullPointerException(); + } + ensureSegmentIsMutable(); + segment_.add(index, value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public Builder addSegment( + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { + ensureSegmentIsMutable(); + segment_.add(builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public Builder addSegment( + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { + ensureSegmentIsMutable(); + segment_.add(index, builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public Builder addAllSegment( + java.lang.Iterable values) { + ensureSegmentIsMutable(); + org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( + values, segment_); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public Builder clearSegment() { + segment_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + public Builder removeSegment(int index) { + ensureSegmentIsMutable(); + segment_.remove(index); + + return this; + } + + // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.backend.common.serialization.proto.FqName) + } + + static { + defaultInstance = new FqName(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.backend.common.serialization.proto.FqName) +} diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FqNameOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FqNameOrBuilder.java new file mode 100644 index 00000000000..e33b2bda534 --- /dev/null +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/FqNameOrBuilder.java @@ -0,0 +1,23 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: compiler/ir/serialization.common/src/KotlinIr.proto + +package org.jetbrains.kotlin.backend.common.serialization.proto; + +public interface FqNameOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.backend.common.serialization.proto.FqName) + org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { + + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + java.util.List + getSegmentList(); + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSegment(int index); + /** + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex segment = 1; + */ + int getSegmentCount(); +} \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrAnonymousInit.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrAnonymousInit.java index 9f36fc63914..d8f6708b44f 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrAnonymousInit.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrAnonymousInit.java @@ -67,11 +67,11 @@ public final class IrAnonymousInit extends break; } case 18: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000002) == 0x00000002)) { subBuilder = body_.toBuilder(); } - body_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.PARSER, extensionRegistry); + body_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(body_); body_ = subBuilder.buildPartial(); @@ -129,23 +129,23 @@ public final class IrAnonymousInit extends } public static final int BODY_FIELD_NUMBER = 2; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 2; */ public boolean hasBody() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement getBody() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getBody() { return body_; } private void initFields() { base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance(); - body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.getDefaultInstance(); + body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -295,7 +295,7 @@ public final class IrAnonymousInit extends super.clear(); base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); - body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.getDefaultInstance(); + body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; } @@ -444,23 +444,23 @@ public final class IrAnonymousInit extends return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 2; */ public boolean hasBody() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement getBody() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getBody() { return body_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 2; */ - public Builder setBody(org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement value) { + public Builder setBody(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -470,23 +470,23 @@ public final class IrAnonymousInit extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 2; */ public Builder setBody( - org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { body_ = builderForValue.build(); bitField0_ |= 0x00000002; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 2; */ - public Builder mergeBody(org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement value) { + public Builder mergeBody(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000002) == 0x00000002) && - body_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.getDefaultInstance()) { + body_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { body_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.newBuilder(body_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(body_).mergeFrom(value).buildPartial(); } else { body_ = value; } @@ -495,10 +495,10 @@ public final class IrAnonymousInit extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 2; */ public Builder clearBody() { - body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.getDefaultInstance(); + body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrAnonymousInitOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrAnonymousInitOrBuilder.java index c3a1d917a9f..25df9157766 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrAnonymousInitOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrAnonymousInitOrBuilder.java @@ -17,11 +17,11 @@ public interface IrAnonymousInitOrBuilder extends org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase getBase(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 2; */ boolean hasBody(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 2; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement getBody(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getBody(); } \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBodyIndex.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBodyIndex.java new file mode 100644 index 00000000000..b0f3cfaf069 --- /dev/null +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBodyIndex.java @@ -0,0 +1,351 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: compiler/ir/serialization.common/src/KotlinIr.proto + +package org.jetbrains.kotlin.backend.common.serialization.proto; + +/** + * Protobuf type {@code org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex} + */ +public final class IrBodyIndex extends + org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements + // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex) + IrBodyIndexOrBuilder { + // Use IrBodyIndex.newBuilder() to construct. + private IrBodyIndex(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private IrBodyIndex(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;} + + private static final IrBodyIndex defaultInstance; + public static IrBodyIndex getDefaultInstance() { + return defaultInstance; + } + + public IrBodyIndex getDefaultInstanceForType() { + return defaultInstance; + } + + private final org.jetbrains.kotlin.protobuf.ByteString unknownFields; + private IrBodyIndex( + org.jetbrains.kotlin.protobuf.CodedInputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput = + org.jetbrains.kotlin.protobuf.ByteString.newOutput(); + org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = + org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( + unknownFieldsOutput); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFieldsCodedOutput, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + bitField0_ |= 0x00000001; + index_ = input.readInt32(); + break; + } + } + } + } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + try { + unknownFieldsCodedOutput.flush(); + } catch (java.io.IOException e) { + // Should not happen + } finally { + unknownFields = unknownFieldsOutput.toByteString(); + } + makeExtensionsImmutable(); + } + } + public static org.jetbrains.kotlin.protobuf.Parser PARSER = + new org.jetbrains.kotlin.protobuf.AbstractParser() { + public IrBodyIndex parsePartialFrom( + org.jetbrains.kotlin.protobuf.CodedInputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return new IrBodyIndex(input, extensionRegistry); + } + }; + + @java.lang.Override + public org.jetbrains.kotlin.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + public static final int INDEX_FIELD_NUMBER = 1; + private int index_; + /** + * required int32 index = 1; + */ + public boolean hasIndex() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required int32 index = 1; + */ + public int getIndex() { + return index_; + } + + private void initFields() { + index_ = 0; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasIndex()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeInt32(1, index_); + } + output.writeRawBytes(unknownFields); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeInt32Size(1, index_); + } + size += unknownFields.size(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex parseFrom( + org.jetbrains.kotlin.protobuf.ByteString data) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex parseFrom( + org.jetbrains.kotlin.protobuf.ByteString data, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex parseFrom(byte[] data) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex parseFrom( + byte[] data, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex parseFrom( + java.io.InputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex parseDelimitedFrom( + java.io.InputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex parseFrom( + org.jetbrains.kotlin.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex parseFrom( + org.jetbrains.kotlin.protobuf.CodedInputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + /** + * Protobuf type {@code org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex} + */ + public static final class Builder extends + org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder< + org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex, Builder> + implements + // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex) + org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndexOrBuilder { + // Construct using org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + index_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex getDefaultInstanceForType() { + return org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex.getDefaultInstance(); + } + + public org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex build() { + org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex buildPartial() { + org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex result = new org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.index_ = index_; + result.bitField0_ = to_bitField0_; + return result; + } + + public Builder mergeFrom(org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex other) { + if (other == org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex.getDefaultInstance()) return this; + if (other.hasIndex()) { + setIndex(other.getIndex()); + } + setUnknownFields( + getUnknownFields().concat(other.unknownFields)); + return this; + } + + public final boolean isInitialized() { + if (!hasIndex()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + org.jetbrains.kotlin.protobuf.CodedInputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int index_ ; + /** + * required int32 index = 1; + */ + public boolean hasIndex() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required int32 index = 1; + */ + public int getIndex() { + return index_; + } + /** + * required int32 index = 1; + */ + public Builder setIndex(int value) { + bitField0_ |= 0x00000001; + index_ = value; + + return this; + } + /** + * required int32 index = 1; + */ + public Builder clearIndex() { + bitField0_ = (bitField0_ & ~0x00000001); + index_ = 0; + + return this; + } + + // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex) + } + + static { + defaultInstance = new IrBodyIndex(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex) +} \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBodyIndexOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBodyIndexOrBuilder.java new file mode 100644 index 00000000000..e3a1b8b6d4b --- /dev/null +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBodyIndexOrBuilder.java @@ -0,0 +1,18 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: compiler/ir/serialization.common/src/KotlinIr.proto + +package org.jetbrains.kotlin.backend.common.serialization.proto; + +public interface IrBodyIndexOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.backend.common.serialization.proto.IrBodyIndex) + org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { + + /** + * required int32 index = 1; + */ + boolean hasIndex(); + /** + * required int32 index = 1; + */ + int getIndex(); +} \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBreak.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBreak.java index 3e832e0ada8..fb9493b64fc 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBreak.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBreak.java @@ -59,11 +59,11 @@ public final class IrBreak extends break; } case 18: { - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000002) == 0x00000002)) { subBuilder = label_.toBuilder(); } - label_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry); + label_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(label_); label_ = subBuilder.buildPartial(); @@ -121,23 +121,23 @@ public final class IrBreak extends } public static final int LABEL_FIELD_NUMBER = 2; - private org.jetbrains.kotlin.backend.common.serialization.proto.String label_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label_; /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ public boolean hasLabel() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getLabel() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getLabel() { return label_; } private void initFields() { loopId_ = 0; - label_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + label_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -281,7 +281,7 @@ public final class IrBreak extends super.clear(); loopId_ = 0; bitField0_ = (bitField0_ & ~0x00000001); - label_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + label_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; } @@ -396,23 +396,23 @@ public final class IrBreak extends return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.String label_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ public boolean hasLabel() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getLabel() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getLabel() { return label_; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ - public Builder setLabel(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder setLabel(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -422,23 +422,23 @@ public final class IrBreak extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ public Builder setLabel( - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { label_ = builderForValue.build(); bitField0_ |= 0x00000002; return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ - public Builder mergeLabel(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder mergeLabel(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000002) == 0x00000002) && - label_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) { + label_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { label_ = - org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(label_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(label_).mergeFrom(value).buildPartial(); } else { label_ = value; } @@ -447,10 +447,10 @@ public final class IrBreak extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ public Builder clearLabel() { - label_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + label_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBreakOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBreakOrBuilder.java index 877fc1a6366..9404af4a872 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBreakOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrBreakOrBuilder.java @@ -17,11 +17,11 @@ public interface IrBreakOrBuilder extends int getLoopId(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ boolean hasLabel(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ - org.jetbrains.kotlin.backend.common.serialization.proto.String getLabel(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getLabel(); } \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrCall.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrCall.java index 53e4d2d3936..f07dfb0bd3d 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrCall.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrCall.java @@ -54,11 +54,11 @@ public final class IrCall extends break; } case 10: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000001) == 0x00000001)) { subBuilder = symbol_.toBuilder(); } - symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry); + symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(symbol_); symbol_ = subBuilder.buildPartial(); @@ -80,11 +80,11 @@ public final class IrCall extends break; } case 26: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000004) == 0x00000004)) { subBuilder = super_.toBuilder(); } - super_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry); + super_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(super_); super_ = subBuilder.buildPartial(); @@ -140,17 +140,17 @@ public final class IrCall extends private int bitField0_; public static final int SYMBOL_FIELD_NUMBER = 1; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public boolean hasSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() { return symbol_; } @@ -170,17 +170,17 @@ public final class IrCall extends } public static final int SUPER_FIELD_NUMBER = 3; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_; /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 3; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 3; */ public boolean hasSuper() { return ((bitField0_ & 0x00000004) == 0x00000004); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 3; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 3; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSuper() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSuper() { return super_; } @@ -200,9 +200,9 @@ public final class IrCall extends } private void initFields() { - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); memberAccess_ = org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon.getDefaultInstance(); - super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin.getDefaultInstance(); } private byte memoizedIsInitialized = -1; @@ -377,11 +377,11 @@ public final class IrCall extends public Builder clear() { super.clear(); - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); memberAccess_ = org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); - super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000004); origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000008); @@ -498,23 +498,23 @@ public final class IrCall extends } private int bitField0_; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public boolean hasSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() { return symbol_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -524,23 +524,23 @@ public final class IrCall extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public Builder setSymbol( - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { symbol_ = builderForValue.build(); bitField0_ |= 0x00000001; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000001) == 0x00000001) && - symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) { + symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { symbol_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial(); } else { symbol_ = value; } @@ -549,10 +549,10 @@ public final class IrCall extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public Builder clearSymbol() { - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); return this; @@ -618,23 +618,23 @@ public final class IrCall extends return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 3; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 3; */ public boolean hasSuper() { return ((bitField0_ & 0x00000004) == 0x00000004); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 3; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 3; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSuper() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSuper() { return super_; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 3; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 3; */ - public Builder setSuper(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder setSuper(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -644,23 +644,23 @@ public final class IrCall extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 3; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 3; */ public Builder setSuper( - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { super_ = builderForValue.build(); bitField0_ |= 0x00000004; return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 3; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 3; */ - public Builder mergeSuper(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder mergeSuper(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000004) == 0x00000004) && - super_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) { + super_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { super_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(super_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(super_).mergeFrom(value).buildPartial(); } else { super_ = value; } @@ -669,10 +669,10 @@ public final class IrCall extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 3; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 3; */ public Builder clearSuper() { - super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + super_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000004); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrCallOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrCallOrBuilder.java index 73e6addd011..7ed7b3e1305 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrCallOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrCallOrBuilder.java @@ -8,13 +8,13 @@ public interface IrCallOrBuilder extends org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ boolean hasSymbol(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol(); /** * required .org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon member_access = 2; @@ -26,13 +26,13 @@ public interface IrCallOrBuilder extends org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon getMemberAccess(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 3; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 3; */ boolean hasSuper(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol super = 3; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super = 3; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSuper(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSuper(); /** * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin origin = 4; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClass.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClass.java index acc8bd4b69a..f1b411e7ad7 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClass.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClass.java @@ -67,11 +67,11 @@ public final class IrClass extends break; } case 18: { - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000002) == 0x00000002)) { subBuilder = name_.toBuilder(); } - name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry); + name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(name_); name_ = subBuilder.buildPartial(); @@ -182,10 +182,10 @@ public final class IrClass extends } case 114: { if (!((mutable_bitField0_ & 0x00002000) == 0x00002000)) { - superType_ = new java.util.ArrayList(); + superType_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00002000; } - superType_.add(input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry)); + superType_.add(input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry)); break; } } @@ -241,17 +241,17 @@ public final class IrClass extends } public static final int NAME_FIELD_NUMBER = 2; - private org.jetbrains.kotlin.backend.common.serialization.proto.String name_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2; */ public boolean hasName() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() { return name_; } @@ -429,43 +429,43 @@ public final class IrClass extends } public static final int SUPER_TYPE_FIELD_NUMBER = 14; - private java.util.List superType_; + private java.util.List superType_; /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ - public java.util.List getSuperTypeList() { + public java.util.List getSuperTypeList() { return superType_; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ - public java.util.List + public java.util.List getSuperTypeOrBuilderList() { return superType_; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ public int getSuperTypeCount() { return superType_.size(); } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getSuperType(int index) { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSuperType(int index) { return superType_.get(index); } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndexOrBuilder getSuperTypeOrBuilder( + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndexOrBuilder getSuperTypeOrBuilder( int index) { return superType_.get(index); } private void initFields() { base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance(); - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); kind_ = org.jetbrains.kotlin.backend.common.serialization.proto.ClassKind.CLASS; visibility_ = org.jetbrains.kotlin.backend.common.serialization.proto.Visibility.getDefaultInstance(); modality_ = org.jetbrains.kotlin.backend.common.serialization.proto.ModalityKind.FINAL_MODALITY; @@ -775,7 +775,7 @@ public final class IrClass extends super.clear(); base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); kind_ = org.jetbrains.kotlin.backend.common.serialization.proto.ClassKind.CLASS; bitField0_ = (bitField0_ & ~0x00000004); @@ -1104,23 +1104,23 @@ public final class IrClass extends return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2; */ public boolean hasName() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() { return name_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2; */ - public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -1130,23 +1130,23 @@ public final class IrClass extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2; */ public Builder setName( - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { name_ = builderForValue.build(); bitField0_ |= 0x00000002; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2; */ - public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000002) == 0x00000002) && - name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) { + name_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { name_ = - org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(name_).mergeFrom(value).buildPartial(); } else { name_ = value; } @@ -1155,10 +1155,10 @@ public final class IrClass extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2; */ public Builder clearName() { - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; @@ -1650,38 +1650,38 @@ public final class IrClass extends return this; } - private java.util.List superType_ = + private java.util.List superType_ = java.util.Collections.emptyList(); private void ensureSuperTypeIsMutable() { if (!((bitField0_ & 0x00002000) == 0x00002000)) { - superType_ = new java.util.ArrayList(superType_); + superType_ = new java.util.ArrayList(superType_); bitField0_ |= 0x00002000; } } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ - public java.util.List getSuperTypeList() { + public java.util.List getSuperTypeList() { return java.util.Collections.unmodifiableList(superType_); } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ public int getSuperTypeCount() { return superType_.size(); } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getSuperType(int index) { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSuperType(int index) { return superType_.get(index); } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ public Builder setSuperType( - int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) { + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -1691,19 +1691,19 @@ public final class IrClass extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ public Builder setSuperType( - int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) { + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { ensureSuperTypeIsMutable(); superType_.set(index, builderForValue.build()); return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ - public Builder addSuperType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) { + public Builder addSuperType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -1713,10 +1713,10 @@ public final class IrClass extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ public Builder addSuperType( - int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) { + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -1726,30 +1726,30 @@ public final class IrClass extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ public Builder addSuperType( - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { ensureSuperTypeIsMutable(); superType_.add(builderForValue.build()); return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ public Builder addSuperType( - int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) { + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { ensureSuperTypeIsMutable(); superType_.add(index, builderForValue.build()); return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ public Builder addAllSuperType( - java.lang.Iterable values) { + java.lang.Iterable values) { ensureSuperTypeIsMutable(); org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( values, superType_); @@ -1757,7 +1757,7 @@ public final class IrClass extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ public Builder clearSuperType() { superType_ = java.util.Collections.emptyList(); @@ -1766,7 +1766,7 @@ public final class IrClass extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ public Builder removeSuperType(int index) { ensureSuperTypeIsMutable(); diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClassOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClassOrBuilder.java index c5f77878f31..5f8f96b9246 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClassOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClassOrBuilder.java @@ -17,13 +17,13 @@ public interface IrClassOrBuilder extends org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase getBase(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2; */ boolean hasName(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2; */ - org.jetbrains.kotlin.backend.common.serialization.proto.String getName(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName(); /** * required .org.jetbrains.kotlin.backend.common.serialization.proto.ClassKind kind = 3; @@ -133,16 +133,16 @@ public interface IrClassOrBuilder extends org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationContainer getDeclarationContainer(); /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ - java.util.List + java.util.List getSuperTypeList(); /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getSuperType(int index); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSuperType(int index); /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 14; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 14; */ int getSuperTypeCount(); } \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClassReference.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClassReference.java index b1721187ef5..0921ea7c9c2 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClassReference.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClassReference.java @@ -54,11 +54,11 @@ public final class IrClassReference extends break; } case 10: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000001) == 0x00000001)) { subBuilder = classSymbol_.toBuilder(); } - classSymbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry); + classSymbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(classSymbol_); classSymbol_ = subBuilder.buildPartial(); @@ -67,11 +67,11 @@ public final class IrClassReference extends break; } case 18: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000002) == 0x00000002)) { subBuilder = classType_.toBuilder(); } - classType_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry); + classType_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(classType_); classType_ = subBuilder.buildPartial(); @@ -114,38 +114,38 @@ public final class IrClassReference extends private int bitField0_; public static final int CLASS_SYMBOL_FIELD_NUMBER = 1; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classSymbol_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classSymbol_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol class_symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_symbol = 1; */ public boolean hasClassSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol class_symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getClassSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getClassSymbol() { return classSymbol_; } public static final int CLASS_TYPE_FIELD_NUMBER = 2; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex classType_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classType_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex class_type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_type = 2; */ public boolean hasClassType() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex class_type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_type = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getClassType() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getClassType() { return classType_; } private void initFields() { - classSymbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); - classType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance(); + classSymbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); + classType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -293,9 +293,9 @@ public final class IrClassReference extends public Builder clear() { super.clear(); - classSymbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + classSymbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); - classType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance(); + classType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; } @@ -384,23 +384,23 @@ public final class IrClassReference extends } private int bitField0_; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classSymbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classSymbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol class_symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_symbol = 1; */ public boolean hasClassSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol class_symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getClassSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getClassSymbol() { return classSymbol_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol class_symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_symbol = 1; */ - public Builder setClassSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder setClassSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -410,23 +410,23 @@ public final class IrClassReference extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol class_symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_symbol = 1; */ public Builder setClassSymbol( - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { classSymbol_ = builderForValue.build(); bitField0_ |= 0x00000001; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol class_symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_symbol = 1; */ - public Builder mergeClassSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder mergeClassSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000001) == 0x00000001) && - classSymbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) { + classSymbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { classSymbol_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(classSymbol_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(classSymbol_).mergeFrom(value).buildPartial(); } else { classSymbol_ = value; } @@ -435,32 +435,32 @@ public final class IrClassReference extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol class_symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_symbol = 1; */ public Builder clearClassSymbol() { - classSymbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + classSymbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex classType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex class_type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_type = 2; */ public boolean hasClassType() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex class_type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_type = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getClassType() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getClassType() { return classType_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex class_type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_type = 2; */ - public Builder setClassType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) { + public Builder setClassType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -470,23 +470,23 @@ public final class IrClassReference extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex class_type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_type = 2; */ public Builder setClassType( - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { classType_ = builderForValue.build(); bitField0_ |= 0x00000002; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex class_type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_type = 2; */ - public Builder mergeClassType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) { + public Builder mergeClassType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000002) == 0x00000002) && - classType_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance()) { + classType_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { classType_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.newBuilder(classType_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(classType_).mergeFrom(value).buildPartial(); } else { classType_ = value; } @@ -495,10 +495,10 @@ public final class IrClassReference extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex class_type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_type = 2; */ public Builder clearClassType() { - classType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance(); + classType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClassReferenceOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClassReferenceOrBuilder.java index d75f4202ed3..0e0b2b359d6 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClassReferenceOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrClassReferenceOrBuilder.java @@ -8,20 +8,20 @@ public interface IrClassReferenceOrBuilder extends org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol class_symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_symbol = 1; */ boolean hasClassSymbol(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol class_symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_symbol = 1; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getClassSymbol(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getClassSymbol(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex class_type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_type = 2; */ boolean hasClassType(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex class_type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex class_type = 2; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getClassType(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getClassType(); } \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConst.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConst.java index fc96533dd3f..9e7d51471b7 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConst.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConst.java @@ -99,13 +99,13 @@ public final class IrConst extends break; } case 82: { - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (valueCase_ == 10) { - subBuilder = ((org.jetbrains.kotlin.backend.common.serialization.proto.String) value_).toBuilder(); + subBuilder = ((org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) value_).toBuilder(); } - value_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry); + value_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom((org.jetbrains.kotlin.backend.common.serialization.proto.String) value_); + subBuilder.mergeFrom((org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) value_); value_ = subBuilder.buildPartial(); } valueCase_ = 10; @@ -347,19 +347,19 @@ public final class IrConst extends public static final int STRING_FIELD_NUMBER = 10; /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String string = 10; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex string = 10; */ public boolean hasString() { return valueCase_ == 10; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String string = 10; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex string = 10; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getString() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getString() { if (valueCase_ == 10) { - return (org.jetbrains.kotlin.backend.common.serialization.proto.String) value_; + return (org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) value_; } - return org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + return org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); } private void initFields() { @@ -420,7 +420,7 @@ public final class IrConst extends 9, (double)((java.lang.Double) value_)); } if (valueCase_ == 10) { - output.writeMessage(10, (org.jetbrains.kotlin.backend.common.serialization.proto.String) value_); + output.writeMessage(10, (org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) value_); } output.writeRawBytes(unknownFields); } @@ -478,7 +478,7 @@ public final class IrConst extends } if (valueCase_ == 10) { size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeMessageSize(10, (org.jetbrains.kotlin.backend.common.serialization.proto.String) value_); + .computeMessageSize(10, (org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) value_); } size += unknownFields.size(); memoizedSerializedSize = size; @@ -1054,24 +1054,24 @@ public final class IrConst extends } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String string = 10; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex string = 10; */ public boolean hasString() { return valueCase_ == 10; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String string = 10; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex string = 10; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getString() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getString() { if (valueCase_ == 10) { - return (org.jetbrains.kotlin.backend.common.serialization.proto.String) value_; + return (org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) value_; } - return org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + return org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String string = 10; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex string = 10; */ - public Builder setString(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder setString(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -1081,22 +1081,22 @@ public final class IrConst extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String string = 10; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex string = 10; */ public Builder setString( - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { value_ = builderForValue.build(); valueCase_ = 10; return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String string = 10; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex string = 10; */ - public Builder mergeString(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder mergeString(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (valueCase_ == 10 && - value_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) { - value_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder((org.jetbrains.kotlin.backend.common.serialization.proto.String) value_) + value_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { + value_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder((org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) value_) .mergeFrom(value).buildPartial(); } else { value_ = value; @@ -1106,7 +1106,7 @@ public final class IrConst extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String string = 10; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex string = 10; */ public Builder clearString() { if (valueCase_ == 10) { diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConstOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConstOrBuilder.java index 2ba7835cea5..62eceff8518 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConstOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConstOrBuilder.java @@ -89,11 +89,11 @@ public interface IrConstOrBuilder extends double getDouble(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String string = 10; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex string = 10; */ boolean hasString(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String string = 10; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex string = 10; */ - org.jetbrains.kotlin.backend.common.serialization.proto.String getString(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getString(); } \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConstructorCall.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConstructorCall.java index 2fe24f743cd..da515d22776 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConstructorCall.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConstructorCall.java @@ -54,11 +54,11 @@ public final class IrConstructorCall extends break; } case 10: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000001) == 0x00000001)) { subBuilder = symbol_.toBuilder(); } - symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry); + symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(symbol_); symbol_ = subBuilder.buildPartial(); @@ -119,17 +119,17 @@ public final class IrConstructorCall extends private int bitField0_; public static final int SYMBOL_FIELD_NUMBER = 1; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public boolean hasSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() { return symbol_; } @@ -164,7 +164,7 @@ public final class IrConstructorCall extends } private void initFields() { - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); constructorTypeArgumentsCount_ = 0; memberAccess_ = org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon.getDefaultInstance(); } @@ -325,7 +325,7 @@ public final class IrConstructorCall extends public Builder clear() { super.clear(); - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); constructorTypeArgumentsCount_ = 0; bitField0_ = (bitField0_ & ~0x00000002); @@ -429,23 +429,23 @@ public final class IrConstructorCall extends } private int bitField0_; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public boolean hasSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() { return symbol_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -455,23 +455,23 @@ public final class IrConstructorCall extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public Builder setSymbol( - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { symbol_ = builderForValue.build(); bitField0_ |= 0x00000001; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000001) == 0x00000001) && - symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) { + symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { symbol_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial(); } else { symbol_ = value; } @@ -480,10 +480,10 @@ public final class IrConstructorCall extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public Builder clearSymbol() { - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConstructorCallOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConstructorCallOrBuilder.java index 2a896af6330..08cc0e6901c 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConstructorCallOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrConstructorCallOrBuilder.java @@ -8,13 +8,13 @@ public interface IrConstructorCallOrBuilder extends org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ boolean hasSymbol(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol(); /** * required int32 constructor_type_arguments_count = 2; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrContinue.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrContinue.java index 09ea402b15a..323bf5101e6 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrContinue.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrContinue.java @@ -59,11 +59,11 @@ public final class IrContinue extends break; } case 18: { - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000002) == 0x00000002)) { subBuilder = label_.toBuilder(); } - label_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry); + label_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(label_); label_ = subBuilder.buildPartial(); @@ -121,23 +121,23 @@ public final class IrContinue extends } public static final int LABEL_FIELD_NUMBER = 2; - private org.jetbrains.kotlin.backend.common.serialization.proto.String label_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label_; /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ public boolean hasLabel() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getLabel() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getLabel() { return label_; } private void initFields() { loopId_ = 0; - label_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + label_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -281,7 +281,7 @@ public final class IrContinue extends super.clear(); loopId_ = 0; bitField0_ = (bitField0_ & ~0x00000001); - label_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + label_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; } @@ -396,23 +396,23 @@ public final class IrContinue extends return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.String label_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ public boolean hasLabel() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getLabel() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getLabel() { return label_; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ - public Builder setLabel(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder setLabel(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -422,23 +422,23 @@ public final class IrContinue extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ public Builder setLabel( - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { label_ = builderForValue.build(); bitField0_ |= 0x00000002; return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ - public Builder mergeLabel(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder mergeLabel(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000002) == 0x00000002) && - label_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) { + label_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { label_ = - org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(label_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(label_).mergeFrom(value).buildPartial(); } else { label_ = value; } @@ -447,10 +447,10 @@ public final class IrContinue extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ public Builder clearLabel() { - label_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + label_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrContinueOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrContinueOrBuilder.java index be0f2c9f164..cd0f206d34b 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrContinueOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrContinueOrBuilder.java @@ -17,11 +17,11 @@ public interface IrContinueOrBuilder extends int getLoopId(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ boolean hasLabel(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 2; */ - org.jetbrains.kotlin.backend.common.serialization.proto.String getLabel(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getLabel(); } \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDataIndex.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDataIndex.java new file mode 100644 index 00000000000..efb2559a3ca --- /dev/null +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDataIndex.java @@ -0,0 +1,351 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: compiler/ir/serialization.common/src/KotlinIr.proto + +package org.jetbrains.kotlin.backend.common.serialization.proto; + +/** + * Protobuf type {@code org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex} + */ +public final class IrDataIndex extends + org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements + // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) + IrDataIndexOrBuilder { + // Use IrDataIndex.newBuilder() to construct. + private IrDataIndex(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private IrDataIndex(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;} + + private static final IrDataIndex defaultInstance; + public static IrDataIndex getDefaultInstance() { + return defaultInstance; + } + + public IrDataIndex getDefaultInstanceForType() { + return defaultInstance; + } + + private final org.jetbrains.kotlin.protobuf.ByteString unknownFields; + private IrDataIndex( + org.jetbrains.kotlin.protobuf.CodedInputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput = + org.jetbrains.kotlin.protobuf.ByteString.newOutput(); + org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = + org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( + unknownFieldsOutput); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFieldsCodedOutput, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + bitField0_ |= 0x00000001; + index_ = input.readInt32(); + break; + } + } + } + } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + try { + unknownFieldsCodedOutput.flush(); + } catch (java.io.IOException e) { + // Should not happen + } finally { + unknownFields = unknownFieldsOutput.toByteString(); + } + makeExtensionsImmutable(); + } + } + public static org.jetbrains.kotlin.protobuf.Parser PARSER = + new org.jetbrains.kotlin.protobuf.AbstractParser() { + public IrDataIndex parsePartialFrom( + org.jetbrains.kotlin.protobuf.CodedInputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return new IrDataIndex(input, extensionRegistry); + } + }; + + @java.lang.Override + public org.jetbrains.kotlin.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + public static final int INDEX_FIELD_NUMBER = 1; + private int index_; + /** + * required int32 index = 1; + */ + public boolean hasIndex() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required int32 index = 1; + */ + public int getIndex() { + return index_; + } + + private void initFields() { + index_ = 0; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasIndex()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeInt32(1, index_); + } + output.writeRawBytes(unknownFields); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeInt32Size(1, index_); + } + size += unknownFields.size(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex parseFrom( + org.jetbrains.kotlin.protobuf.ByteString data) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex parseFrom( + org.jetbrains.kotlin.protobuf.ByteString data, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex parseFrom(byte[] data) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex parseFrom( + byte[] data, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex parseFrom( + java.io.InputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex parseDelimitedFrom( + java.io.InputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex parseFrom( + org.jetbrains.kotlin.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex parseFrom( + org.jetbrains.kotlin.protobuf.CodedInputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + /** + * Protobuf type {@code org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex} + */ + public static final class Builder extends + org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder< + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex, Builder> + implements + // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndexOrBuilder { + // Construct using org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + index_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getDefaultInstanceForType() { + return org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); + } + + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex build() { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex buildPartial() { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex result = new org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.index_ = index_; + result.bitField0_ = to_bitField0_; + return result; + } + + public Builder mergeFrom(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex other) { + if (other == org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) return this; + if (other.hasIndex()) { + setIndex(other.getIndex()); + } + setUnknownFields( + getUnknownFields().concat(other.unknownFields)); + return this; + } + + public final boolean isInitialized() { + if (!hasIndex()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + org.jetbrains.kotlin.protobuf.CodedInputStream input, + org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int index_ ; + /** + * required int32 index = 1; + */ + public boolean hasIndex() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required int32 index = 1; + */ + public int getIndex() { + return index_; + } + /** + * required int32 index = 1; + */ + public Builder setIndex(int value) { + bitField0_ |= 0x00000001; + index_ = value; + + return this; + } + /** + * required int32 index = 1; + */ + public Builder clearIndex() { + bitField0_ = (bitField0_ & ~0x00000001); + index_ = 0; + + return this; + } + + // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) + } + + static { + defaultInstance = new IrDataIndex(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) +} diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDataIndexOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDataIndexOrBuilder.java new file mode 100644 index 00000000000..fa050f73279 --- /dev/null +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDataIndexOrBuilder.java @@ -0,0 +1,18 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: compiler/ir/serialization.common/src/KotlinIr.proto + +package org.jetbrains.kotlin.backend.common.serialization.proto; + +public interface IrDataIndexOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) + org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { + + /** + * required int32 index = 1; + */ + boolean hasIndex(); + /** + * required int32 index = 1; + */ + int getIndex(); +} \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationBase.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationBase.java index 7b84b6e56b3..8a82cbeed69 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationBase.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationBase.java @@ -54,11 +54,11 @@ public final class IrDeclarationBase extends break; } case 10: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000001) == 0x00000001)) { subBuilder = symbol_.toBuilder(); } - symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry); + symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(symbol_); symbol_ = subBuilder.buildPartial(); @@ -140,17 +140,17 @@ public final class IrDeclarationBase extends private int bitField0_; public static final int SYMBOL_FIELD_NUMBER = 1; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public boolean hasSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() { return symbol_; } @@ -200,7 +200,7 @@ public final class IrDeclarationBase extends } private void initFields() { - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationOrigin.getDefaultInstance(); coordinates_ = org.jetbrains.kotlin.backend.common.serialization.proto.Coordinates.getDefaultInstance(); annotations_ = org.jetbrains.kotlin.backend.common.serialization.proto.Annotations.getDefaultInstance(); @@ -381,7 +381,7 @@ public final class IrDeclarationBase extends public Builder clear() { super.clear(); - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationOrigin.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); @@ -506,23 +506,23 @@ public final class IrDeclarationBase extends } private int bitField0_; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public boolean hasSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() { return symbol_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -532,23 +532,23 @@ public final class IrDeclarationBase extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public Builder setSymbol( - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { symbol_ = builderForValue.build(); bitField0_ |= 0x00000001; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000001) == 0x00000001) && - symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) { + symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { symbol_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial(); } else { symbol_ = value; } @@ -557,10 +557,10 @@ public final class IrDeclarationBase extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public Builder clearSymbol() { - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationBaseOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationBaseOrBuilder.java index f0f43f8fc09..4d8bcb0ea36 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationBaseOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationBaseOrBuilder.java @@ -8,13 +8,13 @@ public interface IrDeclarationBaseOrBuilder extends org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ boolean hasSymbol(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol(); /** * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationOrigin origin = 2; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationOrigin.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationOrigin.java index 89718ace6bc..d83c1c2b1b2 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationOrigin.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationOrigin.java @@ -66,13 +66,13 @@ public final class IrDeclarationOrigin extends break; } case 18: { - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (eitherCase_ == 2) { - subBuilder = ((org.jetbrains.kotlin.backend.common.serialization.proto.String) either_).toBuilder(); + subBuilder = ((org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) either_).toBuilder(); } - either_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry); + either_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom((org.jetbrains.kotlin.backend.common.serialization.proto.String) either_); + subBuilder.mergeFrom((org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) either_); either_ = subBuilder.buildPartial(); } eitherCase_ = 2; @@ -162,19 +162,19 @@ public final class IrDeclarationOrigin extends public static final int CUSTOM_FIELD_NUMBER = 2; /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String custom = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex custom = 2; */ public boolean hasCustom() { return eitherCase_ == 2; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String custom = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex custom = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getCustom() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getCustom() { if (eitherCase_ == 2) { - return (org.jetbrains.kotlin.backend.common.serialization.proto.String) either_; + return (org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) either_; } - return org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + return org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); } private void initFields() { @@ -202,7 +202,7 @@ public final class IrDeclarationOrigin extends output.writeEnum(1, ((org.jetbrains.kotlin.backend.common.serialization.proto.KnownOrigin) either_).getNumber()); } if (eitherCase_ == 2) { - output.writeMessage(2, (org.jetbrains.kotlin.backend.common.serialization.proto.String) either_); + output.writeMessage(2, (org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) either_); } output.writeRawBytes(unknownFields); } @@ -219,7 +219,7 @@ public final class IrDeclarationOrigin extends } if (eitherCase_ == 2) { size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeMessageSize(2, (org.jetbrains.kotlin.backend.common.serialization.proto.String) either_); + .computeMessageSize(2, (org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) either_); } size += unknownFields.size(); memoizedSerializedSize = size; @@ -454,24 +454,24 @@ public final class IrDeclarationOrigin extends } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String custom = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex custom = 2; */ public boolean hasCustom() { return eitherCase_ == 2; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String custom = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex custom = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getCustom() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getCustom() { if (eitherCase_ == 2) { - return (org.jetbrains.kotlin.backend.common.serialization.proto.String) either_; + return (org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) either_; } - return org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + return org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String custom = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex custom = 2; */ - public Builder setCustom(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder setCustom(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -481,22 +481,22 @@ public final class IrDeclarationOrigin extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String custom = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex custom = 2; */ public Builder setCustom( - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { either_ = builderForValue.build(); eitherCase_ = 2; return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String custom = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex custom = 2; */ - public Builder mergeCustom(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder mergeCustom(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (eitherCase_ == 2 && - either_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) { - either_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder((org.jetbrains.kotlin.backend.common.serialization.proto.String) either_) + either_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { + either_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder((org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex) either_) .mergeFrom(value).buildPartial(); } else { either_ = value; @@ -506,7 +506,7 @@ public final class IrDeclarationOrigin extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String custom = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex custom = 2; */ public Builder clearCustom() { if (eitherCase_ == 2) { diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationOriginOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationOriginOrBuilder.java index 1b48bdb1d46..970133235f3 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationOriginOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDeclarationOriginOrBuilder.java @@ -17,11 +17,11 @@ public interface IrDeclarationOriginOrBuilder extends org.jetbrains.kotlin.backend.common.serialization.proto.KnownOrigin getOrigin(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String custom = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex custom = 2; */ boolean hasCustom(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String custom = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex custom = 2; */ - org.jetbrains.kotlin.backend.common.serialization.proto.String getCustom(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getCustom(); } \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDelegatingConstructorCall.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDelegatingConstructorCall.java index 772f9d3b359..83cce1fae4c 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDelegatingConstructorCall.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDelegatingConstructorCall.java @@ -54,11 +54,11 @@ public final class IrDelegatingConstructorCall extends break; } case 10: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000001) == 0x00000001)) { subBuilder = symbol_.toBuilder(); } - symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry); + symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(symbol_); symbol_ = subBuilder.buildPartial(); @@ -114,17 +114,17 @@ public final class IrDelegatingConstructorCall extends private int bitField0_; public static final int SYMBOL_FIELD_NUMBER = 1; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public boolean hasSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() { return symbol_; } @@ -144,7 +144,7 @@ public final class IrDelegatingConstructorCall extends } private void initFields() { - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); memberAccess_ = org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon.getDefaultInstance(); } private byte memoizedIsInitialized = -1; @@ -293,7 +293,7 @@ public final class IrDelegatingConstructorCall extends public Builder clear() { super.clear(); - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); memberAccess_ = org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); @@ -384,23 +384,23 @@ public final class IrDelegatingConstructorCall extends } private int bitField0_; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public boolean hasSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() { return symbol_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -410,23 +410,23 @@ public final class IrDelegatingConstructorCall extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public Builder setSymbol( - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { symbol_ = builderForValue.build(); bitField0_ |= 0x00000001; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000001) == 0x00000001) && - symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) { + symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { symbol_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial(); } else { symbol_ = value; } @@ -435,10 +435,10 @@ public final class IrDelegatingConstructorCall extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public Builder clearSymbol() { - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDelegatingConstructorCallOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDelegatingConstructorCallOrBuilder.java index 256dd28c241..591832a924a 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDelegatingConstructorCallOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDelegatingConstructorCallOrBuilder.java @@ -8,13 +8,13 @@ public interface IrDelegatingConstructorCallOrBuilder extends org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ boolean hasSymbol(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol(); /** * required .org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon member_access = 2; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDynamicMemberExpression.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDynamicMemberExpression.java index 47fa3c160ff..ca19826220d 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDynamicMemberExpression.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDynamicMemberExpression.java @@ -54,11 +54,11 @@ public final class IrDynamicMemberExpression extends break; } case 10: { - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000001) == 0x00000001)) { subBuilder = memberName_.toBuilder(); } - memberName_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry); + memberName_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(memberName_); memberName_ = subBuilder.buildPartial(); @@ -114,17 +114,17 @@ public final class IrDynamicMemberExpression extends private int bitField0_; public static final int MEMBERNAME_FIELD_NUMBER = 1; - private org.jetbrains.kotlin.backend.common.serialization.proto.String memberName_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex memberName_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String memberName = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex memberName = 1; */ public boolean hasMemberName() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String memberName = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex memberName = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getMemberName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getMemberName() { return memberName_; } @@ -144,7 +144,7 @@ public final class IrDynamicMemberExpression extends } private void initFields() { - memberName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + memberName_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); receiver_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance(); } private byte memoizedIsInitialized = -1; @@ -293,7 +293,7 @@ public final class IrDynamicMemberExpression extends public Builder clear() { super.clear(); - memberName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + memberName_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); receiver_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); @@ -384,23 +384,23 @@ public final class IrDynamicMemberExpression extends } private int bitField0_; - private org.jetbrains.kotlin.backend.common.serialization.proto.String memberName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex memberName_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String memberName = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex memberName = 1; */ public boolean hasMemberName() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String memberName = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex memberName = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getMemberName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getMemberName() { return memberName_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String memberName = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex memberName = 1; */ - public Builder setMemberName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder setMemberName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -410,23 +410,23 @@ public final class IrDynamicMemberExpression extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String memberName = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex memberName = 1; */ public Builder setMemberName( - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { memberName_ = builderForValue.build(); bitField0_ |= 0x00000001; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String memberName = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex memberName = 1; */ - public Builder mergeMemberName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder mergeMemberName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000001) == 0x00000001) && - memberName_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) { + memberName_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { memberName_ = - org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(memberName_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(memberName_).mergeFrom(value).buildPartial(); } else { memberName_ = value; } @@ -435,10 +435,10 @@ public final class IrDynamicMemberExpression extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String memberName = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex memberName = 1; */ public Builder clearMemberName() { - memberName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + memberName_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDynamicMemberExpressionOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDynamicMemberExpressionOrBuilder.java index b047abaadbb..45eab250eac 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDynamicMemberExpressionOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrDynamicMemberExpressionOrBuilder.java @@ -8,13 +8,13 @@ public interface IrDynamicMemberExpressionOrBuilder extends org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String memberName = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex memberName = 1; */ boolean hasMemberName(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String memberName = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex memberName = 1; */ - org.jetbrains.kotlin.backend.common.serialization.proto.String getMemberName(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getMemberName(); /** * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression receiver = 2; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumConstructorCall.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumConstructorCall.java index f285767d843..06d2bcae697 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumConstructorCall.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumConstructorCall.java @@ -54,11 +54,11 @@ public final class IrEnumConstructorCall extends break; } case 10: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000001) == 0x00000001)) { subBuilder = symbol_.toBuilder(); } - symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry); + symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(symbol_); symbol_ = subBuilder.buildPartial(); @@ -114,17 +114,17 @@ public final class IrEnumConstructorCall extends private int bitField0_; public static final int SYMBOL_FIELD_NUMBER = 1; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public boolean hasSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() { return symbol_; } @@ -144,7 +144,7 @@ public final class IrEnumConstructorCall extends } private void initFields() { - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); memberAccess_ = org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon.getDefaultInstance(); } private byte memoizedIsInitialized = -1; @@ -293,7 +293,7 @@ public final class IrEnumConstructorCall extends public Builder clear() { super.clear(); - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); memberAccess_ = org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); @@ -384,23 +384,23 @@ public final class IrEnumConstructorCall extends } private int bitField0_; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public boolean hasSymbol() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() { return symbol_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -410,23 +410,23 @@ public final class IrEnumConstructorCall extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public Builder setSymbol( - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { symbol_ = builderForValue.build(); bitField0_ |= 0x00000001; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000001) == 0x00000001) && - symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) { + symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { symbol_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial(); } else { symbol_ = value; } @@ -435,10 +435,10 @@ public final class IrEnumConstructorCall extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ public Builder clearSymbol() { - symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance(); + symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumConstructorCallOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumConstructorCallOrBuilder.java index c11627d28f5..c6d14a616b1 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumConstructorCallOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumConstructorCallOrBuilder.java @@ -8,13 +8,13 @@ public interface IrEnumConstructorCallOrBuilder extends org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ boolean hasSymbol(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol(); /** * required .org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon member_access = 2; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumEntry.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumEntry.java index 7580f167010..e06f968742c 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumEntry.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumEntry.java @@ -67,11 +67,11 @@ public final class IrEnumEntry extends break; } case 18: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000002) == 0x00000002)) { subBuilder = initializer_.toBuilder(); } - initializer_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.PARSER, extensionRegistry); + initializer_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(initializer_); initializer_ = subBuilder.buildPartial(); @@ -93,11 +93,11 @@ public final class IrEnumEntry extends break; } case 34: { - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000008) == 0x00000008)) { subBuilder = name_.toBuilder(); } - name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry); + name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(name_); name_ = subBuilder.buildPartial(); @@ -155,17 +155,17 @@ public final class IrEnumEntry extends } public static final int INITIALIZER_FIELD_NUMBER = 2; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer_; /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ public boolean hasInitializer() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression getInitializer() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getInitializer() { return initializer_; } @@ -185,25 +185,25 @@ public final class IrEnumEntry extends } public static final int NAME_FIELD_NUMBER = 4; - private org.jetbrains.kotlin.backend.common.serialization.proto.String name_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 4; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 4; */ public boolean hasName() { return ((bitField0_ & 0x00000008) == 0x00000008); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 4; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 4; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() { return name_; } private void initFields() { base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance(); - initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance(); + initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); correspondingClass_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrClass.getDefaultInstance(); - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -379,11 +379,11 @@ public final class IrEnumEntry extends super.clear(); base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); - initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance(); + initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); correspondingClass_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrClass.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000004); - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000008); return this; } @@ -558,23 +558,23 @@ public final class IrEnumEntry extends return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ public boolean hasInitializer() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression getInitializer() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getInitializer() { return initializer_; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ - public Builder setInitializer(org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression value) { + public Builder setInitializer(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -584,23 +584,23 @@ public final class IrEnumEntry extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ public Builder setInitializer( - org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { initializer_ = builderForValue.build(); bitField0_ |= 0x00000002; return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ - public Builder mergeInitializer(org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression value) { + public Builder mergeInitializer(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000002) == 0x00000002) && - initializer_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance()) { + initializer_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { initializer_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.newBuilder(initializer_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(initializer_).mergeFrom(value).buildPartial(); } else { initializer_ = value; } @@ -609,10 +609,10 @@ public final class IrEnumEntry extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ public Builder clearInitializer() { - initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance(); + initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; @@ -678,23 +678,23 @@ public final class IrEnumEntry extends return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 4; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 4; */ public boolean hasName() { return ((bitField0_ & 0x00000008) == 0x00000008); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 4; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 4; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() { return name_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 4; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 4; */ - public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -704,23 +704,23 @@ public final class IrEnumEntry extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 4; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 4; */ public Builder setName( - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { name_ = builderForValue.build(); bitField0_ |= 0x00000008; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 4; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 4; */ - public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000008) == 0x00000008) && - name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) { + name_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { name_ = - org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(name_).mergeFrom(value).buildPartial(); } else { name_ = value; } @@ -729,10 +729,10 @@ public final class IrEnumEntry extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 4; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 4; */ public Builder clearName() { - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000008); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumEntryOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumEntryOrBuilder.java index 610dd59e8f6..516e4fc914a 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumEntryOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrEnumEntryOrBuilder.java @@ -17,13 +17,13 @@ public interface IrEnumEntryOrBuilder extends org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase getBase(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ boolean hasInitializer(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression getInitializer(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getInitializer(); /** * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrClass corresponding_class = 3; @@ -35,11 +35,11 @@ public interface IrEnumEntryOrBuilder extends org.jetbrains.kotlin.backend.common.serialization.proto.IrClass getCorrespondingClass(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 4; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 4; */ boolean hasName(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 4; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 4; */ - org.jetbrains.kotlin.backend.common.serialization.proto.String getName(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName(); } \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrExpression.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrExpression.java index 76ea68f48f9..31b36534981 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrExpression.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrExpression.java @@ -67,11 +67,11 @@ public final class IrExpression extends break; } case 18: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000002) == 0x00000002)) { subBuilder = type_.toBuilder(); } - type_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry); + type_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(type_); type_ = subBuilder.buildPartial(); @@ -142,17 +142,17 @@ public final class IrExpression extends } public static final int TYPE_FIELD_NUMBER = 2; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2; */ public boolean hasType() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType() { return type_; } @@ -173,7 +173,7 @@ public final class IrExpression extends private void initFields() { operation_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrOperation.getDefaultInstance(); - type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance(); + type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); coordinates_ = org.jetbrains.kotlin.backend.common.serialization.proto.Coordinates.getDefaultInstance(); } private byte memoizedIsInitialized = -1; @@ -339,7 +339,7 @@ public final class IrExpression extends super.clear(); operation_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrOperation.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); - type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance(); + type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); coordinates_ = org.jetbrains.kotlin.backend.common.serialization.proto.Coordinates.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000004); @@ -505,23 +505,23 @@ public final class IrExpression extends return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2; */ public boolean hasType() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType() { return type_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2; */ - public Builder setType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) { + public Builder setType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -531,23 +531,23 @@ public final class IrExpression extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2; */ public Builder setType( - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { type_ = builderForValue.build(); bitField0_ |= 0x00000002; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2; */ - public Builder mergeType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) { + public Builder mergeType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000002) == 0x00000002) && - type_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance()) { + type_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { type_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.newBuilder(type_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(type_).mergeFrom(value).buildPartial(); } else { type_ = value; } @@ -556,10 +556,10 @@ public final class IrExpression extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2; */ public Builder clearType() { - type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance(); + type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrExpressionOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrExpressionOrBuilder.java index 273e1cad991..baa8682ff14 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrExpressionOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrExpressionOrBuilder.java @@ -17,13 +17,13 @@ public interface IrExpressionOrBuilder extends org.jetbrains.kotlin.backend.common.serialization.proto.IrOperation getOperation(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2; */ boolean hasType(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType(); /** * required .org.jetbrains.kotlin.backend.common.serialization.proto.Coordinates coordinates = 3; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrField.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrField.java index 64c08e0d758..ba0312ec350 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrField.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrField.java @@ -67,11 +67,11 @@ public final class IrField extends break; } case 18: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000002) == 0x00000002)) { subBuilder = initializer_.toBuilder(); } - initializer_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.PARSER, extensionRegistry); + initializer_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(initializer_); initializer_ = subBuilder.buildPartial(); @@ -80,11 +80,11 @@ public final class IrField extends break; } case 26: { - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000004) == 0x00000004)) { subBuilder = name_.toBuilder(); } - name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry); + name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(name_); name_ = subBuilder.buildPartial(); @@ -121,11 +121,11 @@ public final class IrField extends break; } case 66: { - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null; if (((bitField0_ & 0x00000080) == 0x00000080)) { subBuilder = type_.toBuilder(); } - type_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry); + type_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(type_); type_ = subBuilder.buildPartial(); @@ -183,32 +183,32 @@ public final class IrField extends } public static final int INITIALIZER_FIELD_NUMBER = 2; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer_; /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ public boolean hasInitializer() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression getInitializer() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getInitializer() { return initializer_; } public static final int NAME_FIELD_NUMBER = 3; - private org.jetbrains.kotlin.backend.common.serialization.proto.String name_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ public boolean hasName() { return ((bitField0_ & 0x00000004) == 0x00000004); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() { return name_; } @@ -273,29 +273,29 @@ public final class IrField extends } public static final int TYPE_FIELD_NUMBER = 8; - private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_; + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 8; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 8; */ public boolean hasType() { return ((bitField0_ & 0x00000080) == 0x00000080); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 8; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 8; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType() { return type_; } private void initFields() { base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance(); - initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance(); - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); + name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); visibility_ = org.jetbrains.kotlin.backend.common.serialization.proto.Visibility.getDefaultInstance(); isFinal_ = false; isExternal_ = false; isStatic_ = false; - type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance(); + type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -521,9 +521,9 @@ public final class IrField extends super.clear(); base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); - initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance(); + initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000004); visibility_ = org.jetbrains.kotlin.backend.common.serialization.proto.Visibility.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000008); @@ -533,7 +533,7 @@ public final class IrField extends bitField0_ = (bitField0_ & ~0x00000020); isStatic_ = false; bitField0_ = (bitField0_ & ~0x00000040); - type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance(); + type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000080); return this; } @@ -758,23 +758,23 @@ public final class IrField extends return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ public boolean hasInitializer() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression getInitializer() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getInitializer() { return initializer_; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ - public Builder setInitializer(org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression value) { + public Builder setInitializer(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -784,23 +784,23 @@ public final class IrField extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ public Builder setInitializer( - org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { initializer_ = builderForValue.build(); bitField0_ |= 0x00000002; return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ - public Builder mergeInitializer(org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression value) { + public Builder mergeInitializer(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000002) == 0x00000002) && - initializer_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance()) { + initializer_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { initializer_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.newBuilder(initializer_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(initializer_).mergeFrom(value).buildPartial(); } else { initializer_ = value; } @@ -809,32 +809,32 @@ public final class IrField extends return this; } /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ public Builder clearInitializer() { - initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance(); + initializer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ public boolean hasName() { return ((bitField0_ & 0x00000004) == 0x00000004); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() { return name_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ - public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -844,23 +844,23 @@ public final class IrField extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ public Builder setName( - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { name_ = builderForValue.build(); bitField0_ |= 0x00000004; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ - public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000004) == 0x00000004) && - name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) { + name_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { name_ = - org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(name_).mergeFrom(value).buildPartial(); } else { name_ = value; } @@ -869,10 +869,10 @@ public final class IrField extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ public Builder clearName() { - name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000004); return this; @@ -1034,23 +1034,23 @@ public final class IrField extends return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 8; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 8; */ public boolean hasType() { return ((bitField0_ & 0x00000080) == 0x00000080); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 8; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 8; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType() { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType() { return type_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 8; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 8; */ - public Builder setType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) { + public Builder setType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -1060,23 +1060,23 @@ public final class IrField extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 8; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 8; */ public Builder setType( - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { type_ = builderForValue.build(); bitField0_ |= 0x00000080; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 8; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 8; */ - public Builder mergeType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) { + public Builder mergeType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (((bitField0_ & 0x00000080) == 0x00000080) && - type_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance()) { + type_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) { type_ = - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.newBuilder(type_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(type_).mergeFrom(value).buildPartial(); } else { type_ = value; } @@ -1085,10 +1085,10 @@ public final class IrField extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 8; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 8; */ public Builder clearType() { - type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance(); + type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000080); return this; diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFieldOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFieldOrBuilder.java index d72eda6bf87..852576aaa62 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFieldOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFieldOrBuilder.java @@ -17,22 +17,22 @@ public interface IrFieldOrBuilder extends org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase getBase(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ boolean hasInitializer(); /** - * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression initializer = 2; + * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex initializer = 2; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression getInitializer(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getInitializer(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ boolean hasName(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 3; */ - org.jetbrains.kotlin.backend.common.serialization.proto.String getName(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName(); /** * required .org.jetbrains.kotlin.backend.common.serialization.proto.Visibility visibility = 4; @@ -71,11 +71,11 @@ public interface IrFieldOrBuilder extends boolean getIsStatic(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 8; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 8; */ boolean hasType(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 8; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 8; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType(); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType(); } \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFile.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFile.java index faeff1524f4..5341079fb3f 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFile.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFile.java @@ -75,11 +75,11 @@ public final class IrFile extends break; } case 26: { - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null; + org.jetbrains.kotlin.backend.common.serialization.proto.FqName.Builder subBuilder = null; if (((bitField0_ & 0x00000002) == 0x00000002)) { subBuilder = fqName_.toBuilder(); } - fqName_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry); + fqName_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.FqName.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(fqName_); fqName_ = subBuilder.buildPartial(); @@ -102,10 +102,10 @@ public final class IrFile extends } case 42: { if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) { - explicitlyExportedToCompiler_ = new java.util.ArrayList(); + explicitlyExportedToCompiler_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000010; } - explicitlyExportedToCompiler_.add(input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry)); + explicitlyExportedToCompiler_.add(input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry)); break; } } @@ -199,17 +199,17 @@ public final class IrFile extends } public static final int FQ_NAME_FIELD_NUMBER = 3; - private org.jetbrains.kotlin.backend.common.serialization.proto.String fqName_; + private org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqName_; /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String fq_name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fq_name = 3; */ public boolean hasFqName() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String fq_name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fq_name = 3; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getFqName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.FqName getFqName() { return fqName_; } @@ -229,36 +229,36 @@ public final class IrFile extends } public static final int EXPLICITLY_EXPORTED_TO_COMPILER_FIELD_NUMBER = 5; - private java.util.List explicitlyExportedToCompiler_; + private java.util.List explicitlyExportedToCompiler_; /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ - public java.util.List getExplicitlyExportedToCompilerList() { + public java.util.List getExplicitlyExportedToCompilerList() { return explicitlyExportedToCompiler_; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ - public java.util.List + public java.util.List getExplicitlyExportedToCompilerOrBuilderList() { return explicitlyExportedToCompiler_; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ public int getExplicitlyExportedToCompilerCount() { return explicitlyExportedToCompiler_.size(); } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getExplicitlyExportedToCompiler(int index) { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getExplicitlyExportedToCompiler(int index) { return explicitlyExportedToCompiler_.get(index); } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbolOrBuilder getExplicitlyExportedToCompilerOrBuilder( + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndexOrBuilder getExplicitlyExportedToCompilerOrBuilder( int index) { return explicitlyExportedToCompiler_.get(index); } @@ -266,7 +266,7 @@ public final class IrFile extends private void initFields() { declarationId_ = java.util.Collections.emptyList(); fileEntry_ = org.jetbrains.kotlin.backend.common.serialization.proto.FileEntry.getDefaultInstance(); - fqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + fqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance(); annotations_ = org.jetbrains.kotlin.backend.common.serialization.proto.Annotations.getDefaultInstance(); explicitlyExportedToCompiler_ = java.util.Collections.emptyList(); } @@ -461,7 +461,7 @@ public final class IrFile extends bitField0_ = (bitField0_ & ~0x00000001); fileEntry_ = org.jetbrains.kotlin.backend.common.serialization.proto.FileEntry.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); - fqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + fqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000004); annotations_ = org.jetbrains.kotlin.backend.common.serialization.proto.Annotations.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000008); @@ -796,23 +796,23 @@ public final class IrFile extends return this; } - private org.jetbrains.kotlin.backend.common.serialization.proto.String fqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + private org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String fq_name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fq_name = 3; */ public boolean hasFqName() { return ((bitField0_ & 0x00000004) == 0x00000004); } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String fq_name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fq_name = 3; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.String getFqName() { + public org.jetbrains.kotlin.backend.common.serialization.proto.FqName getFqName() { return fqName_; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String fq_name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fq_name = 3; */ - public Builder setFqName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder setFqName(org.jetbrains.kotlin.backend.common.serialization.proto.FqName value) { if (value == null) { throw new NullPointerException(); } @@ -822,23 +822,23 @@ public final class IrFile extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String fq_name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fq_name = 3; */ public Builder setFqName( - org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.FqName.Builder builderForValue) { fqName_ = builderForValue.build(); bitField0_ |= 0x00000004; return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String fq_name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fq_name = 3; */ - public Builder mergeFqName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) { + public Builder mergeFqName(org.jetbrains.kotlin.backend.common.serialization.proto.FqName value) { if (((bitField0_ & 0x00000004) == 0x00000004) && - fqName_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) { + fqName_ != org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance()) { fqName_ = - org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(fqName_).mergeFrom(value).buildPartial(); + org.jetbrains.kotlin.backend.common.serialization.proto.FqName.newBuilder(fqName_).mergeFrom(value).buildPartial(); } else { fqName_ = value; } @@ -847,10 +847,10 @@ public final class IrFile extends return this; } /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String fq_name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fq_name = 3; */ public Builder clearFqName() { - fqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance(); + fqName_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000004); return this; @@ -916,38 +916,38 @@ public final class IrFile extends return this; } - private java.util.List explicitlyExportedToCompiler_ = + private java.util.List explicitlyExportedToCompiler_ = java.util.Collections.emptyList(); private void ensureExplicitlyExportedToCompilerIsMutable() { if (!((bitField0_ & 0x00000010) == 0x00000010)) { - explicitlyExportedToCompiler_ = new java.util.ArrayList(explicitlyExportedToCompiler_); + explicitlyExportedToCompiler_ = new java.util.ArrayList(explicitlyExportedToCompiler_); bitField0_ |= 0x00000010; } } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ - public java.util.List getExplicitlyExportedToCompilerList() { + public java.util.List getExplicitlyExportedToCompilerList() { return java.util.Collections.unmodifiableList(explicitlyExportedToCompiler_); } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ public int getExplicitlyExportedToCompilerCount() { return explicitlyExportedToCompiler_.size(); } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getExplicitlyExportedToCompiler(int index) { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getExplicitlyExportedToCompiler(int index) { return explicitlyExportedToCompiler_.get(index); } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ public Builder setExplicitlyExportedToCompiler( - int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -957,19 +957,19 @@ public final class IrFile extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ public Builder setExplicitlyExportedToCompiler( - int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { ensureExplicitlyExportedToCompilerIsMutable(); explicitlyExportedToCompiler_.set(index, builderForValue.build()); return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ - public Builder addExplicitlyExportedToCompiler(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder addExplicitlyExportedToCompiler(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -979,10 +979,10 @@ public final class IrFile extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ public Builder addExplicitlyExportedToCompiler( - int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -992,30 +992,30 @@ public final class IrFile extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ public Builder addExplicitlyExportedToCompiler( - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { ensureExplicitlyExportedToCompilerIsMutable(); explicitlyExportedToCompiler_.add(builderForValue.build()); return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ public Builder addExplicitlyExportedToCompiler( - int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { ensureExplicitlyExportedToCompilerIsMutable(); explicitlyExportedToCompiler_.add(index, builderForValue.build()); return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ public Builder addAllExplicitlyExportedToCompiler( - java.lang.Iterable values) { + java.lang.Iterable values) { ensureExplicitlyExportedToCompilerIsMutable(); org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( values, explicitlyExportedToCompiler_); @@ -1023,7 +1023,7 @@ public final class IrFile extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ public Builder clearExplicitlyExportedToCompiler() { explicitlyExportedToCompiler_ = java.util.Collections.emptyList(); @@ -1032,7 +1032,7 @@ public final class IrFile extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ public Builder removeExplicitlyExportedToCompiler(int index) { ensureExplicitlyExportedToCompilerIsMutable(); diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFileOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFileOrBuilder.java index 9cf9618dcdb..01633a36409 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFileOrBuilder.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFileOrBuilder.java @@ -31,13 +31,13 @@ public interface IrFileOrBuilder extends org.jetbrains.kotlin.backend.common.serialization.proto.FileEntry getFileEntry(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String fq_name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fq_name = 3; */ boolean hasFqName(); /** - * required .org.jetbrains.kotlin.backend.common.serialization.proto.String fq_name = 3; + * required .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fq_name = 3; */ - org.jetbrains.kotlin.backend.common.serialization.proto.String getFqName(); + org.jetbrains.kotlin.backend.common.serialization.proto.FqName getFqName(); /** * required .org.jetbrains.kotlin.backend.common.serialization.proto.Annotations annotations = 4; @@ -49,16 +49,16 @@ public interface IrFileOrBuilder extends org.jetbrains.kotlin.backend.common.serialization.proto.Annotations getAnnotations(); /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ - java.util.List + java.util.List getExplicitlyExportedToCompilerList(); /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getExplicitlyExportedToCompiler(int index); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getExplicitlyExportedToCompiler(int index); /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol explicitly_exported_to_compiler = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex explicitly_exported_to_compiler = 5; */ int getExplicitlyExportedToCompilerCount(); } \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunction.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunction.java index 7acfe8038bc..d2a81f18393 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunction.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunction.java @@ -90,10 +90,10 @@ public final class IrFunction extends } case 42: { if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) { - overridden_ = new java.util.ArrayList(); + overridden_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000010; } - overridden_.add(input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry)); + overridden_.add(input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry)); break; } } @@ -194,30 +194,30 @@ public final class IrFunction extends } public static final int OVERRIDDEN_FIELD_NUMBER = 5; - private java.util.List overridden_; + private java.util.List overridden_; /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
    *optional UniqId corresponding_property = 7;
    * 
*/ - public java.util.List getOverriddenList() { + public java.util.List getOverriddenList() { return overridden_; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
    *optional UniqId corresponding_property = 7;
    * 
*/ - public java.util.List + public java.util.List getOverriddenOrBuilderList() { return overridden_; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
    *optional UniqId corresponding_property = 7;
@@ -227,23 +227,23 @@ public final class IrFunction extends
     return overridden_.size();
   }
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5;
    *
    * 
    *optional UniqId corresponding_property = 7;
    * 
*/ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getOverridden(int index) { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getOverridden(int index) { return overridden_.get(index); } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
    *optional UniqId corresponding_property = 7;
    * 
*/ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbolOrBuilder getOverriddenOrBuilder( + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndexOrBuilder getOverriddenOrBuilder( int index) { return overridden_.get(index); } @@ -727,27 +727,27 @@ public final class IrFunction extends return this; } - private java.util.List overridden_ = + private java.util.List overridden_ = java.util.Collections.emptyList(); private void ensureOverriddenIsMutable() { if (!((bitField0_ & 0x00000010) == 0x00000010)) { - overridden_ = new java.util.ArrayList(overridden_); + overridden_ = new java.util.ArrayList(overridden_); bitField0_ |= 0x00000010; } } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
      *optional UniqId corresponding_property = 7;
      * 
*/ - public java.util.List getOverriddenList() { + public java.util.List getOverriddenList() { return java.util.Collections.unmodifiableList(overridden_); } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
      *optional UniqId corresponding_property = 7;
@@ -757,24 +757,24 @@ public final class IrFunction extends
       return overridden_.size();
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5;
      *
      * 
      *optional UniqId corresponding_property = 7;
      * 
*/ - public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getOverridden(int index) { + public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getOverridden(int index) { return overridden_.get(index); } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
      *optional UniqId corresponding_property = 7;
      * 
*/ public Builder setOverridden( - int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -784,27 +784,27 @@ public final class IrFunction extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
      *optional UniqId corresponding_property = 7;
      * 
*/ public Builder setOverridden( - int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { ensureOverriddenIsMutable(); overridden_.set(index, builderForValue.build()); return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
      *optional UniqId corresponding_property = 7;
      * 
*/ - public Builder addOverridden(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + public Builder addOverridden(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -814,14 +814,14 @@ public final class IrFunction extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
      *optional UniqId corresponding_property = 7;
      * 
*/ public Builder addOverridden( - int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) { + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) { if (value == null) { throw new NullPointerException(); } @@ -831,42 +831,42 @@ public final class IrFunction extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
      *optional UniqId corresponding_property = 7;
      * 
*/ public Builder addOverridden( - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { ensureOverriddenIsMutable(); overridden_.add(builderForValue.build()); return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
      *optional UniqId corresponding_property = 7;
      * 
*/ public Builder addOverridden( - int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) { + int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) { ensureOverriddenIsMutable(); overridden_.add(index, builderForValue.build()); return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
      *optional UniqId corresponding_property = 7;
      * 
*/ public Builder addAllOverridden( - java.lang.Iterable values) { + java.lang.Iterable values) { ensureOverriddenIsMutable(); org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( values, overridden_); @@ -874,7 +874,7 @@ public final class IrFunction extends return this; } /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
      *optional UniqId corresponding_property = 7;
@@ -887,7 +887,7 @@ public final class IrFunction extends
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5;
      *
      * 
      *optional UniqId corresponding_property = 7;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionBase.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionBase.java
index d3aa81a4368..924802046da 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionBase.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionBase.java
@@ -67,11 +67,11 @@ public final class IrFunctionBase extends
             break;
           }
           case 18: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000002) == 0x00000002)) {
               subBuilder = name_.toBuilder();
             }
-            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry);
+            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(name_);
               name_ = subBuilder.buildPartial();
@@ -150,11 +150,11 @@ public final class IrFunctionBase extends
             break;
           }
           case 82: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000100) == 0x00000100)) {
               subBuilder = body_.toBuilder();
             }
-            body_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.PARSER, extensionRegistry);
+            body_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(body_);
               body_ = subBuilder.buildPartial();
@@ -163,11 +163,11 @@ public final class IrFunctionBase extends
             break;
           }
           case 90: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000200) == 0x00000200)) {
               subBuilder = returnType_.toBuilder();
             }
-            returnType_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry);
+            returnType_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(returnType_);
               returnType_ = subBuilder.buildPartial();
@@ -228,17 +228,17 @@ public final class IrFunctionBase extends
   }
 
   public static final int NAME_FIELD_NUMBER = 2;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.String name_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
   public boolean hasName() {
     return ((bitField0_ & 0x00000002) == 0x00000002);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
     return name_;
   }
 
@@ -368,38 +368,38 @@ public final class IrFunctionBase extends
   }
 
   public static final int BODY_FIELD_NUMBER = 10;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body_;
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 10;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 10;
    */
   public boolean hasBody() {
     return ((bitField0_ & 0x00000100) == 0x00000100);
   }
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 10;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 10;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement getBody() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getBody() {
     return body_;
   }
 
   public static final int RETURN_TYPE_FIELD_NUMBER = 11;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex returnType_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex returnType_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex return_type = 11;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_type = 11;
    */
   public boolean hasReturnType() {
     return ((bitField0_ & 0x00000200) == 0x00000200);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex return_type = 11;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_type = 11;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getReturnType() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getReturnType() {
     return returnType_;
   }
 
   private void initFields() {
     base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance();
-    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     visibility_ = org.jetbrains.kotlin.backend.common.serialization.proto.Visibility.getDefaultInstance();
     isInline_ = false;
     isExternal_ = false;
@@ -407,8 +407,8 @@ public final class IrFunctionBase extends
     dispatchReceiver_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrValueParameter.getDefaultInstance();
     extensionReceiver_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrValueParameter.getDefaultInstance();
     valueParameter_ = java.util.Collections.emptyList();
-    body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.getDefaultInstance();
-    returnType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
+    returnType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
   public final boolean isInitialized() {
@@ -677,7 +677,7 @@ public final class IrFunctionBase extends
       super.clear();
       base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
       visibility_ = org.jetbrains.kotlin.backend.common.serialization.proto.Visibility.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000004);
@@ -693,9 +693,9 @@ public final class IrFunctionBase extends
       bitField0_ = (bitField0_ & ~0x00000080);
       valueParameter_ = java.util.Collections.emptyList();
       bitField0_ = (bitField0_ & ~0x00000100);
-      body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.getDefaultInstance();
+      body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000200);
-      returnType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      returnType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000400);
       return this;
     }
@@ -971,23 +971,23 @@ public final class IrFunctionBase extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public boolean hasName() {
       return ((bitField0_ & 0x00000002) == 0x00000002);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
       return name_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -997,23 +997,23 @@ public final class IrFunctionBase extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public Builder setName(
-        org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       name_ = builderForValue.build();
 
       bitField0_ |= 0x00000002;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000002) == 0x00000002) &&
-          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) {
+          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         name_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(name_).mergeFrom(value).buildPartial();
       } else {
         name_ = value;
       }
@@ -1022,10 +1022,10 @@ public final class IrFunctionBase extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public Builder clearName() {
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000002);
       return this;
@@ -1460,23 +1460,23 @@ public final class IrFunctionBase extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 10;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 10;
      */
     public boolean hasBody() {
       return ((bitField0_ & 0x00000200) == 0x00000200);
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 10;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 10;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement getBody() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getBody() {
       return body_;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 10;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 10;
      */
-    public Builder setBody(org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement value) {
+    public Builder setBody(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -1486,23 +1486,23 @@ public final class IrFunctionBase extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 10;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 10;
      */
     public Builder setBody(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       body_ = builderForValue.build();
 
       bitField0_ |= 0x00000200;
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 10;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 10;
      */
-    public Builder mergeBody(org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement value) {
+    public Builder mergeBody(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000200) == 0x00000200) &&
-          body_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.getDefaultInstance()) {
+          body_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         body_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.newBuilder(body_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(body_).mergeFrom(value).buildPartial();
       } else {
         body_ = value;
       }
@@ -1511,32 +1511,32 @@ public final class IrFunctionBase extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 10;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 10;
      */
     public Builder clearBody() {
-      body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement.getDefaultInstance();
+      body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000200);
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex returnType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex returnType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex return_type = 11;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_type = 11;
      */
     public boolean hasReturnType() {
       return ((bitField0_ & 0x00000400) == 0x00000400);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex return_type = 11;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_type = 11;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getReturnType() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getReturnType() {
       return returnType_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex return_type = 11;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_type = 11;
      */
-    public Builder setReturnType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder setReturnType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -1546,23 +1546,23 @@ public final class IrFunctionBase extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex return_type = 11;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_type = 11;
      */
     public Builder setReturnType(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       returnType_ = builderForValue.build();
 
       bitField0_ |= 0x00000400;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex return_type = 11;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_type = 11;
      */
-    public Builder mergeReturnType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder mergeReturnType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000400) == 0x00000400) &&
-          returnType_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance()) {
+          returnType_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         returnType_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.newBuilder(returnType_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(returnType_).mergeFrom(value).buildPartial();
       } else {
         returnType_ = value;
       }
@@ -1571,10 +1571,10 @@ public final class IrFunctionBase extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex return_type = 11;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_type = 11;
      */
     public Builder clearReturnType() {
-      returnType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      returnType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000400);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionBaseOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionBaseOrBuilder.java
index b1a50a1c4df..8e66d6138c5 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionBaseOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionBaseOrBuilder.java
@@ -17,13 +17,13 @@ public interface IrFunctionBaseOrBuilder extends
   org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase getBase();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
   boolean hasName();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.String getName();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName();
 
   /**
    * required .org.jetbrains.kotlin.backend.common.serialization.proto.Visibility visibility = 3;
@@ -94,20 +94,20 @@ public interface IrFunctionBaseOrBuilder extends
   int getValueParameterCount();
 
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 10;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 10;
    */
   boolean hasBody();
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement body = 10;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex body = 10;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrStatement getBody();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getBody();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex return_type = 11;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_type = 11;
    */
   boolean hasReturnType();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex return_type = 11;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_type = 11;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getReturnType();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getReturnType();
 }
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionOrBuilder.java
index 99c9071a9ca..dddc6d0d794 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionOrBuilder.java
@@ -44,24 +44,24 @@ public interface IrFunctionOrBuilder extends
   boolean getIsSuspend();
 
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5;
    *
    * 
    *optional UniqId corresponding_property = 7;
    * 
*/ - java.util.List + java.util.List getOverriddenList(); /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
    *optional UniqId corresponding_property = 7;
    * 
*/ - org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getOverridden(int index); + org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getOverridden(int index); /** - * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol overridden = 5; + * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex overridden = 5; * *
    *optional UniqId corresponding_property = 7;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionReference.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionReference.java
index c34d17f0eb3..31a60b431e6 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionReference.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionReference.java
@@ -54,11 +54,11 @@ public final class IrFunctionReference extends
             break;
           }
           case 10: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000001) == 0x00000001)) {
               subBuilder = symbol_.toBuilder();
             }
-            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(symbol_);
               symbol_ = subBuilder.buildPartial();
@@ -127,17 +127,17 @@ public final class IrFunctionReference extends
 
   private int bitField0_;
   public static final int SYMBOL_FIELD_NUMBER = 1;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
   public boolean hasSymbol() {
     return ((bitField0_ & 0x00000001) == 0x00000001);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
     return symbol_;
   }
 
@@ -172,7 +172,7 @@ public final class IrFunctionReference extends
   }
 
   private void initFields() {
-    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin.getDefaultInstance();
     memberAccess_ = org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon.getDefaultInstance();
   }
@@ -335,7 +335,7 @@ public final class IrFunctionReference extends
 
     public Builder clear() {
       super.clear();
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
       origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
@@ -441,23 +441,23 @@ public final class IrFunctionReference extends
     }
     private int bitField0_;
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public boolean hasSymbol() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
       return symbol_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -467,23 +467,23 @@ public final class IrFunctionReference extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public Builder setSymbol(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       symbol_ = builderForValue.build();
 
       bitField0_ |= 0x00000001;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000001) == 0x00000001) &&
-          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         symbol_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial();
       } else {
         symbol_ = value;
       }
@@ -492,10 +492,10 @@ public final class IrFunctionReference extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public Builder clearSymbol() {
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionReferenceOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionReferenceOrBuilder.java
index 27a1b7c4464..518b431e730 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionReferenceOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrFunctionReferenceOrBuilder.java
@@ -8,13 +8,13 @@ public interface IrFunctionReferenceOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
   boolean hasSymbol();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol();
 
   /**
    * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin origin = 2;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetEnumValue.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetEnumValue.java
index 37a8c11d899..0bfefd2c80a 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetEnumValue.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetEnumValue.java
@@ -54,11 +54,11 @@ public final class IrGetEnumValue extends
             break;
           }
           case 18: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000001) == 0x00000001)) {
               subBuilder = symbol_.toBuilder();
             }
-            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(symbol_);
               symbol_ = subBuilder.buildPartial();
@@ -101,22 +101,22 @@ public final class IrGetEnumValue extends
 
   private int bitField0_;
   public static final int SYMBOL_FIELD_NUMBER = 2;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 2;
    */
   public boolean hasSymbol() {
     return ((bitField0_ & 0x00000001) == 0x00000001);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 2;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
     return symbol_;
   }
 
   private void initFields() {
-    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
   public final boolean isInitialized() {
@@ -249,7 +249,7 @@ public final class IrGetEnumValue extends
 
     public Builder clear() {
       super.clear();
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
     }
@@ -323,23 +323,23 @@ public final class IrGetEnumValue extends
     }
     private int bitField0_;
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 2;
      */
     public boolean hasSymbol() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 2;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
       return symbol_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 2;
      */
-    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -349,23 +349,23 @@ public final class IrGetEnumValue extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 2;
      */
     public Builder setSymbol(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       symbol_ = builderForValue.build();
 
       bitField0_ |= 0x00000001;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 2;
      */
-    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000001) == 0x00000001) &&
-          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         symbol_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial();
       } else {
         symbol_ = value;
       }
@@ -374,10 +374,10 @@ public final class IrGetEnumValue extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 2;
      */
     public Builder clearSymbol() {
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetEnumValueOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetEnumValueOrBuilder.java
index d9dcd71d9ee..2802a14693e 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetEnumValueOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetEnumValueOrBuilder.java
@@ -8,11 +8,11 @@ public interface IrGetEnumValueOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 2;
    */
   boolean hasSymbol();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 2;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol();
 }
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetObject.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetObject.java
index d6f2038a3bd..dacefa20b9f 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetObject.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetObject.java
@@ -54,11 +54,11 @@ public final class IrGetObject extends
             break;
           }
           case 10: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000001) == 0x00000001)) {
               subBuilder = symbol_.toBuilder();
             }
-            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(symbol_);
               symbol_ = subBuilder.buildPartial();
@@ -101,22 +101,22 @@ public final class IrGetObject extends
 
   private int bitField0_;
   public static final int SYMBOL_FIELD_NUMBER = 1;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
   public boolean hasSymbol() {
     return ((bitField0_ & 0x00000001) == 0x00000001);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
     return symbol_;
   }
 
   private void initFields() {
-    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
   public final boolean isInitialized() {
@@ -249,7 +249,7 @@ public final class IrGetObject extends
 
     public Builder clear() {
       super.clear();
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
     }
@@ -323,23 +323,23 @@ public final class IrGetObject extends
     }
     private int bitField0_;
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public boolean hasSymbol() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
       return symbol_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -349,23 +349,23 @@ public final class IrGetObject extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public Builder setSymbol(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       symbol_ = builderForValue.build();
 
       bitField0_ |= 0x00000001;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000001) == 0x00000001) &&
-          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         symbol_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial();
       } else {
         symbol_ = value;
       }
@@ -374,10 +374,10 @@ public final class IrGetObject extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public Builder clearSymbol() {
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetObjectOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetObjectOrBuilder.java
index 2ceff30eceb..645d99d6009 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetObjectOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetObjectOrBuilder.java
@@ -8,11 +8,11 @@ public interface IrGetObjectOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
   boolean hasSymbol();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol();
 }
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetValue.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetValue.java
index 3b164db3f8e..ed3873af1d0 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetValue.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetValue.java
@@ -54,11 +54,11 @@ public final class IrGetValue extends
             break;
           }
           case 10: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000001) == 0x00000001)) {
               subBuilder = symbol_.toBuilder();
             }
-            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(symbol_);
               symbol_ = subBuilder.buildPartial();
@@ -114,17 +114,17 @@ public final class IrGetValue extends
 
   private int bitField0_;
   public static final int SYMBOL_FIELD_NUMBER = 1;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
   public boolean hasSymbol() {
     return ((bitField0_ & 0x00000001) == 0x00000001);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
     return symbol_;
   }
 
@@ -144,7 +144,7 @@ public final class IrGetValue extends
   }
 
   private void initFields() {
-    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
@@ -291,7 +291,7 @@ public final class IrGetValue extends
 
     public Builder clear() {
       super.clear();
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
       origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
@@ -380,23 +380,23 @@ public final class IrGetValue extends
     }
     private int bitField0_;
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public boolean hasSymbol() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
       return symbol_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -406,23 +406,23 @@ public final class IrGetValue extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public Builder setSymbol(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       symbol_ = builderForValue.build();
 
       bitField0_ |= 0x00000001;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000001) == 0x00000001) &&
-          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         symbol_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial();
       } else {
         symbol_ = value;
       }
@@ -431,10 +431,10 @@ public final class IrGetValue extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public Builder clearSymbol() {
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetValueOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetValueOrBuilder.java
index 18cf0eb7b96..4bcc1d2ef9f 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetValueOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrGetValueOrBuilder.java
@@ -8,13 +8,13 @@ public interface IrGetValueOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
   boolean hasSymbol();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol();
 
   /**
    * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin origin = 2;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrInstanceInitializerCall.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrInstanceInitializerCall.java
index 52be3d59d24..206e4af9e14 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrInstanceInitializerCall.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrInstanceInitializerCall.java
@@ -54,11 +54,11 @@ public final class IrInstanceInitializerCall extends
             break;
           }
           case 10: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000001) == 0x00000001)) {
               subBuilder = symbol_.toBuilder();
             }
-            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(symbol_);
               symbol_ = subBuilder.buildPartial();
@@ -101,22 +101,22 @@ public final class IrInstanceInitializerCall extends
 
   private int bitField0_;
   public static final int SYMBOL_FIELD_NUMBER = 1;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
   public boolean hasSymbol() {
     return ((bitField0_ & 0x00000001) == 0x00000001);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
     return symbol_;
   }
 
   private void initFields() {
-    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
   public final boolean isInitialized() {
@@ -249,7 +249,7 @@ public final class IrInstanceInitializerCall extends
 
     public Builder clear() {
       super.clear();
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
     }
@@ -323,23 +323,23 @@ public final class IrInstanceInitializerCall extends
     }
     private int bitField0_;
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public boolean hasSymbol() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
       return symbol_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -349,23 +349,23 @@ public final class IrInstanceInitializerCall extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public Builder setSymbol(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       symbol_ = builderForValue.build();
 
       bitField0_ |= 0x00000001;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000001) == 0x00000001) &&
-          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         symbol_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial();
       } else {
         symbol_ = value;
       }
@@ -374,10 +374,10 @@ public final class IrInstanceInitializerCall extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public Builder clearSymbol() {
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrInstanceInitializerCallOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrInstanceInitializerCallOrBuilder.java
index 2a71130d014..e643fa824ef 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrInstanceInitializerCallOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrInstanceInitializerCallOrBuilder.java
@@ -8,11 +8,11 @@ public interface IrInstanceInitializerCallOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
   boolean hasSymbol();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol();
 }
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedProperty.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedProperty.java
index 460310c9bc5..725a7acd83b 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedProperty.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedProperty.java
@@ -67,11 +67,11 @@ public final class IrLocalDelegatedProperty extends
             break;
           }
           case 18: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000002) == 0x00000002)) {
               subBuilder = name_.toBuilder();
             }
-            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry);
+            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(name_);
               name_ = subBuilder.buildPartial();
@@ -80,11 +80,11 @@ public final class IrLocalDelegatedProperty extends
             break;
           }
           case 26: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000004) == 0x00000004)) {
               subBuilder = type_.toBuilder();
             }
-            type_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry);
+            type_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(type_);
               type_ = subBuilder.buildPartial();
@@ -186,32 +186,32 @@ public final class IrLocalDelegatedProperty extends
   }
 
   public static final int NAME_FIELD_NUMBER = 2;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.String name_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
   public boolean hasName() {
     return ((bitField0_ & 0x00000002) == 0x00000002);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
     return name_;
   }
 
   public static final int TYPE_FIELD_NUMBER = 3;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
    */
   public boolean hasType() {
     return ((bitField0_ & 0x00000004) == 0x00000004);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType() {
     return type_;
   }
 
@@ -277,8 +277,8 @@ public final class IrLocalDelegatedProperty extends
 
   private void initFields() {
     base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance();
-    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
-    type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
+    type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     isVar_ = false;
     delegate_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrVariable.getDefaultInstance();
     getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrFunction.getDefaultInstance();
@@ -499,9 +499,9 @@ public final class IrLocalDelegatedProperty extends
       super.clear();
       base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
-      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000004);
       isVar_ = false;
       bitField0_ = (bitField0_ & ~0x00000008);
@@ -725,23 +725,23 @@ public final class IrLocalDelegatedProperty extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public boolean hasName() {
       return ((bitField0_ & 0x00000002) == 0x00000002);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
       return name_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -751,23 +751,23 @@ public final class IrLocalDelegatedProperty extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public Builder setName(
-        org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       name_ = builderForValue.build();
 
       bitField0_ |= 0x00000002;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000002) == 0x00000002) &&
-          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) {
+          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         name_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(name_).mergeFrom(value).buildPartial();
       } else {
         name_ = value;
       }
@@ -776,32 +776,32 @@ public final class IrLocalDelegatedProperty extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public Builder clearName() {
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000002);
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
      */
     public boolean hasType() {
       return ((bitField0_ & 0x00000004) == 0x00000004);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType() {
       return type_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
      */
-    public Builder setType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder setType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -811,23 +811,23 @@ public final class IrLocalDelegatedProperty extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
      */
     public Builder setType(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       type_ = builderForValue.build();
 
       bitField0_ |= 0x00000004;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
      */
-    public Builder mergeType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder mergeType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000004) == 0x00000004) &&
-          type_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance()) {
+          type_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         type_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.newBuilder(type_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(type_).mergeFrom(value).buildPartial();
       } else {
         type_ = value;
       }
@@ -836,10 +836,10 @@ public final class IrLocalDelegatedProperty extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
      */
     public Builder clearType() {
-      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000004);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedPropertyOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedPropertyOrBuilder.java
index 9644707816d..32f48219eb3 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedPropertyOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedPropertyOrBuilder.java
@@ -17,22 +17,22 @@ public interface IrLocalDelegatedPropertyOrBuilder extends
   org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase getBase();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
   boolean hasName();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.String getName();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
    */
   boolean hasType();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType();
 
   /**
    * required bool is_var = 4;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedPropertyReference.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedPropertyReference.java
index 11243f5f1d2..ab327fb1843 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedPropertyReference.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedPropertyReference.java
@@ -54,11 +54,11 @@ public final class IrLocalDelegatedPropertyReference extends
             break;
           }
           case 10: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000001) == 0x00000001)) {
               subBuilder = delegate_.toBuilder();
             }
-            delegate_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            delegate_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(delegate_);
               delegate_ = subBuilder.buildPartial();
@@ -67,11 +67,11 @@ public final class IrLocalDelegatedPropertyReference extends
             break;
           }
           case 18: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000002) == 0x00000002)) {
               subBuilder = getter_.toBuilder();
             }
-            getter_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            getter_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(getter_);
               getter_ = subBuilder.buildPartial();
@@ -80,11 +80,11 @@ public final class IrLocalDelegatedPropertyReference extends
             break;
           }
           case 26: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000004) == 0x00000004)) {
               subBuilder = setter_.toBuilder();
             }
-            setter_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            setter_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(setter_);
               setter_ = subBuilder.buildPartial();
@@ -93,11 +93,11 @@ public final class IrLocalDelegatedPropertyReference extends
             break;
           }
           case 34: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000008) == 0x00000008)) {
               subBuilder = symbol_.toBuilder();
             }
-            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(symbol_);
               symbol_ = subBuilder.buildPartial();
@@ -153,62 +153,62 @@ public final class IrLocalDelegatedPropertyReference extends
 
   private int bitField0_;
   public static final int DELEGATE_FIELD_NUMBER = 1;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol delegate_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex delegate_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol delegate = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex delegate = 1;
    */
   public boolean hasDelegate() {
     return ((bitField0_ & 0x00000001) == 0x00000001);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol delegate = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex delegate = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getDelegate() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getDelegate() {
     return delegate_;
   }
 
   public static final int GETTER_FIELD_NUMBER = 2;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter_;
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
    */
   public boolean hasGetter() {
     return ((bitField0_ & 0x00000002) == 0x00000002);
   }
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getGetter() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getGetter() {
     return getter_;
   }
 
   public static final int SETTER_FIELD_NUMBER = 3;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter_;
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
    */
   public boolean hasSetter() {
     return ((bitField0_ & 0x00000004) == 0x00000004);
   }
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSetter() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSetter() {
     return setter_;
   }
 
   public static final int SYMBOL_FIELD_NUMBER = 4;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 4;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 4;
    */
   public boolean hasSymbol() {
     return ((bitField0_ & 0x00000008) == 0x00000008);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 4;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 4;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
     return symbol_;
   }
 
@@ -228,10 +228,10 @@ public final class IrLocalDelegatedPropertyReference extends
   }
 
   private void initFields() {
-    delegate_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
-    getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
-    setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
-    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    delegate_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
+    getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
+    setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
+    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
@@ -419,13 +419,13 @@ public final class IrLocalDelegatedPropertyReference extends
 
     public Builder clear() {
       super.clear();
-      delegate_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      delegate_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
-      getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
-      setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000004);
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000008);
       origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000010);
@@ -555,23 +555,23 @@ public final class IrLocalDelegatedPropertyReference extends
     }
     private int bitField0_;
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol delegate_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex delegate_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol delegate = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex delegate = 1;
      */
     public boolean hasDelegate() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol delegate = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex delegate = 1;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getDelegate() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getDelegate() {
       return delegate_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol delegate = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex delegate = 1;
      */
-    public Builder setDelegate(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setDelegate(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -581,23 +581,23 @@ public final class IrLocalDelegatedPropertyReference extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol delegate = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex delegate = 1;
      */
     public Builder setDelegate(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       delegate_ = builderForValue.build();
 
       bitField0_ |= 0x00000001;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol delegate = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex delegate = 1;
      */
-    public Builder mergeDelegate(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeDelegate(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000001) == 0x00000001) &&
-          delegate_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          delegate_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         delegate_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(delegate_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(delegate_).mergeFrom(value).buildPartial();
       } else {
         delegate_ = value;
       }
@@ -606,32 +606,32 @@ public final class IrLocalDelegatedPropertyReference extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol delegate = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex delegate = 1;
      */
     public Builder clearDelegate() {
-      delegate_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      delegate_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
      */
     public boolean hasGetter() {
       return ((bitField0_ & 0x00000002) == 0x00000002);
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getGetter() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getGetter() {
       return getter_;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
      */
-    public Builder setGetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setGetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -641,23 +641,23 @@ public final class IrLocalDelegatedPropertyReference extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
      */
     public Builder setGetter(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       getter_ = builderForValue.build();
 
       bitField0_ |= 0x00000002;
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
      */
-    public Builder mergeGetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeGetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000002) == 0x00000002) &&
-          getter_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          getter_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         getter_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(getter_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(getter_).mergeFrom(value).buildPartial();
       } else {
         getter_ = value;
       }
@@ -666,32 +666,32 @@ public final class IrLocalDelegatedPropertyReference extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
      */
     public Builder clearGetter() {
-      getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000002);
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
      */
     public boolean hasSetter() {
       return ((bitField0_ & 0x00000004) == 0x00000004);
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSetter() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSetter() {
       return setter_;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
      */
-    public Builder setSetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setSetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -701,23 +701,23 @@ public final class IrLocalDelegatedPropertyReference extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
      */
     public Builder setSetter(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       setter_ = builderForValue.build();
 
       bitField0_ |= 0x00000004;
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
      */
-    public Builder mergeSetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeSetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000004) == 0x00000004) &&
-          setter_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          setter_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         setter_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(setter_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(setter_).mergeFrom(value).buildPartial();
       } else {
         setter_ = value;
       }
@@ -726,32 +726,32 @@ public final class IrLocalDelegatedPropertyReference extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
      */
     public Builder clearSetter() {
-      setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000004);
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 4;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 4;
      */
     public boolean hasSymbol() {
       return ((bitField0_ & 0x00000008) == 0x00000008);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 4;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 4;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
       return symbol_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 4;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 4;
      */
-    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -761,23 +761,23 @@ public final class IrLocalDelegatedPropertyReference extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 4;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 4;
      */
     public Builder setSymbol(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       symbol_ = builderForValue.build();
 
       bitField0_ |= 0x00000008;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 4;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 4;
      */
-    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000008) == 0x00000008) &&
-          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         symbol_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial();
       } else {
         symbol_ = value;
       }
@@ -786,10 +786,10 @@ public final class IrLocalDelegatedPropertyReference extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 4;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 4;
      */
     public Builder clearSymbol() {
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000008);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedPropertyReferenceOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedPropertyReferenceOrBuilder.java
index 30bde1b895f..9a79e6771fa 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedPropertyReferenceOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrLocalDelegatedPropertyReferenceOrBuilder.java
@@ -8,40 +8,40 @@ public interface IrLocalDelegatedPropertyReferenceOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol delegate = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex delegate = 1;
    */
   boolean hasDelegate();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol delegate = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex delegate = 1;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getDelegate();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getDelegate();
 
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
    */
   boolean hasGetter();
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getGetter();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getGetter();
 
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
    */
   boolean hasSetter();
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSetter();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSetter();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 4;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 4;
    */
   boolean hasSymbol();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 4;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 4;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol();
 
   /**
    * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin origin = 5;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrModule.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrModule.java
index 511ad33f14e..2fd444632c7 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrModule.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrModule.java
@@ -54,16 +54,9 @@ public final class IrModule extends
             break;
           }
           case 10: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null;
-            if (((bitField0_ & 0x00000001) == 0x00000001)) {
-              subBuilder = name_.toBuilder();
-            }
-            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry);
-            if (subBuilder != null) {
-              subBuilder.mergeFrom(name_);
-              name_ = subBuilder.buildPartial();
-            }
+            org.jetbrains.kotlin.protobuf.ByteString bs = input.readBytes();
             bitField0_ |= 0x00000001;
+            name_ = bs;
             break;
           }
           case 18: {
@@ -112,18 +105,45 @@ public final class IrModule extends
 
   private int bitField0_;
   public static final int NAME_FIELD_NUMBER = 1;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.String name_;
+  private java.lang.Object name_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+   * required string name = 1;
    */
   public boolean hasName() {
     return ((bitField0_ & 0x00000001) == 0x00000001);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+   * required string name = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
-    return name_;
+  public java.lang.String getName() {
+    java.lang.Object ref = name_;
+    if (ref instanceof java.lang.String) {
+      return (java.lang.String) ref;
+    } else {
+      org.jetbrains.kotlin.protobuf.ByteString bs = 
+          (org.jetbrains.kotlin.protobuf.ByteString) ref;
+      java.lang.String s = bs.toStringUtf8();
+      if (bs.isValidUtf8()) {
+        name_ = s;
+      }
+      return s;
+    }
+  }
+  /**
+   * required string name = 1;
+   */
+  public org.jetbrains.kotlin.protobuf.ByteString
+      getNameBytes() {
+    java.lang.Object ref = name_;
+    if (ref instanceof java.lang.String) {
+      org.jetbrains.kotlin.protobuf.ByteString b = 
+          org.jetbrains.kotlin.protobuf.ByteString.copyFromUtf8(
+              (java.lang.String) ref);
+      name_ = b;
+      return b;
+    } else {
+      return (org.jetbrains.kotlin.protobuf.ByteString) ref;
+    }
   }
 
   public static final int FILE_FIELD_NUMBER = 2;
@@ -162,7 +182,7 @@ public final class IrModule extends
   }
 
   private void initFields() {
-    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    name_ = "";
     file_ = java.util.Collections.emptyList();
   }
   private byte memoizedIsInitialized = -1;
@@ -175,10 +195,6 @@ public final class IrModule extends
       memoizedIsInitialized = 0;
       return false;
     }
-    if (!getName().isInitialized()) {
-      memoizedIsInitialized = 0;
-      return false;
-    }
     for (int i = 0; i < getFileCount(); i++) {
       if (!getFile(i).isInitialized()) {
         memoizedIsInitialized = 0;
@@ -193,7 +209,7 @@ public final class IrModule extends
                       throws java.io.IOException {
     getSerializedSize();
     if (((bitField0_ & 0x00000001) == 0x00000001)) {
-      output.writeMessage(1, name_);
+      output.writeBytes(1, getNameBytes());
     }
     for (int i = 0; i < file_.size(); i++) {
       output.writeMessage(2, file_.get(i));
@@ -209,7 +225,7 @@ public final class IrModule extends
     size = 0;
     if (((bitField0_ & 0x00000001) == 0x00000001)) {
       size += org.jetbrains.kotlin.protobuf.CodedOutputStream
-        .computeMessageSize(1, name_);
+        .computeBytesSize(1, getNameBytes());
     }
     for (int i = 0; i < file_.size(); i++) {
       size += org.jetbrains.kotlin.protobuf.CodedOutputStream
@@ -309,7 +325,7 @@ public final class IrModule extends
 
     public Builder clear() {
       super.clear();
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = "";
       bitField0_ = (bitField0_ & ~0x00000001);
       file_ = java.util.Collections.emptyList();
       bitField0_ = (bitField0_ & ~0x00000002);
@@ -352,7 +368,9 @@ public final class IrModule extends
     public Builder mergeFrom(org.jetbrains.kotlin.backend.common.serialization.proto.IrModule other) {
       if (other == org.jetbrains.kotlin.backend.common.serialization.proto.IrModule.getDefaultInstance()) return this;
       if (other.hasName()) {
-        mergeName(other.getName());
+        bitField0_ |= 0x00000001;
+        name_ = other.name_;
+        
       }
       if (!other.file_.isEmpty()) {
         if (file_.isEmpty()) {
@@ -374,10 +392,6 @@ public final class IrModule extends
         
         return false;
       }
-      if (!getName().isInitialized()) {
-        
-        return false;
-      }
       for (int i = 0; i < getFileCount(); i++) {
         if (!getFile(i).isInitialized()) {
           
@@ -406,63 +420,79 @@ public final class IrModule extends
     }
     private int bitField0_;
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    private java.lang.Object name_ = "";
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required string name = 1;
      */
     public boolean hasName() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required string name = 1;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
-      return name_;
-    }
-    /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
-     */
-    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
-      if (value == null) {
-        throw new NullPointerException();
+    public java.lang.String getName() {
+      java.lang.Object ref = name_;
+      if (!(ref instanceof java.lang.String)) {
+        org.jetbrains.kotlin.protobuf.ByteString bs =
+            (org.jetbrains.kotlin.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        if (bs.isValidUtf8()) {
+          name_ = s;
+        }
+        return s;
+      } else {
+        return (java.lang.String) ref;
       }
-      name_ = value;
-
-      bitField0_ |= 0x00000001;
-      return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required string name = 1;
+     */
+    public org.jetbrains.kotlin.protobuf.ByteString
+        getNameBytes() {
+      java.lang.Object ref = name_;
+      if (ref instanceof String) {
+        org.jetbrains.kotlin.protobuf.ByteString b = 
+            org.jetbrains.kotlin.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        name_ = b;
+        return b;
+      } else {
+        return (org.jetbrains.kotlin.protobuf.ByteString) ref;
+      }
+    }
+    /**
+     * required string name = 1;
      */
     public Builder setName(
-        org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) {
-      name_ = builderForValue.build();
-
-      bitField0_ |= 0x00000001;
+        java.lang.String value) {
+      if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000001;
+      name_ = value;
+      
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
-     */
-    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
-      if (((bitField0_ & 0x00000001) == 0x00000001) &&
-          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) {
-        name_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial();
-      } else {
-        name_ = value;
-      }
-
-      bitField0_ |= 0x00000001;
-      return this;
-    }
-    /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required string name = 1;
      */
     public Builder clearName() {
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
-
       bitField0_ = (bitField0_ & ~0x00000001);
+      name_ = getDefaultInstance().getName();
+      
+      return this;
+    }
+    /**
+     * required string name = 1;
+     */
+    public Builder setNameBytes(
+        org.jetbrains.kotlin.protobuf.ByteString value) {
+      if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000001;
+      name_ = value;
+      
       return this;
     }
 
@@ -600,4 +630,4 @@ public final class IrModule extends
   }
 
   // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.backend.common.serialization.proto.IrModule)
-}
+}
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrModuleOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrModuleOrBuilder.java
index fd993c64390..58761a4c1f5 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrModuleOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrModuleOrBuilder.java
@@ -8,13 +8,18 @@ public interface IrModuleOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+   * required string name = 1;
    */
   boolean hasName();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+   * required string name = 1;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.String getName();
+  java.lang.String getName();
+  /**
+   * required string name = 1;
+   */
+  org.jetbrains.kotlin.protobuf.ByteString
+      getNameBytes();
 
   /**
    * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrFile file = 2;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrProperty.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrProperty.java
index 9d197b90ab2..cd266b09fdb 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrProperty.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrProperty.java
@@ -67,11 +67,11 @@ public final class IrProperty extends
             break;
           }
           case 18: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000002) == 0x00000002)) {
               subBuilder = name_.toBuilder();
             }
-            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry);
+            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(name_);
               name_ = subBuilder.buildPartial();
@@ -218,17 +218,17 @@ public final class IrProperty extends
   }
 
   public static final int NAME_FIELD_NUMBER = 2;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.String name_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
   public boolean hasName() {
     return ((bitField0_ & 0x00000002) == 0x00000002);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
     return name_;
   }
 
@@ -384,7 +384,7 @@ public final class IrProperty extends
 
   private void initFields() {
     base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance();
-    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     visibility_ = org.jetbrains.kotlin.backend.common.serialization.proto.Visibility.getDefaultInstance();
     modality_ = org.jetbrains.kotlin.backend.common.serialization.proto.ModalityKind.FINAL_MODALITY;
     isVar_ = false;
@@ -664,7 +664,7 @@ public final class IrProperty extends
       super.clear();
       base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
       visibility_ = org.jetbrains.kotlin.backend.common.serialization.proto.Visibility.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000004);
@@ -953,23 +953,23 @@ public final class IrProperty extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public boolean hasName() {
       return ((bitField0_ & 0x00000002) == 0x00000002);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
       return name_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -979,23 +979,23 @@ public final class IrProperty extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public Builder setName(
-        org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       name_ = builderForValue.build();
 
       bitField0_ |= 0x00000002;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000002) == 0x00000002) &&
-          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) {
+          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         name_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(name_).mergeFrom(value).buildPartial();
       } else {
         name_ = value;
       }
@@ -1004,10 +1004,10 @@ public final class IrProperty extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public Builder clearName() {
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000002);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrPropertyOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrPropertyOrBuilder.java
index 990729d3460..257b5276bdc 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrPropertyOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrPropertyOrBuilder.java
@@ -17,13 +17,13 @@ public interface IrPropertyOrBuilder extends
   org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase getBase();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
   boolean hasName();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.String getName();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName();
 
   /**
    * required .org.jetbrains.kotlin.backend.common.serialization.proto.Visibility visibility = 3;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrPropertyReference.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrPropertyReference.java
index c5feaa4a125..52c55aa50a3 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrPropertyReference.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrPropertyReference.java
@@ -54,11 +54,11 @@ public final class IrPropertyReference extends
             break;
           }
           case 10: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000001) == 0x00000001)) {
               subBuilder = field_.toBuilder();
             }
-            field_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            field_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(field_);
               field_ = subBuilder.buildPartial();
@@ -67,11 +67,11 @@ public final class IrPropertyReference extends
             break;
           }
           case 18: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000002) == 0x00000002)) {
               subBuilder = getter_.toBuilder();
             }
-            getter_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            getter_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(getter_);
               getter_ = subBuilder.buildPartial();
@@ -80,11 +80,11 @@ public final class IrPropertyReference extends
             break;
           }
           case 26: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000004) == 0x00000004)) {
               subBuilder = setter_.toBuilder();
             }
-            setter_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            setter_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(setter_);
               setter_ = subBuilder.buildPartial();
@@ -119,11 +119,11 @@ public final class IrPropertyReference extends
             break;
           }
           case 50: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000020) == 0x00000020)) {
               subBuilder = symbol_.toBuilder();
             }
-            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(symbol_);
               symbol_ = subBuilder.buildPartial();
@@ -166,47 +166,47 @@ public final class IrPropertyReference extends
 
   private int bitField0_;
   public static final int FIELD_FIELD_NUMBER = 1;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol field_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex field_;
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol field = 1;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex field = 1;
    */
   public boolean hasField() {
     return ((bitField0_ & 0x00000001) == 0x00000001);
   }
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol field = 1;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex field = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getField() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getField() {
     return field_;
   }
 
   public static final int GETTER_FIELD_NUMBER = 2;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter_;
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
    */
   public boolean hasGetter() {
     return ((bitField0_ & 0x00000002) == 0x00000002);
   }
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getGetter() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getGetter() {
     return getter_;
   }
 
   public static final int SETTER_FIELD_NUMBER = 3;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter_;
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
    */
   public boolean hasSetter() {
     return ((bitField0_ & 0x00000004) == 0x00000004);
   }
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSetter() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSetter() {
     return setter_;
   }
 
@@ -241,27 +241,27 @@ public final class IrPropertyReference extends
   }
 
   public static final int SYMBOL_FIELD_NUMBER = 6;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 6;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 6;
    */
   public boolean hasSymbol() {
     return ((bitField0_ & 0x00000020) == 0x00000020);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 6;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 6;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
     return symbol_;
   }
 
   private void initFields() {
-    field_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
-    getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
-    setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    field_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
+    getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
+    setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin.getDefaultInstance();
     memberAccess_ = org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon.getDefaultInstance();
-    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
   public final boolean isInitialized() {
@@ -461,17 +461,17 @@ public final class IrPropertyReference extends
 
     public Builder clear() {
       super.clear();
-      field_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      field_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
-      getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
-      setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000004);
       origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000008);
       memberAccess_ = org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000010);
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000020);
       return this;
     }
@@ -612,23 +612,23 @@ public final class IrPropertyReference extends
     }
     private int bitField0_;
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol field_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex field_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol field = 1;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex field = 1;
      */
     public boolean hasField() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol field = 1;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex field = 1;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getField() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getField() {
       return field_;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol field = 1;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex field = 1;
      */
-    public Builder setField(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setField(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -638,23 +638,23 @@ public final class IrPropertyReference extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol field = 1;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex field = 1;
      */
     public Builder setField(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       field_ = builderForValue.build();
 
       bitField0_ |= 0x00000001;
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol field = 1;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex field = 1;
      */
-    public Builder mergeField(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeField(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000001) == 0x00000001) &&
-          field_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          field_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         field_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(field_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(field_).mergeFrom(value).buildPartial();
       } else {
         field_ = value;
       }
@@ -663,32 +663,32 @@ public final class IrPropertyReference extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol field = 1;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex field = 1;
      */
     public Builder clearField() {
-      field_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      field_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
      */
     public boolean hasGetter() {
       return ((bitField0_ & 0x00000002) == 0x00000002);
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getGetter() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getGetter() {
       return getter_;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
      */
-    public Builder setGetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setGetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -698,23 +698,23 @@ public final class IrPropertyReference extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
      */
     public Builder setGetter(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       getter_ = builderForValue.build();
 
       bitField0_ |= 0x00000002;
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
      */
-    public Builder mergeGetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeGetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000002) == 0x00000002) &&
-          getter_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          getter_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         getter_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(getter_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(getter_).mergeFrom(value).buildPartial();
       } else {
         getter_ = value;
       }
@@ -723,32 +723,32 @@ public final class IrPropertyReference extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
      */
     public Builder clearGetter() {
-      getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      getter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000002);
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
      */
     public boolean hasSetter() {
       return ((bitField0_ & 0x00000004) == 0x00000004);
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSetter() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSetter() {
       return setter_;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
      */
-    public Builder setSetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setSetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -758,23 +758,23 @@ public final class IrPropertyReference extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
      */
     public Builder setSetter(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       setter_ = builderForValue.build();
 
       bitField0_ |= 0x00000004;
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
      */
-    public Builder mergeSetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeSetter(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000004) == 0x00000004) &&
-          setter_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          setter_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         setter_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(setter_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(setter_).mergeFrom(value).buildPartial();
       } else {
         setter_ = value;
       }
@@ -783,10 +783,10 @@ public final class IrPropertyReference extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
      */
     public Builder clearSetter() {
-      setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      setter_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000004);
       return this;
@@ -912,23 +912,23 @@ public final class IrPropertyReference extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 6;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 6;
      */
     public boolean hasSymbol() {
       return ((bitField0_ & 0x00000020) == 0x00000020);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 6;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 6;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
       return symbol_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 6;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 6;
      */
-    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -938,23 +938,23 @@ public final class IrPropertyReference extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 6;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 6;
      */
     public Builder setSymbol(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       symbol_ = builderForValue.build();
 
       bitField0_ |= 0x00000020;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 6;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 6;
      */
-    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000020) == 0x00000020) &&
-          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         symbol_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial();
       } else {
         symbol_ = value;
       }
@@ -963,10 +963,10 @@ public final class IrPropertyReference extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 6;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 6;
      */
     public Builder clearSymbol() {
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000020);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrPropertyReferenceOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrPropertyReferenceOrBuilder.java
index 82f26fd3255..ffc7f1d6954 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrPropertyReferenceOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrPropertyReferenceOrBuilder.java
@@ -8,31 +8,31 @@ public interface IrPropertyReferenceOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol field = 1;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex field = 1;
    */
   boolean hasField();
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol field = 1;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex field = 1;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getField();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getField();
 
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
    */
   boolean hasGetter();
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getter = 2;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getter = 2;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getGetter();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getGetter();
 
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
    */
   boolean hasSetter();
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol setter = 3;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex setter = 3;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSetter();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSetter();
 
   /**
    * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin origin = 4;
@@ -53,11 +53,11 @@ public interface IrPropertyReferenceOrBuilder extends
   org.jetbrains.kotlin.backend.common.serialization.proto.MemberAccessCommon getMemberAccess();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 6;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 6;
    */
   boolean hasSymbol();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 6;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 6;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol();
 }
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrReturn.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrReturn.java
index 0ff41404cd3..bdee5aeb8d4 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrReturn.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrReturn.java
@@ -54,11 +54,11 @@ public final class IrReturn extends
             break;
           }
           case 10: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000001) == 0x00000001)) {
               subBuilder = returnTarget_.toBuilder();
             }
-            returnTarget_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            returnTarget_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(returnTarget_);
               returnTarget_ = subBuilder.buildPartial();
@@ -114,17 +114,17 @@ public final class IrReturn extends
 
   private int bitField0_;
   public static final int RETURN_TARGET_FIELD_NUMBER = 1;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol returnTarget_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex returnTarget_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol return_target = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_target = 1;
    */
   public boolean hasReturnTarget() {
     return ((bitField0_ & 0x00000001) == 0x00000001);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol return_target = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_target = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getReturnTarget() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getReturnTarget() {
     return returnTarget_;
   }
 
@@ -144,7 +144,7 @@ public final class IrReturn extends
   }
 
   private void initFields() {
-    returnTarget_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    returnTarget_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     value_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
@@ -293,7 +293,7 @@ public final class IrReturn extends
 
     public Builder clear() {
       super.clear();
-      returnTarget_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      returnTarget_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
       value_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
@@ -384,23 +384,23 @@ public final class IrReturn extends
     }
     private int bitField0_;
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol returnTarget_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex returnTarget_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol return_target = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_target = 1;
      */
     public boolean hasReturnTarget() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol return_target = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_target = 1;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getReturnTarget() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getReturnTarget() {
       return returnTarget_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol return_target = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_target = 1;
      */
-    public Builder setReturnTarget(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setReturnTarget(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -410,23 +410,23 @@ public final class IrReturn extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol return_target = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_target = 1;
      */
     public Builder setReturnTarget(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       returnTarget_ = builderForValue.build();
 
       bitField0_ |= 0x00000001;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol return_target = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_target = 1;
      */
-    public Builder mergeReturnTarget(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeReturnTarget(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000001) == 0x00000001) &&
-          returnTarget_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          returnTarget_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         returnTarget_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(returnTarget_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(returnTarget_).mergeFrom(value).buildPartial();
       } else {
         returnTarget_ = value;
       }
@@ -435,10 +435,10 @@ public final class IrReturn extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol return_target = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_target = 1;
      */
     public Builder clearReturnTarget() {
-      returnTarget_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      returnTarget_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrReturnOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrReturnOrBuilder.java
index 19564d924ef..62117978f5b 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrReturnOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrReturnOrBuilder.java
@@ -8,13 +8,13 @@ public interface IrReturnOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol return_target = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_target = 1;
    */
   boolean hasReturnTarget();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol return_target = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex return_target = 1;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getReturnTarget();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getReturnTarget();
 
   /**
    * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression value = 2;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSetVariable.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSetVariable.java
index c712cc84b10..6b85b18837a 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSetVariable.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSetVariable.java
@@ -54,11 +54,11 @@ public final class IrSetVariable extends
             break;
           }
           case 10: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000001) == 0x00000001)) {
               subBuilder = symbol_.toBuilder();
             }
-            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            symbol_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(symbol_);
               symbol_ = subBuilder.buildPartial();
@@ -127,17 +127,17 @@ public final class IrSetVariable extends
 
   private int bitField0_;
   public static final int SYMBOL_FIELD_NUMBER = 1;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
   public boolean hasSymbol() {
     return ((bitField0_ & 0x00000001) == 0x00000001);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
     return symbol_;
   }
 
@@ -172,7 +172,7 @@ public final class IrSetVariable extends
   }
 
   private void initFields() {
-    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     value_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
     origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin.getDefaultInstance();
   }
@@ -335,7 +335,7 @@ public final class IrSetVariable extends
 
     public Builder clear() {
       super.clear();
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
       value_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
@@ -441,23 +441,23 @@ public final class IrSetVariable extends
     }
     private int bitField0_;
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public boolean hasSymbol() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol() {
       return symbol_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -467,23 +467,23 @@ public final class IrSetVariable extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public Builder setSymbol(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       symbol_ = builderForValue.build();
 
       bitField0_ |= 0x00000001;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
-    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeSymbol(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000001) == 0x00000001) &&
-          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          symbol_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         symbol_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(symbol_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(symbol_).mergeFrom(value).buildPartial();
       } else {
         symbol_ = value;
       }
@@ -492,10 +492,10 @@ public final class IrSetVariable extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
      */
     public Builder clearSymbol() {
-      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      symbol_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSetVariableOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSetVariableOrBuilder.java
index d9709ad49cf..4a83ea10441 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSetVariableOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSetVariableOrBuilder.java
@@ -8,13 +8,13 @@ public interface IrSetVariableOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
   boolean hasSymbol();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol symbol = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex symbol = 1;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getSymbol();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSymbol();
 
   /**
    * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression value = 2;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSimpleType.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSimpleType.java
index d8fd59f83db..45d7b65b2b1 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSimpleType.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSimpleType.java
@@ -67,11 +67,11 @@ public final class IrSimpleType extends
             break;
           }
           case 18: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000002) == 0x00000002)) {
               subBuilder = classifier_.toBuilder();
             }
-            classifier_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.PARSER, extensionRegistry);
+            classifier_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(classifier_);
               classifier_ = subBuilder.buildPartial();
@@ -158,17 +158,17 @@ public final class IrSimpleType extends
   }
 
   public static final int CLASSIFIER_FIELD_NUMBER = 2;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classifier_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classifier_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classifier = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classifier = 2;
    */
   public boolean hasClassifier() {
     return ((bitField0_ & 0x00000002) == 0x00000002);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classifier = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classifier = 2;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getClassifier() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getClassifier() {
     return classifier_;
   }
 
@@ -239,7 +239,7 @@ public final class IrSimpleType extends
 
   private void initFields() {
     annotations_ = org.jetbrains.kotlin.backend.common.serialization.proto.Annotations.getDefaultInstance();
-    classifier_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    classifier_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     hasQuestionMark_ = false;
     argument_ = java.util.Collections.emptyList();
     abbreviation_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeAbbreviation.getDefaultInstance();
@@ -429,7 +429,7 @@ public final class IrSimpleType extends
       super.clear();
       annotations_ = org.jetbrains.kotlin.backend.common.serialization.proto.Annotations.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
-      classifier_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      classifier_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
       hasQuestionMark_ = false;
       bitField0_ = (bitField0_ & ~0x00000004);
@@ -629,23 +629,23 @@ public final class IrSimpleType extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classifier_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classifier_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classifier = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classifier = 2;
      */
     public boolean hasClassifier() {
       return ((bitField0_ & 0x00000002) == 0x00000002);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classifier = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classifier = 2;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getClassifier() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getClassifier() {
       return classifier_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classifier = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classifier = 2;
      */
-    public Builder setClassifier(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder setClassifier(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -655,23 +655,23 @@ public final class IrSimpleType extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classifier = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classifier = 2;
      */
     public Builder setClassifier(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       classifier_ = builderForValue.build();
 
       bitField0_ |= 0x00000002;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classifier = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classifier = 2;
      */
-    public Builder mergeClassifier(org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol value) {
+    public Builder mergeClassifier(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000002) == 0x00000002) &&
-          classifier_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance()) {
+          classifier_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         classifier_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.newBuilder(classifier_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(classifier_).mergeFrom(value).buildPartial();
       } else {
         classifier_ = value;
       }
@@ -680,10 +680,10 @@ public final class IrSimpleType extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classifier = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classifier = 2;
      */
     public Builder clearClassifier() {
-      classifier_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol.getDefaultInstance();
+      classifier_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000002);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSimpleTypeOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSimpleTypeOrBuilder.java
index ebc2137eb45..39bc89d11ec 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSimpleTypeOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSimpleTypeOrBuilder.java
@@ -17,13 +17,13 @@ public interface IrSimpleTypeOrBuilder extends
   org.jetbrains.kotlin.backend.common.serialization.proto.Annotations getAnnotations();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classifier = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classifier = 2;
    */
   boolean hasClassifier();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol classifier = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex classifier = 2;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol getClassifier();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getClassifier();
 
   /**
    * required bool has_question_mark = 3;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrStatementOrigin.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrStatementOrigin.java
index ca2f297580d..f7995cedf35 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrStatementOrigin.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrStatementOrigin.java
@@ -54,11 +54,11 @@ public final class IrStatementOrigin extends
             break;
           }
           case 10: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000001) == 0x00000001)) {
               subBuilder = name_.toBuilder();
             }
-            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry);
+            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(name_);
               name_ = subBuilder.buildPartial();
@@ -101,22 +101,22 @@ public final class IrStatementOrigin extends
 
   private int bitField0_;
   public static final int NAME_FIELD_NUMBER = 1;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.String name_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
    */
   public boolean hasName() {
     return ((bitField0_ & 0x00000001) == 0x00000001);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
     return name_;
   }
 
   private void initFields() {
-    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
   public final boolean isInitialized() {
@@ -249,7 +249,7 @@ public final class IrStatementOrigin extends
 
     public Builder clear() {
       super.clear();
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
     }
@@ -323,23 +323,23 @@ public final class IrStatementOrigin extends
     }
     private int bitField0_;
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
      */
     public boolean hasName() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
       return name_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
      */
-    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -349,23 +349,23 @@ public final class IrStatementOrigin extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
      */
     public Builder setName(
-        org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       name_ = builderForValue.build();
 
       bitField0_ |= 0x00000001;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
      */
-    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000001) == 0x00000001) &&
-          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) {
+          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         name_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(name_).mergeFrom(value).buildPartial();
       } else {
         name_ = value;
       }
@@ -374,10 +374,10 @@ public final class IrStatementOrigin extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
      */
     public Builder clearName() {
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrStatementOriginOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrStatementOriginOrBuilder.java
index abb60427b11..ad3f27fe7cc 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrStatementOriginOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrStatementOriginOrBuilder.java
@@ -8,11 +8,11 @@ public interface IrStatementOriginOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
    */
   boolean hasName();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.String getName();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName();
 }
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSymbol.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSymbol.java
index fc201320140..0dec48642c6 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSymbol.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSymbol.java
@@ -348,4 +348,4 @@ public final class IrSymbol extends
   }
 
   // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbol)
-}
+}
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSymbolData.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSymbolData.java
index 5e17df0850e..5af3f9c8a15 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSymbolData.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSymbolData.java
@@ -92,11 +92,11 @@ public final class IrSymbolData extends
             break;
           }
           case 34: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.FqName.Builder subBuilder = null;
             if (((bitField0_ & 0x00000008) == 0x00000008)) {
               subBuilder = fqname_.toBuilder();
             }
-            fqname_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry);
+            fqname_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.FqName.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(fqname_);
               fqname_ = subBuilder.buildPartial();
@@ -197,17 +197,17 @@ public final class IrSymbolData extends
   }
 
   public static final int FQNAME_FIELD_NUMBER = 4;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.String fqname_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqname_;
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String fqname = 4;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqname = 4;
    */
   public boolean hasFqname() {
     return ((bitField0_ & 0x00000008) == 0x00000008);
   }
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String fqname = 4;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqname = 4;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.String getFqname() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.FqName getFqname() {
     return fqname_;
   }
 
@@ -230,7 +230,7 @@ public final class IrSymbolData extends
     kind_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrSymbolKind.FUNCTION_SYMBOL;
     uniqId_ = org.jetbrains.kotlin.backend.common.serialization.proto.UniqId.getDefaultInstance();
     topLevelUniqId_ = org.jetbrains.kotlin.backend.common.serialization.proto.UniqId.getDefaultInstance();
-    fqname_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    fqname_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance();
     descriptorReference_ = org.jetbrains.kotlin.backend.common.serialization.proto.DescriptorReference.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
@@ -422,7 +422,7 @@ public final class IrSymbolData extends
       bitField0_ = (bitField0_ & ~0x00000002);
       topLevelUniqId_ = org.jetbrains.kotlin.backend.common.serialization.proto.UniqId.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000004);
-      fqname_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      fqname_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000008);
       descriptorReference_ = org.jetbrains.kotlin.backend.common.serialization.proto.DescriptorReference.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000010);
@@ -705,23 +705,23 @@ public final class IrSymbolData extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.String fqname_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqname_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance();
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String fqname = 4;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqname = 4;
      */
     public boolean hasFqname() {
       return ((bitField0_ & 0x00000008) == 0x00000008);
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String fqname = 4;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqname = 4;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.String getFqname() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.FqName getFqname() {
       return fqname_;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String fqname = 4;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqname = 4;
      */
-    public Builder setFqname(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder setFqname(org.jetbrains.kotlin.backend.common.serialization.proto.FqName value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -731,23 +731,23 @@ public final class IrSymbolData extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String fqname = 4;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqname = 4;
      */
     public Builder setFqname(
-        org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.FqName.Builder builderForValue) {
       fqname_ = builderForValue.build();
 
       bitField0_ |= 0x00000008;
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String fqname = 4;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqname = 4;
      */
-    public Builder mergeFqname(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder mergeFqname(org.jetbrains.kotlin.backend.common.serialization.proto.FqName value) {
       if (((bitField0_ & 0x00000008) == 0x00000008) &&
-          fqname_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) {
+          fqname_ != org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance()) {
         fqname_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(fqname_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.FqName.newBuilder(fqname_).mergeFrom(value).buildPartial();
       } else {
         fqname_ = value;
       }
@@ -756,10 +756,10 @@ public final class IrSymbolData extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String fqname = 4;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqname = 4;
      */
     public Builder clearFqname() {
-      fqname_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      fqname_ = org.jetbrains.kotlin.backend.common.serialization.proto.FqName.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000008);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSymbolDataOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSymbolDataOrBuilder.java
index 85408b26290..58e66d14d04 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSymbolDataOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrSymbolDataOrBuilder.java
@@ -35,13 +35,13 @@ public interface IrSymbolDataOrBuilder extends
   org.jetbrains.kotlin.backend.common.serialization.proto.UniqId getTopLevelUniqId();
 
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String fqname = 4;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqname = 4;
    */
   boolean hasFqname();
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String fqname = 4;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.FqName fqname = 4;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.String getFqname();
+  org.jetbrains.kotlin.backend.common.serialization.proto.FqName getFqname();
 
   /**
    * optional .org.jetbrains.kotlin.backend.common.serialization.proto.DescriptorReference descriptor_reference = 5;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeIndex.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeIndex.java
index 6dd81b51e32..ab7baa2a088 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeIndex.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeIndex.java
@@ -348,4 +348,4 @@ public final class IrTypeIndex extends
   }
 
   // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex)
-}
+}
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeOp.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeOp.java
index ce39b20950d..ef882c294e1 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeOp.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeOp.java
@@ -66,11 +66,11 @@ public final class IrTypeOp extends
             break;
           }
           case 18: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000002) == 0x00000002)) {
               subBuilder = operand_.toBuilder();
             }
-            operand_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry);
+            operand_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(operand_);
               operand_ = subBuilder.buildPartial();
@@ -141,17 +141,17 @@ public final class IrTypeOp extends
   }
 
   public static final int OPERAND_FIELD_NUMBER = 2;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex operand_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex operand_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex operand = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex operand = 2;
    */
   public boolean hasOperand() {
     return ((bitField0_ & 0x00000002) == 0x00000002);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex operand = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex operand = 2;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getOperand() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getOperand() {
     return operand_;
   }
 
@@ -172,7 +172,7 @@ public final class IrTypeOp extends
 
   private void initFields() {
     operator_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeOperator.CAST;
-    operand_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    operand_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     argument_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
@@ -334,7 +334,7 @@ public final class IrTypeOp extends
       super.clear();
       operator_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeOperator.CAST;
       bitField0_ = (bitField0_ & ~0x00000001);
-      operand_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      operand_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
       argument_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000004);
@@ -471,23 +471,23 @@ public final class IrTypeOp extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex operand_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex operand_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex operand = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex operand = 2;
      */
     public boolean hasOperand() {
       return ((bitField0_ & 0x00000002) == 0x00000002);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex operand = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex operand = 2;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getOperand() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getOperand() {
       return operand_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex operand = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex operand = 2;
      */
-    public Builder setOperand(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder setOperand(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -497,23 +497,23 @@ public final class IrTypeOp extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex operand = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex operand = 2;
      */
     public Builder setOperand(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       operand_ = builderForValue.build();
 
       bitField0_ |= 0x00000002;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex operand = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex operand = 2;
      */
-    public Builder mergeOperand(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder mergeOperand(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000002) == 0x00000002) &&
-          operand_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance()) {
+          operand_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         operand_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.newBuilder(operand_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(operand_).mergeFrom(value).buildPartial();
       } else {
         operand_ = value;
       }
@@ -522,10 +522,10 @@ public final class IrTypeOp extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex operand = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex operand = 2;
      */
     public Builder clearOperand() {
-      operand_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      operand_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000002);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeOpOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeOpOrBuilder.java
index f08371c6160..3371c4078ba 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeOpOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeOpOrBuilder.java
@@ -17,13 +17,13 @@ public interface IrTypeOpOrBuilder extends
   org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeOperator getOperator();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex operand = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex operand = 2;
    */
   boolean hasOperand();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex operand = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex operand = 2;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getOperand();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getOperand();
 
   /**
    * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression argument = 3;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeParameter.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeParameter.java
index 3d176df10ac..dc1653aabb5 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeParameter.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeParameter.java
@@ -67,11 +67,11 @@ public final class IrTypeParameter extends
             break;
           }
           case 18: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000002) == 0x00000002)) {
               subBuilder = name_.toBuilder();
             }
-            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry);
+            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(name_);
               name_ = subBuilder.buildPartial();
@@ -98,10 +98,10 @@ public final class IrTypeParameter extends
           }
           case 42: {
             if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
-              superType_ = new java.util.ArrayList();
+              superType_ = new java.util.ArrayList();
               mutable_bitField0_ |= 0x00000010;
             }
-            superType_.add(input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry));
+            superType_.add(input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry));
             break;
           }
           case 48: {
@@ -162,17 +162,17 @@ public final class IrTypeParameter extends
   }
 
   public static final int NAME_FIELD_NUMBER = 2;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.String name_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
   public boolean hasName() {
     return ((bitField0_ & 0x00000002) == 0x00000002);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
     return name_;
   }
 
@@ -207,36 +207,36 @@ public final class IrTypeParameter extends
   }
 
   public static final int SUPER_TYPE_FIELD_NUMBER = 5;
-  private java.util.List superType_;
+  private java.util.List superType_;
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
    */
-  public java.util.List getSuperTypeList() {
+  public java.util.List getSuperTypeList() {
     return superType_;
   }
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
    */
-  public java.util.List 
+  public java.util.List 
       getSuperTypeOrBuilderList() {
     return superType_;
   }
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
    */
   public int getSuperTypeCount() {
     return superType_.size();
   }
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getSuperType(int index) {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSuperType(int index) {
     return superType_.get(index);
   }
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndexOrBuilder getSuperTypeOrBuilder(
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndexOrBuilder getSuperTypeOrBuilder(
       int index) {
     return superType_.get(index);
   }
@@ -258,7 +258,7 @@ public final class IrTypeParameter extends
 
   private void initFields() {
     base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance();
-    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     index_ = 0;
     variance_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeVariance.IN;
     superType_ = java.util.Collections.emptyList();
@@ -458,7 +458,7 @@ public final class IrTypeParameter extends
       super.clear();
       base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
       index_ = 0;
       bitField0_ = (bitField0_ & ~0x00000004);
@@ -669,23 +669,23 @@ public final class IrTypeParameter extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public boolean hasName() {
       return ((bitField0_ & 0x00000002) == 0x00000002);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
       return name_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -695,23 +695,23 @@ public final class IrTypeParameter extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public Builder setName(
-        org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       name_ = builderForValue.build();
 
       bitField0_ |= 0x00000002;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000002) == 0x00000002) &&
-          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) {
+          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         name_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(name_).mergeFrom(value).buildPartial();
       } else {
         name_ = value;
       }
@@ -720,10 +720,10 @@ public final class IrTypeParameter extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public Builder clearName() {
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000002);
       return this;
@@ -796,38 +796,38 @@ public final class IrTypeParameter extends
       return this;
     }
 
-    private java.util.List superType_ =
+    private java.util.List superType_ =
       java.util.Collections.emptyList();
     private void ensureSuperTypeIsMutable() {
       if (!((bitField0_ & 0x00000010) == 0x00000010)) {
-        superType_ = new java.util.ArrayList(superType_);
+        superType_ = new java.util.ArrayList(superType_);
         bitField0_ |= 0x00000010;
        }
     }
 
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
      */
-    public java.util.List getSuperTypeList() {
+    public java.util.List getSuperTypeList() {
       return java.util.Collections.unmodifiableList(superType_);
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
      */
     public int getSuperTypeCount() {
       return superType_.size();
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getSuperType(int index) {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSuperType(int index) {
       return superType_.get(index);
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
      */
     public Builder setSuperType(
-        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -837,19 +837,19 @@ public final class IrTypeParameter extends
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
      */
     public Builder setSuperType(
-        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       ensureSuperTypeIsMutable();
       superType_.set(index, builderForValue.build());
 
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
      */
-    public Builder addSuperType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder addSuperType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -859,10 +859,10 @@ public final class IrTypeParameter extends
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
      */
     public Builder addSuperType(
-        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -872,30 +872,30 @@ public final class IrTypeParameter extends
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
      */
     public Builder addSuperType(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       ensureSuperTypeIsMutable();
       superType_.add(builderForValue.build());
 
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
      */
     public Builder addSuperType(
-        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       ensureSuperTypeIsMutable();
       superType_.add(index, builderForValue.build());
 
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
      */
     public Builder addAllSuperType(
-        java.lang.Iterable values) {
+        java.lang.Iterable values) {
       ensureSuperTypeIsMutable();
       org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
           values, superType_);
@@ -903,7 +903,7 @@ public final class IrTypeParameter extends
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
      */
     public Builder clearSuperType() {
       superType_ = java.util.Collections.emptyList();
@@ -912,7 +912,7 @@ public final class IrTypeParameter extends
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
      */
     public Builder removeSuperType(int index) {
       ensureSuperTypeIsMutable();
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeParameterOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeParameterOrBuilder.java
index 415a18ffc30..e78a58ac33b 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeParameterOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeParameterOrBuilder.java
@@ -17,13 +17,13 @@ public interface IrTypeParameterOrBuilder extends
   org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase getBase();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
   boolean hasName();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.String getName();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName();
 
   /**
    * required int32 index = 3;
@@ -44,16 +44,16 @@ public interface IrTypeParameterOrBuilder extends
   org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeVariance getVariance();
 
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
    */
-  java.util.List 
+  java.util.List 
       getSuperTypeList();
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getSuperType(int index);
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getSuperType(int index);
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex super_type = 5;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex super_type = 5;
    */
   int getSuperTypeCount();
 
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeProjection.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeProjection.java
index 47633185864..3354311dba6 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeProjection.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeProjection.java
@@ -66,11 +66,11 @@ public final class IrTypeProjection extends
             break;
           }
           case 18: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000002) == 0x00000002)) {
               subBuilder = type_.toBuilder();
             }
-            type_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry);
+            type_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(type_);
               type_ = subBuilder.buildPartial();
@@ -128,23 +128,23 @@ public final class IrTypeProjection extends
   }
 
   public static final int TYPE_FIELD_NUMBER = 2;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2;
    */
   public boolean hasType() {
     return ((bitField0_ & 0x00000002) == 0x00000002);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType() {
     return type_;
   }
 
   private void initFields() {
     variance_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeVariance.IN;
-    type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
   public final boolean isInitialized() {
@@ -290,7 +290,7 @@ public final class IrTypeProjection extends
       super.clear();
       variance_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeVariance.IN;
       bitField0_ = (bitField0_ & ~0x00000001);
-      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
       return this;
     }
@@ -410,23 +410,23 @@ public final class IrTypeProjection extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2;
      */
     public boolean hasType() {
       return ((bitField0_ & 0x00000002) == 0x00000002);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType() {
       return type_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2;
      */
-    public Builder setType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder setType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -436,23 +436,23 @@ public final class IrTypeProjection extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2;
      */
     public Builder setType(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       type_ = builderForValue.build();
 
       bitField0_ |= 0x00000002;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2;
      */
-    public Builder mergeType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder mergeType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000002) == 0x00000002) &&
-          type_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance()) {
+          type_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         type_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.newBuilder(type_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(type_).mergeFrom(value).buildPartial();
       } else {
         type_ = value;
       }
@@ -461,10 +461,10 @@ public final class IrTypeProjection extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2;
      */
     public Builder clearType() {
-      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000002);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeProjectionOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeProjectionOrBuilder.java
index fbfea193ec8..d0a18fcf1dd 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeProjectionOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrTypeProjectionOrBuilder.java
@@ -17,11 +17,11 @@ public interface IrTypeProjectionOrBuilder extends
   org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeVariance getVariance();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2;
    */
   boolean hasType();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 2;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType();
 }
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrValueParameter.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrValueParameter.java
index 617f6f03abb..adfb244f062 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrValueParameter.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrValueParameter.java
@@ -67,11 +67,11 @@ public final class IrValueParameter extends
             break;
           }
           case 18: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000002) == 0x00000002)) {
               subBuilder = name_.toBuilder();
             }
-            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry);
+            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(name_);
               name_ = subBuilder.buildPartial();
@@ -85,11 +85,11 @@ public final class IrValueParameter extends
             break;
           }
           case 34: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000008) == 0x00000008)) {
               subBuilder = type_.toBuilder();
             }
-            type_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry);
+            type_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(type_);
               type_ = subBuilder.buildPartial();
@@ -98,11 +98,11 @@ public final class IrValueParameter extends
             break;
           }
           case 42: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000010) == 0x00000010)) {
               subBuilder = varargElementType_.toBuilder();
             }
-            varargElementType_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry);
+            varargElementType_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(varargElementType_);
               varargElementType_ = subBuilder.buildPartial();
@@ -121,11 +121,11 @@ public final class IrValueParameter extends
             break;
           }
           case 66: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000080) == 0x00000080)) {
               subBuilder = defaultValue_.toBuilder();
             }
-            defaultValue_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.PARSER, extensionRegistry);
+            defaultValue_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(defaultValue_);
               defaultValue_ = subBuilder.buildPartial();
@@ -183,17 +183,17 @@ public final class IrValueParameter extends
   }
 
   public static final int NAME_FIELD_NUMBER = 2;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.String name_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
   public boolean hasName() {
     return ((bitField0_ & 0x00000002) == 0x00000002);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
     return name_;
   }
 
@@ -213,32 +213,32 @@ public final class IrValueParameter extends
   }
 
   public static final int TYPE_FIELD_NUMBER = 4;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 4;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 4;
    */
   public boolean hasType() {
     return ((bitField0_ & 0x00000008) == 0x00000008);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 4;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 4;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType() {
     return type_;
   }
 
   public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 5;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex varargElementType_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex varargElementType_;
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex vararg_element_type = 5;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex vararg_element_type = 5;
    */
   public boolean hasVarargElementType() {
     return ((bitField0_ & 0x00000010) == 0x00000010);
   }
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex vararg_element_type = 5;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex vararg_element_type = 5;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getVarargElementType() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getVarargElementType() {
     return varargElementType_;
   }
 
@@ -273,29 +273,29 @@ public final class IrValueParameter extends
   }
 
   public static final int DEFAULT_VALUE_FIELD_NUMBER = 8;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression defaultValue_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex defaultValue_;
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression default_value = 8;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex default_value = 8;
    */
   public boolean hasDefaultValue() {
     return ((bitField0_ & 0x00000080) == 0x00000080);
   }
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression default_value = 8;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex default_value = 8;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression getDefaultValue() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getDefaultValue() {
     return defaultValue_;
   }
 
   private void initFields() {
     base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance();
-    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     index_ = 0;
-    type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
-    varargElementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
+    varargElementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     isCrossinline_ = false;
     isNoinline_ = false;
-    defaultValue_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
+    defaultValue_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
   public final boolean isInitialized() {
@@ -519,19 +519,19 @@ public final class IrValueParameter extends
       super.clear();
       base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
       index_ = 0;
       bitField0_ = (bitField0_ & ~0x00000004);
-      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000008);
-      varargElementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      varargElementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000010);
       isCrossinline_ = false;
       bitField0_ = (bitField0_ & ~0x00000020);
       isNoinline_ = false;
       bitField0_ = (bitField0_ & ~0x00000040);
-      defaultValue_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
+      defaultValue_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000080);
       return this;
     }
@@ -754,23 +754,23 @@ public final class IrValueParameter extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public boolean hasName() {
       return ((bitField0_ & 0x00000002) == 0x00000002);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
       return name_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -780,23 +780,23 @@ public final class IrValueParameter extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public Builder setName(
-        org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       name_ = builderForValue.build();
 
       bitField0_ |= 0x00000002;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000002) == 0x00000002) &&
-          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) {
+          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         name_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(name_).mergeFrom(value).buildPartial();
       } else {
         name_ = value;
       }
@@ -805,10 +805,10 @@ public final class IrValueParameter extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public Builder clearName() {
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000002);
       return this;
@@ -846,23 +846,23 @@ public final class IrValueParameter extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 4;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 4;
      */
     public boolean hasType() {
       return ((bitField0_ & 0x00000008) == 0x00000008);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 4;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 4;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType() {
       return type_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 4;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 4;
      */
-    public Builder setType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder setType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -872,23 +872,23 @@ public final class IrValueParameter extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 4;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 4;
      */
     public Builder setType(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       type_ = builderForValue.build();
 
       bitField0_ |= 0x00000008;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 4;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 4;
      */
-    public Builder mergeType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder mergeType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000008) == 0x00000008) &&
-          type_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance()) {
+          type_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         type_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.newBuilder(type_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(type_).mergeFrom(value).buildPartial();
       } else {
         type_ = value;
       }
@@ -897,32 +897,32 @@ public final class IrValueParameter extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 4;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 4;
      */
     public Builder clearType() {
-      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000008);
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex varargElementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex varargElementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex vararg_element_type = 5;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex vararg_element_type = 5;
      */
     public boolean hasVarargElementType() {
       return ((bitField0_ & 0x00000010) == 0x00000010);
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex vararg_element_type = 5;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex vararg_element_type = 5;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getVarargElementType() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getVarargElementType() {
       return varargElementType_;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex vararg_element_type = 5;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex vararg_element_type = 5;
      */
-    public Builder setVarargElementType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder setVarargElementType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -932,23 +932,23 @@ public final class IrValueParameter extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex vararg_element_type = 5;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex vararg_element_type = 5;
      */
     public Builder setVarargElementType(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       varargElementType_ = builderForValue.build();
 
       bitField0_ |= 0x00000010;
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex vararg_element_type = 5;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex vararg_element_type = 5;
      */
-    public Builder mergeVarargElementType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder mergeVarargElementType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000010) == 0x00000010) &&
-          varargElementType_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance()) {
+          varargElementType_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         varargElementType_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
       } else {
         varargElementType_ = value;
       }
@@ -957,10 +957,10 @@ public final class IrValueParameter extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex vararg_element_type = 5;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex vararg_element_type = 5;
      */
     public Builder clearVarargElementType() {
-      varargElementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      varargElementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000010);
       return this;
@@ -1030,23 +1030,23 @@ public final class IrValueParameter extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression defaultValue_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex defaultValue_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression default_value = 8;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex default_value = 8;
      */
     public boolean hasDefaultValue() {
       return ((bitField0_ & 0x00000080) == 0x00000080);
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression default_value = 8;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex default_value = 8;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression getDefaultValue() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getDefaultValue() {
       return defaultValue_;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression default_value = 8;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex default_value = 8;
      */
-    public Builder setDefaultValue(org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression value) {
+    public Builder setDefaultValue(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -1056,23 +1056,23 @@ public final class IrValueParameter extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression default_value = 8;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex default_value = 8;
      */
     public Builder setDefaultValue(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       defaultValue_ = builderForValue.build();
 
       bitField0_ |= 0x00000080;
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression default_value = 8;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex default_value = 8;
      */
-    public Builder mergeDefaultValue(org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression value) {
+    public Builder mergeDefaultValue(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000080) == 0x00000080) &&
-          defaultValue_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance()) {
+          defaultValue_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         defaultValue_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.newBuilder(defaultValue_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(defaultValue_).mergeFrom(value).buildPartial();
       } else {
         defaultValue_ = value;
       }
@@ -1081,10 +1081,10 @@ public final class IrValueParameter extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression default_value = 8;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex default_value = 8;
      */
     public Builder clearDefaultValue() {
-      defaultValue_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
+      defaultValue_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000080);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrValueParameterOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrValueParameterOrBuilder.java
index 13dd6770473..30daa7400b2 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrValueParameterOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrValueParameterOrBuilder.java
@@ -17,13 +17,13 @@ public interface IrValueParameterOrBuilder extends
   org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase getBase();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
   boolean hasName();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.String getName();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName();
 
   /**
    * required int32 index = 3;
@@ -35,22 +35,22 @@ public interface IrValueParameterOrBuilder extends
   int getIndex();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 4;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 4;
    */
   boolean hasType();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 4;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 4;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType();
 
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex vararg_element_type = 5;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex vararg_element_type = 5;
    */
   boolean hasVarargElementType();
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex vararg_element_type = 5;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex vararg_element_type = 5;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getVarargElementType();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getVarargElementType();
 
   /**
    * required bool is_crossinline = 6;
@@ -71,11 +71,11 @@ public interface IrValueParameterOrBuilder extends
   boolean getIsNoinline();
 
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression default_value = 8;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex default_value = 8;
    */
   boolean hasDefaultValue();
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression default_value = 8;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex default_value = 8;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression getDefaultValue();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getDefaultValue();
 }
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVararg.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVararg.java
index 297fef5b903..c0a6407acd5 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVararg.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVararg.java
@@ -54,11 +54,11 @@ public final class IrVararg extends
             break;
           }
           case 10: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000001) == 0x00000001)) {
               subBuilder = elementType_.toBuilder();
             }
-            elementType_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry);
+            elementType_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(elementType_);
               elementType_ = subBuilder.buildPartial();
@@ -112,17 +112,17 @@ public final class IrVararg extends
 
   private int bitField0_;
   public static final int ELEMENT_TYPE_FIELD_NUMBER = 1;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex elementType_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex elementType_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex element_type = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex element_type = 1;
    */
   public boolean hasElementType() {
     return ((bitField0_ & 0x00000001) == 0x00000001);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex element_type = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex element_type = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getElementType() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getElementType() {
     return elementType_;
   }
 
@@ -162,7 +162,7 @@ public final class IrVararg extends
   }
 
   private void initFields() {
-    elementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    elementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     element_ = java.util.Collections.emptyList();
   }
   private byte memoizedIsInitialized = -1;
@@ -309,7 +309,7 @@ public final class IrVararg extends
 
     public Builder clear() {
       super.clear();
-      elementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      elementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
       element_ = java.util.Collections.emptyList();
       bitField0_ = (bitField0_ & ~0x00000002);
@@ -406,23 +406,23 @@ public final class IrVararg extends
     }
     private int bitField0_;
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex elementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex elementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex element_type = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex element_type = 1;
      */
     public boolean hasElementType() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex element_type = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex element_type = 1;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getElementType() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getElementType() {
       return elementType_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex element_type = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex element_type = 1;
      */
-    public Builder setElementType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder setElementType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -432,23 +432,23 @@ public final class IrVararg extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex element_type = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex element_type = 1;
      */
     public Builder setElementType(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       elementType_ = builderForValue.build();
 
       bitField0_ |= 0x00000001;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex element_type = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex element_type = 1;
      */
-    public Builder mergeElementType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder mergeElementType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000001) == 0x00000001) &&
-          elementType_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance()) {
+          elementType_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         elementType_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.newBuilder(elementType_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(elementType_).mergeFrom(value).buildPartial();
       } else {
         elementType_ = value;
       }
@@ -457,10 +457,10 @@ public final class IrVararg extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex element_type = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex element_type = 1;
      */
     public Builder clearElementType() {
-      elementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      elementType_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVarargOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVarargOrBuilder.java
index 690b7b20d61..64371a7d398 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVarargOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVarargOrBuilder.java
@@ -8,13 +8,13 @@ public interface IrVarargOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex element_type = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex element_type = 1;
    */
   boolean hasElementType();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex element_type = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex element_type = 1;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getElementType();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getElementType();
 
   /**
    * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrVarargElement element = 2;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVariable.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVariable.java
index 6d0fcb403ba..79353d12140 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVariable.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVariable.java
@@ -67,11 +67,11 @@ public final class IrVariable extends
             break;
           }
           case 18: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000002) == 0x00000002)) {
               subBuilder = name_.toBuilder();
             }
-            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry);
+            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(name_);
               name_ = subBuilder.buildPartial();
@@ -80,11 +80,11 @@ public final class IrVariable extends
             break;
           }
           case 26: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000004) == 0x00000004)) {
               subBuilder = type_.toBuilder();
             }
-            type_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry);
+            type_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(type_);
               type_ = subBuilder.buildPartial();
@@ -170,32 +170,32 @@ public final class IrVariable extends
   }
 
   public static final int NAME_FIELD_NUMBER = 2;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.String name_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
   public boolean hasName() {
     return ((bitField0_ & 0x00000002) == 0x00000002);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
     return name_;
   }
 
   public static final int TYPE_FIELD_NUMBER = 3;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
    */
   public boolean hasType() {
     return ((bitField0_ & 0x00000004) == 0x00000004);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType() {
     return type_;
   }
 
@@ -261,8 +261,8 @@ public final class IrVariable extends
 
   private void initFields() {
     base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance();
-    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
-    type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
+    type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     isVar_ = false;
     isConst_ = false;
     isLateinit_ = false;
@@ -477,9 +477,9 @@ public final class IrVariable extends
       super.clear();
       base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
-      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000004);
       isVar_ = false;
       bitField0_ = (bitField0_ & ~0x00000008);
@@ -697,23 +697,23 @@ public final class IrVariable extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public boolean hasName() {
       return ((bitField0_ & 0x00000002) == 0x00000002);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
       return name_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -723,23 +723,23 @@ public final class IrVariable extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public Builder setName(
-        org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       name_ = builderForValue.build();
 
       bitField0_ |= 0x00000002;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
-    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000002) == 0x00000002) &&
-          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) {
+          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         name_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(name_).mergeFrom(value).buildPartial();
       } else {
         name_ = value;
       }
@@ -748,32 +748,32 @@ public final class IrVariable extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
      */
     public Builder clearName() {
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000002);
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
      */
     public boolean hasType() {
       return ((bitField0_ & 0x00000004) == 0x00000004);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType() {
       return type_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
      */
-    public Builder setType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder setType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -783,23 +783,23 @@ public final class IrVariable extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
      */
     public Builder setType(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       type_ = builderForValue.build();
 
       bitField0_ |= 0x00000004;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
      */
-    public Builder mergeType(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder mergeType(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000004) == 0x00000004) &&
-          type_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance()) {
+          type_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         type_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.newBuilder(type_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(type_).mergeFrom(value).buildPartial();
       } else {
         type_ = value;
       }
@@ -808,10 +808,10 @@ public final class IrVariable extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
      */
     public Builder clearType() {
-      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.getDefaultInstance();
+      type_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000004);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVariableOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVariableOrBuilder.java
index f53e6d2088b..813c9e2d00a 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVariableOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/IrVariableOrBuilder.java
@@ -17,22 +17,22 @@ public interface IrVariableOrBuilder extends
   org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase getBase();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
   boolean hasName();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 2;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 2;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.String getName();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName();
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
    */
   boolean hasType();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type = 3;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type = 3;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getType();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getType();
 
   /**
    * required bool is_var = 4;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/Loop.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/Loop.java
index 0805bca8c2c..7d26ada1bdf 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/Loop.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/Loop.java
@@ -72,11 +72,11 @@ public final class Loop extends
             break;
           }
           case 26: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000004) == 0x00000004)) {
               subBuilder = label_.toBuilder();
             }
-            label_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry);
+            label_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(label_);
               label_ = subBuilder.buildPartial();
@@ -175,17 +175,17 @@ public final class Loop extends
   }
 
   public static final int LABEL_FIELD_NUMBER = 3;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.String label_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label_;
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 3;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 3;
    */
   public boolean hasLabel() {
     return ((bitField0_ & 0x00000004) == 0x00000004);
   }
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 3;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 3;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.String getLabel() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getLabel() {
     return label_;
   }
 
@@ -222,7 +222,7 @@ public final class Loop extends
   private void initFields() {
     loopId_ = 0;
     condition_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
-    label_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    label_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
     origin_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrStatementOrigin.getDefaultInstance();
   }
@@ -411,7 +411,7 @@ public final class Loop extends
       bitField0_ = (bitField0_ & ~0x00000001);
       condition_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000002);
-      label_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      label_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000004);
       body_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000008);
@@ -631,23 +631,23 @@ public final class Loop extends
       return this;
     }
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.String label_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 3;
      */
     public boolean hasLabel() {
       return ((bitField0_ & 0x00000004) == 0x00000004);
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 3;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.String getLabel() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getLabel() {
       return label_;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 3;
      */
-    public Builder setLabel(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder setLabel(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -657,23 +657,23 @@ public final class Loop extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 3;
      */
     public Builder setLabel(
-        org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       label_ = builderForValue.build();
 
       bitField0_ |= 0x00000004;
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 3;
      */
-    public Builder mergeLabel(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder mergeLabel(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000004) == 0x00000004) &&
-          label_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) {
+          label_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         label_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(label_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(label_).mergeFrom(value).buildPartial();
       } else {
         label_ = value;
       }
@@ -682,10 +682,10 @@ public final class Loop extends
       return this;
     }
     /**
-     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 3;
+     * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 3;
      */
     public Builder clearLabel() {
-      label_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      label_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000004);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/LoopOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/LoopOrBuilder.java
index ba5224c0e9c..af8954b5829 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/LoopOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/LoopOrBuilder.java
@@ -26,13 +26,13 @@ public interface LoopOrBuilder extends
   org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression getCondition();
 
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 3;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 3;
    */
   boolean hasLabel();
   /**
-   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.String label = 3;
+   * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex label = 3;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.String getLabel();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getLabel();
 
   /**
    * optional .org.jetbrains.kotlin.backend.common.serialization.proto.IrExpression body = 4;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/String.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/String.java
index 9598eefcbbe..7f75e2ea04e 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/String.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/String.java
@@ -348,4 +348,4 @@ public final class String extends
   }
 
   // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.backend.common.serialization.proto.String)
-}
+}
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/TypeArguments.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/TypeArguments.java
index 1c9e3248c3e..2e905022e59 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/TypeArguments.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/TypeArguments.java
@@ -55,10 +55,10 @@ public final class TypeArguments extends
           }
           case 10: {
             if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
-              typeArgument_ = new java.util.ArrayList();
+              typeArgument_ = new java.util.ArrayList();
               mutable_bitField0_ |= 0x00000001;
             }
-            typeArgument_.add(input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.PARSER, extensionRegistry));
+            typeArgument_.add(input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry));
             break;
           }
         }
@@ -98,36 +98,36 @@ public final class TypeArguments extends
   }
 
   public static final int TYPE_ARGUMENT_FIELD_NUMBER = 1;
-  private java.util.List typeArgument_;
+  private java.util.List typeArgument_;
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
    */
-  public java.util.List getTypeArgumentList() {
+  public java.util.List getTypeArgumentList() {
     return typeArgument_;
   }
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
    */
-  public java.util.List 
+  public java.util.List 
       getTypeArgumentOrBuilderList() {
     return typeArgument_;
   }
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
    */
   public int getTypeArgumentCount() {
     return typeArgument_.size();
   }
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getTypeArgument(int index) {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getTypeArgument(int index) {
     return typeArgument_.get(index);
   }
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndexOrBuilder getTypeArgumentOrBuilder(
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndexOrBuilder getTypeArgumentOrBuilder(
       int index) {
     return typeArgument_.get(index);
   }
@@ -342,38 +342,38 @@ public final class TypeArguments extends
     }
     private int bitField0_;
 
-    private java.util.List typeArgument_ =
+    private java.util.List typeArgument_ =
       java.util.Collections.emptyList();
     private void ensureTypeArgumentIsMutable() {
       if (!((bitField0_ & 0x00000001) == 0x00000001)) {
-        typeArgument_ = new java.util.ArrayList(typeArgument_);
+        typeArgument_ = new java.util.ArrayList(typeArgument_);
         bitField0_ |= 0x00000001;
        }
     }
 
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
      */
-    public java.util.List getTypeArgumentList() {
+    public java.util.List getTypeArgumentList() {
       return java.util.Collections.unmodifiableList(typeArgument_);
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
      */
     public int getTypeArgumentCount() {
       return typeArgument_.size();
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getTypeArgument(int index) {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getTypeArgument(int index) {
       return typeArgument_.get(index);
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
      */
     public Builder setTypeArgument(
-        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -383,19 +383,19 @@ public final class TypeArguments extends
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
      */
     public Builder setTypeArgument(
-        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       ensureTypeArgumentIsMutable();
       typeArgument_.set(index, builderForValue.build());
 
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
      */
-    public Builder addTypeArgument(org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+    public Builder addTypeArgument(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -405,10 +405,10 @@ public final class TypeArguments extends
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
      */
     public Builder addTypeArgument(
-        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex value) {
+        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -418,30 +418,30 @@ public final class TypeArguments extends
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
      */
     public Builder addTypeArgument(
-        org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       ensureTypeArgumentIsMutable();
       typeArgument_.add(builderForValue.build());
 
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
      */
     public Builder addTypeArgument(
-        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex.Builder builderForValue) {
+        int index, org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       ensureTypeArgumentIsMutable();
       typeArgument_.add(index, builderForValue.build());
 
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
      */
     public Builder addAllTypeArgument(
-        java.lang.Iterable values) {
+        java.lang.Iterable values) {
       ensureTypeArgumentIsMutable();
       org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
           values, typeArgument_);
@@ -449,7 +449,7 @@ public final class TypeArguments extends
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
      */
     public Builder clearTypeArgument() {
       typeArgument_ = java.util.Collections.emptyList();
@@ -458,7 +458,7 @@ public final class TypeArguments extends
       return this;
     }
     /**
-     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+     * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
      */
     public Builder removeTypeArgument(int index) {
       ensureTypeArgumentIsMutable();
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/TypeArgumentsOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/TypeArgumentsOrBuilder.java
index 16cf73eae3e..93b5793ed08 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/TypeArgumentsOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/TypeArgumentsOrBuilder.java
@@ -8,16 +8,16 @@ public interface TypeArgumentsOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
    */
-  java.util.List 
+  java.util.List 
       getTypeArgumentList();
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex getTypeArgument(int index);
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getTypeArgument(int index);
   /**
-   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrTypeIndex type_argument = 1;
+   * repeated .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex type_argument = 1;
    */
   int getTypeArgumentCount();
 }
\ No newline at end of file
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/Visibility.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/Visibility.java
index a80b20b7dd2..35035524e63 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/Visibility.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/Visibility.java
@@ -54,11 +54,11 @@ public final class Visibility extends
             break;
           }
           case 10: {
-            org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder subBuilder = null;
+            org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder subBuilder = null;
             if (((bitField0_ & 0x00000001) == 0x00000001)) {
               subBuilder = name_.toBuilder();
             }
-            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.String.PARSER, extensionRegistry);
+            name_ = input.readMessage(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.PARSER, extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(name_);
               name_ = subBuilder.buildPartial();
@@ -101,22 +101,22 @@ public final class Visibility extends
 
   private int bitField0_;
   public static final int NAME_FIELD_NUMBER = 1;
-  private org.jetbrains.kotlin.backend.common.serialization.proto.String name_;
+  private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_;
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
    */
   public boolean hasName() {
     return ((bitField0_ & 0x00000001) == 0x00000001);
   }
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
    */
-  public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+  public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
     return name_;
   }
 
   private void initFields() {
-    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
   }
   private byte memoizedIsInitialized = -1;
   public final boolean isInitialized() {
@@ -249,7 +249,7 @@ public final class Visibility extends
 
     public Builder clear() {
       super.clear();
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
     }
@@ -323,23 +323,23 @@ public final class Visibility extends
     }
     private int bitField0_;
 
-    private org.jetbrains.kotlin.backend.common.serialization.proto.String name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+    private org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
      */
     public boolean hasName() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
      */
-    public org.jetbrains.kotlin.backend.common.serialization.proto.String getName() {
+    public org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName() {
       return name_;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
      */
-    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder setName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (value == null) {
         throw new NullPointerException();
       }
@@ -349,23 +349,23 @@ public final class Visibility extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
      */
     public Builder setName(
-        org.jetbrains.kotlin.backend.common.serialization.proto.String.Builder builderForValue) {
+        org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.Builder builderForValue) {
       name_ = builderForValue.build();
 
       bitField0_ |= 0x00000001;
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
      */
-    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.String value) {
+    public Builder mergeName(org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex value) {
       if (((bitField0_ & 0x00000001) == 0x00000001) &&
-          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance()) {
+          name_ != org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance()) {
         name_ =
-          org.jetbrains.kotlin.backend.common.serialization.proto.String.newBuilder(name_).mergeFrom(value).buildPartial();
+          org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.newBuilder(name_).mergeFrom(value).buildPartial();
       } else {
         name_ = value;
       }
@@ -374,10 +374,10 @@ public final class Visibility extends
       return this;
     }
     /**
-     * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+     * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
      */
     public Builder clearName() {
-      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.String.getDefaultInstance();
+      name_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex.getDefaultInstance();
 
       bitField0_ = (bitField0_ & ~0x00000001);
       return this;
diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/VisibilityOrBuilder.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/VisibilityOrBuilder.java
index d00f293e9e7..6a06ac8fd62 100644
--- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/VisibilityOrBuilder.java
+++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/proto/VisibilityOrBuilder.java
@@ -8,11 +8,11 @@ public interface VisibilityOrBuilder extends
     org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
 
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
    */
   boolean hasName();
   /**
-   * required .org.jetbrains.kotlin.backend.common.serialization.proto.String name = 1;
+   * required .org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex name = 1;
    */
-  org.jetbrains.kotlin.backend.common.serialization.proto.String getName();
+  org.jetbrains.kotlin.backend.common.serialization.proto.IrDataIndex getName();
 }
\ No newline at end of file
diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsIrLinker.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsIrLinker.kt
index 43f8b838655..a95c3afbdc4 100644
--- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsIrLinker.kt
+++ b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsIrLinker.kt
@@ -29,21 +29,26 @@ class JsIrLinker(
     override val descriptorReferenceDeserializer =
         JsDescriptorReferenceDeserializer(currentModule, mangler, builtIns)
 
-    override fun reader(moduleDescriptor: ModuleDescriptor, uniqId: UniqId): ByteArray {
-        return moduleDescriptor.kotlinLibrary.irDeclaration(uniqId.index, uniqId.isLocal)
-    }
+    override fun reader(moduleDescriptor: ModuleDescriptor, fileIndex: Int, uniqId: UniqId) =
+        moduleDescriptor.kotlinLibrary.irDeclaration(uniqId.index, uniqId.isLocal, fileIndex)
 
-    override val ModuleDescriptor.irHeader: ByteArray?
-        get() = this.kotlinLibrary.irHeader
+    override fun readSymbol(moduleDescriptor: ModuleDescriptor, fileIndex: Int, symbolIndex: Int) =
+        moduleDescriptor.kotlinLibrary.symbol(symbolIndex, fileIndex)
 
-    override fun readSymbol(moduleDescriptor: ModuleDescriptor, symbolIndex: Int) =
-        moduleDescriptor.kotlinLibrary.symbol(symbolIndex)
+    override fun readType(moduleDescriptor: ModuleDescriptor, fileIndex: Int, typeIndex: Int) =
+        moduleDescriptor.kotlinLibrary.type(typeIndex, fileIndex)
 
-    override fun readType(moduleDescriptor: ModuleDescriptor, typeIndex: Int) =
-        moduleDescriptor.kotlinLibrary.type(typeIndex)
+    override fun readString(moduleDescriptor: ModuleDescriptor, fileIndex: Int, stringIndex: Int) =
+        moduleDescriptor.kotlinLibrary.string(stringIndex, fileIndex)
 
-    override fun readString(moduleDescriptor: ModuleDescriptor, stringIndex: Int) =
-        moduleDescriptor.kotlinLibrary.string(stringIndex)
+    override fun readBody(moduleDescriptor: ModuleDescriptor, fileIndex: Int, bodyIndex: Int) =
+        moduleDescriptor.kotlinLibrary.body(bodyIndex, fileIndex)
+
+    override fun readFile(moduleDescriptor: ModuleDescriptor, fileIndex: Int) =
+        moduleDescriptor.kotlinLibrary.file(fileIndex)
+
+    override fun readFileCount(moduleDescriptor: ModuleDescriptor) =
+        moduleDescriptor.kotlinLibrary.fileCount()
 
     override fun List.handleClashes(uniqIdKey: UniqIdKey): IrFile {
         if (size == 1)
diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibrary.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibrary.kt
index 03c98fcbb0c..4d0940ab301 100644
--- a/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibrary.kt
+++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibrary.kt
@@ -37,6 +37,13 @@ interface IrLibrary {
     fun symbol(index: Int): ByteArray
     fun type(index: Int): ByteArray
     fun string(index: Int): ByteArray
+    fun irDeclaration(index: Long, isLocal: Boolean, fileIndex: Int): ByteArray
+    fun symbol(index: Int, fileIndex: Int): ByteArray
+    fun type(index: Int, fileIndex: Int): ByteArray
+    fun string(index: Int, fileIndex: Int): ByteArray
+    fun body(index: Int, fileIndex: Int): ByteArray
+    fun file(index: Int): ByteArray
+    fun fileCount(): Int
 }
 
 val BaseKotlinLibrary.uniqueName: String
diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibraryLayout.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibraryLayout.kt
index ff8225d145d..372f77b6d64 100644
--- a/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibraryLayout.kt
+++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibraryLayout.kt
@@ -53,13 +53,35 @@ interface IrKotlinLibraryLayout : KotlinLibraryLayout {
     val irHeader
         get() = File(irDir, "irHeaders.kni")
     val irDeclarations
-        get() = File(irTablesDir, "irCombined.knd")
+        get() = File(irDir, "irDeclarations.knd")
     val irSymbols
-        get() = File(irTablesDir, "symbols.knt")
+        get() = File(irDir, "symbols.knt")
     val irTypes
-        get() = File(irTablesDir, "types.knt")
+        get() = File(irDir, "types.knt")
     val irStrings
-        get() = File(irTablesDir, "strings.knt")
+        get() = File(irDir, "strings.knt")
+    val irBodies
+        get() = File(irDir, "bodies.knb")
+    val irFiles
+        get() = File(irDir, "files.knf")
     val dataFlowGraphFile
         get() = File(irDir, "module_data_flow_graph")
+
+    fun irDeclarations(file: File): File = File(file, "irCombined.knd")
+    fun irSymbols(file: File): File = File(file, "symbols.knt")
+    fun irTypes(file: File): File = File(file, "types.knt")
+    fun irStrings(file: File): File = File(file, "strings.knt")
+    fun irBodies(file: File): File = File(file, "body.knb")
+    fun irFile(file: File): File = File(file, "file.knf")
+
+    val irFilesX
+        get() = run {
+            val fileDirectories = mutableListOf()
+            irDir.postorder {
+                if (it.fileName.toString().endsWith(".file")) {
+                    fileDirectories.add(File(it))
+                }
+            }
+            fileDirectories
+        }
 }
diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibraryWriter.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibraryWriter.kt
index 83391d2f959..c24eb2e529a 100644
--- a/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibraryWriter.kt
+++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibraryWriter.kt
@@ -20,7 +20,7 @@ interface MetadataWriter {
 }
 
 interface IrWriter {
-    fun addIr(ir: SerializedIr)
+    fun addIr(ir: SerializedIrModule)
     fun addDataFlowGraph(dataFlowGraph: ByteArray)
 }
 
@@ -33,8 +33,37 @@ class SerializedMetadata(
     val fragmentNames: List
 )
 
+class SerializedIrSymbol(
+    val symbolData: ByteArray,
+    val id: Long,
+    val isLocal: Boolean
+)
+
+//class SerializedIrFile(
+//    val fileData: ByteArray,
+//    val symbols: List,
+//    val types: List,
+//    val strings: List
+//)
+
+class IrIrSerializedIrFile(
+    val fileData: ByteArray,
+//    val fileProto: ProtoFile,
+    val fqName: List,
+    val path: String,
+//    val symbols: List,
+    val symbols: List,
+    val types: List,
+    val strings: List,
+    val bodies: List,
+    val declarations: List
+)
+
+class SerializedIrModule(val files: Collection)
+
 class SerializedIr(
     val module: ByteArray,
+//    val symbols: List>,
     val symbols: List,
     val types: List,
     val strings: List,
diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/IrFileReaders.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/IrFileReaders.kt
index f3cd718bd58..a7aaa6a2257 100644
--- a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/IrFileReaders.kt
+++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/IrFileReaders.kt
@@ -6,12 +6,15 @@
 package org.jetbrains.kotlin.library.impl
 
 import org.jetbrains.kotlin.konan.file.File
+import java.nio.ByteBuffer
 import java.nio.channels.FileChannel
 
-class SimpleIrTableFileReader(file: File) {
+class IrArrayReader(file: File) {
     private val buffer = file.map(FileChannel.MapMode.READ_ONLY)
     private val indexToOffset: IntArray
 
+    fun entryCount() = indexToOffset.size - 1
+
     init {
         val count = buffer.int
         indexToOffset = IntArray(count + 1)
@@ -32,29 +35,141 @@ class SimpleIrTableFileReader(file: File) {
     }
 }
 
-
-data class DeclarationId(val id: Long, val isLocal: Boolean)
-
-class CombinedIrFileReader(file: File) {
+class IrMultiArrayReader(file: File) {
     private val buffer = file.map(FileChannel.MapMode.READ_ONLY)
-    private val declarationToOffsetSize = mutableMapOf>()
+    private val indexToOffset: IntArray
+    private val indexIndexToOffset = mutableMapOf()
+
+    private fun readOffsets(position: Int): IntArray {
+        buffer.position(position)
+        val count = buffer.int
+        val result = IntArray(count + 1)
+        result[0] = 4 * (count + 1)
+        for (i in 0 until count) {
+            val size = buffer.int
+            result[i + 1] = result[i] + size
+        }
+
+        return result
+    }
 
     init {
-        val declarationsCount = buffer.int
-        for (i in 0 until declarationsCount) {
-            val id = buffer.long
-            val isLocal = buffer.int != 0
+        indexToOffset = readOffsets(0)
+    }
+
+    fun tableItemBytes(id: Int): ByteArray {
+        val offset = indexToOffset[id]
+        val size = indexToOffset[id + 1] - offset
+        val result = ByteArray(size)
+        buffer.position(offset)
+        buffer.get(result, 0, size)
+        return result
+    }
+
+    fun tableItemBytes(row: Int, column: Int): ByteArray {
+        val rowOffset = indexToOffset[row]
+
+        val collumnOffsets = indexIndexToOffset.getOrPut(row) {
+            readOffsets(rowOffset)
+        }
+
+        val dataOffset = collumnOffsets[column]
+        val dataSize = collumnOffsets[column + 1] - dataOffset
+        val result = ByteArray(dataSize)
+
+        buffer.position(rowOffset + dataOffset)
+        buffer.get(result, 0, dataSize)
+
+        return result
+    }
+}
+
+abstract class IrMultiTableReader(file: File, private val keyReader: ByteBuffer.() -> K) {
+    private val buffer = file.map(FileChannel.MapMode.READ_ONLY)
+    private val indexToOffset: IntArray
+    private val indexToIndexMap = mutableMapOf>>()
+
+    private fun readOffsets(position: Int): IntArray {
+        buffer.position(position)
+        val count = buffer.int
+        val result = IntArray(count + 1)
+        result[0] = 4 * (count + 1)
+        for (i in 0 until count) {
+            val size = buffer.int
+            result[i + 1] = result[i] + size
+        }
+
+        return result
+    }
+
+    init {
+        indexToOffset = readOffsets(0)
+    }
+
+    private fun readIndexMap(position: Int): Map> {
+        buffer.position(position)
+        val result = mutableMapOf>()
+
+        val count = buffer.int
+
+        for (i in 0 until count) {
+            val key = keyReader(buffer)
             val offset = buffer.int
             val size = buffer.int
-            declarationToOffsetSize[DeclarationId(id, isLocal)] = offset to size
+
+            result[key] = offset to size
+        }
+
+        return result
+    }
+
+    fun tableItemBytes(row: Int, id: K): ByteArray {
+
+        val rowOffset = indexToOffset[row]
+
+        val indexToMap = indexToIndexMap.getOrPut(row) {
+            readIndexMap(rowOffset)
+        }
+
+        val coordinates = indexToMap[id] ?: error("No coordinates found for $id")
+        val offset = coordinates.first
+        val size = coordinates.second
+        val result = ByteArray(size)
+        buffer.position(rowOffset + offset)
+        buffer.get(result, 0, size)
+        return result
+    }
+}
+
+abstract class IrTableReader(file: File, keyReader: ByteBuffer.() -> K) {
+    private val buffer = file.map(FileChannel.MapMode.READ_ONLY)
+    private val indexToOffset = mutableMapOf>()
+
+    init {
+        val count = buffer.int
+        for (i in 0 until count) {
+            val key = keyReader(buffer)
+            val offset = buffer.int
+            val size = buffer.int
+
+            indexToOffset[key] = offset to size
         }
     }
 
-    fun declarationBytes(id: DeclarationId): ByteArray {
-        val offsetSize = declarationToOffsetSize[id] ?: throw Error("No declaration with $id here")
-        val result = ByteArray(offsetSize.second)
-        buffer.position(offsetSize.first)
-        buffer.get(result, 0, offsetSize.second)
+    fun tableItemBytes(id: K): ByteArray {
+        val coordinates = indexToOffset[id] ?: error("No coordinates found for $id")
+        val offset = coordinates.first
+        val size = coordinates.second
+        val result = ByteArray(size)
+        buffer.position(offset)
+        buffer.get(result, 0, size)
         return result
     }
-}
\ No newline at end of file
+}
+
+class IndexIrTableReader(file: File) : IrTableReader(file, { long })
+
+data class DeclarationId(val id: Long, val isLocal: Boolean)
+
+class DeclarationIrTableReader(file: File) : IrTableReader(file, { DeclarationId(long, int != 0) })
+class DeclarationIrMultiTableReader(file: File) : IrMultiTableReader(file, { DeclarationId(long, int != 0) })
\ No newline at end of file
diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/IrFileWriters.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/IrFileWriters.kt
index 0126212d83d..5490d5c864a 100644
--- a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/IrFileWriters.kt
+++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/IrFileWriters.kt
@@ -5,6 +5,7 @@
 
 package org.jetbrains.kotlin.library.impl
 
+import java.io.ByteArrayOutputStream
 import java.io.DataOutput
 import java.io.DataOutputStream
 import java.io.FileOutputStream
@@ -24,7 +25,25 @@ abstract class IrFileWriter {
     }
 }
 
-class IrTableWriter(private val data: List) : IrFileWriter() {
+abstract class IrMemoryWriter {
+
+    protected abstract fun writeData(dataOutput: DataOutput)
+
+    fun writeIntoMemory(): ByteArray {
+        val memoryStream = ByteArrayOutputStream()
+        val dataOutputStream = DataOutputStream(memoryStream)
+
+        writeData(dataOutputStream)
+
+        dataOutputStream.close()
+        memoryStream.close()
+
+        return memoryStream.toByteArray()
+    }
+}
+
+
+class IrArrayWriter(private val data: List) : IrFileWriter() {
     override fun writeData(dataOutput: DataOutput) {
         dataOutput.writeInt(data.size)
 
@@ -33,16 +52,52 @@ class IrTableWriter(private val data: List) : IrFileWriter() {
     }
 }
 
+class IrMemoryArrayWriter(private val data: List) : IrMemoryWriter() {
+    override fun writeData(dataOutput: DataOutput) {
+        dataOutput.writeInt(data.size)
+
+        data.forEach { dataOutput.writeInt(it.size) }
+        data.forEach { dataOutput.write(it) }
+    }
+}
+
+
+class IrByteArrayWriter(private val data: List) : IrFileWriter() {
+    override fun writeData(dataOutput: DataOutput) {
+        dataOutput.writeInt(data.size)
+
+        data.forEach { dataOutput.writeInt(it.size) }
+        data.forEach { dataOutput.write(it) }
+    }
+}
+
+class IrTableWriter(private val data: List>) : IrFileWriter() {
+    override fun writeData(dataOutput: DataOutput) {
+        dataOutput.writeInt(data.size)
+
+        var dataOffset = 4 + data.size * (8 + 4 + 4)
+
+        data.forEach {
+            dataOutput.writeLong(it.first)
+            dataOutput.writeInt(dataOffset)
+            dataOutput.writeInt(it.second.size)
+            dataOffset += it.second.size
+        }
+
+        data.forEach { dataOutput.write(it.second) }
+    }
+}
+
 sealed class SerializedDeclaration {
     abstract val id: Long
     abstract val local: Int
     abstract val size: Int
     abstract val bytes: ByteArray
 
-    var offset: Int = -1
+    abstract val declarationName: String
 }
 
-class TopLevelDeclaration(override val id: Long, isLocal: Boolean, override val bytes: ByteArray) : SerializedDeclaration() {
+class TopLevelDeclaration(override val id: Long, isLocal: Boolean, override val declarationName: String, override val bytes: ByteArray) : SerializedDeclaration() {
     override val local = if (isLocal) 1 else 0
     override val size = bytes.size
 }
@@ -52,6 +107,9 @@ object SkippedDeclaration : SerializedDeclaration() {
     override val local = -1
     override val size = 0
     override val bytes = ByteArray(0)
+    override val declarationName: String = ""
+
+
 }
 
 class IrDeclarationWriter(private val declarations: List) : IrFileWriter() {
@@ -65,15 +123,36 @@ class IrDeclarationWriter(private val declarations: List)
         var dataOffset = INDEX_HEADER_SIZE + SINGLE_INDEX_RECORD_SIZE * declarations.size
 
         for (d in declarations) {
-            d.offset = dataOffset
+            dataOutput.writeLong(d.id)
+            dataOutput.writeInt(d.local)
+            dataOutput.writeInt(dataOffset)
+            dataOutput.writeInt(d.size)
             dataOffset += d.size
         }
 
+        for (d in declarations) {
+            dataOutput.write(d.bytes)
+        }
+    }
+
+}
+
+class IrMemoryDeclarationWriter(private val declarations: List) : IrMemoryWriter() {
+
+    private val SINGLE_INDEX_RECORD_SIZE = 20  // sizeof(Long) + 3 * sizeof(Int).
+    private val INDEX_HEADER_SIZE = 4  // sizeof(Int).
+
+    override fun writeData(dataOutput: DataOutput) {
+        dataOutput.writeInt(declarations.size)
+
+        var dataOffset = INDEX_HEADER_SIZE + SINGLE_INDEX_RECORD_SIZE * declarations.size
+
         for (d in declarations) {
             dataOutput.writeLong(d.id)
             dataOutput.writeInt(d.local)
-            dataOutput.writeInt(d.offset)
+            dataOutput.writeInt(dataOffset)
             dataOutput.writeInt(d.size)
+            dataOffset += d.size
         }
 
         for (d in declarations) {
diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/IrWriterImpl.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/IrWriterImpl.kt
index 3cd3fe759c2..22456589fb9 100644
--- a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/IrWriterImpl.kt
+++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/IrWriterImpl.kt
@@ -13,13 +13,50 @@ class IrWriterImpl(val irLayout: IrKotlinLibraryLayout) : IrWriter {
         irLayout.irTablesDir.mkdirs()
     }
 
-    override fun addIr(ir: SerializedIr) {
-        irLayout.irHeader.writeBytes(ir.module)
+    private fun serializeFile(file: IrIrSerializedIrFile) {
+        val fqnPath = file.fqName.joinToString(separator = "/")
+        val fileId = file.path.hashCode().toString(Character.MAX_RADIX)
 
-        IrDeclarationWriter(ir.serializedDeclarations).writeIntoFile(irLayout.irDeclarations.absolutePath)
-        IrTableWriter(ir.symbols).writeIntoFile(irLayout.irSymbols.absolutePath)
-        IrTableWriter(ir.types).writeIntoFile(irLayout.irTypes.absolutePath)
-        IrTableWriter(ir.strings).writeIntoFile(irLayout.irStrings.absolutePath)
+        val fileDirectoryName = "${fileId}.file"
+
+        val packageDir = irLayout.irDir.child(fqnPath)
+        if (!packageDir.exists) {
+            packageDir.mkdirs()
+        }
+
+        val fileDir = packageDir.child(fileDirectoryName)
+        assert(!fileDir.exists)
+        fileDir.mkdirs()
+
+
+        irLayout.irFile(fileDir).writeBytes(file.fileData)
+        IrDeclarationWriter(file.declarations).writeIntoFile(irLayout.irDeclarations(fileDir).absolutePath)
+        IrArrayWriter(file.symbols).writeIntoFile(irLayout.irSymbols(fileDir).absolutePath)
+        IrArrayWriter(file.types).writeIntoFile(irLayout.irTypes(fileDir).absolutePath)
+        IrArrayWriter(file.strings).writeIntoFile(irLayout.irStrings(fileDir).absolutePath)
+        IrArrayWriter(file.bodies).writeIntoFile(irLayout.irBodies(fileDir).absolutePath)
+        fileDir.child("declarations.txt").writeText(file.declarations.joinToString(separator = "\n") { "${it.declarationName} -> (${it.id}, ${it.local})" })
+    }
+
+    override fun addIr(ir: SerializedIrModule) {
+//        ir.files.forEach {
+//            serializeFile(it)
+//        }
+
+        with(ir.files.sortedBy { it.path }) {
+            IrArrayWriter(map { it.fileData }).writeIntoFile(irLayout.irFiles.absolutePath)
+            IrArrayWriter(map { IrMemoryDeclarationWriter(it.declarations).writeIntoMemory() }).writeIntoFile(irLayout.irDeclarations.absolutePath)
+            IrArrayWriter(map { IrMemoryArrayWriter(it.symbols).writeIntoMemory() }).writeIntoFile(irLayout.irSymbols.absolutePath)
+            IrArrayWriter(map { IrMemoryArrayWriter(it.types).writeIntoMemory() }).writeIntoFile(irLayout.irTypes.absolutePath)
+            IrArrayWriter(map { IrMemoryArrayWriter(it.strings).writeIntoMemory() }).writeIntoFile(irLayout.irStrings.absolutePath)
+            IrArrayWriter(map { IrMemoryArrayWriter(it.bodies).writeIntoMemory() }).writeIntoFile(irLayout.irBodies.absolutePath)
+        }
+
+
+//        IrDeclarationWriter(ir.serializedDeclarations).writeIntoFile(irLayout.irDeclarations.absolutePath)
+//        IrArrayWriter(ir.symbols).writeIntoFile(irLayout.irSymbols.absolutePath)
+//        IrArrayWriter(ir.types).writeIntoFile(irLayout.irTypes.absolutePath)
+//        IrArrayWriter(ir.strings).writeIntoFile(irLayout.irStrings.absolutePath)
     }
 
     override fun addDataFlowGraph(dataFlowGraph: ByteArray) {
diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryImpl.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryImpl.kt
index 2a81be7935f..fd373faef7b 100644
--- a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryImpl.kt
+++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryImpl.kt
@@ -83,7 +83,7 @@ open class IrLibraryImpl(
         }
     }
 
-    override fun irDeclaration(index: Long, isLocal: Boolean) = loadIrDeclaraton(index, isLocal)
+    override fun irDeclaration(index: Long, isLocal: Boolean) = error("Should not call this") //loadIrDeclaraton(index, isLocal)
 
     override fun symbol(index: Int) = symbols.tableItemBytes(index)
 
@@ -91,37 +91,119 @@ open class IrLibraryImpl(
 
     override fun string(index: Int) = strings.tableItemBytes(index)
 
-    private val combinedDeclarations: CombinedIrFileReader by lazy {
-        CombinedIrFileReader(access.realFiles {
+    override fun file(index: Int): ByteArray = files.tableItemBytes(index)
+
+    override fun fileCount(): Int = files.entryCount()
+
+    override fun irDeclaration(index: Long, isLocal: Boolean, fileIndex: Int) = loadIrDeclaraton(index, isLocal, fileIndex)
+
+    override fun symbol(index: Int, fileIndex: Int) = symbols.tableItemBytes(fileIndex, index)
+
+    override fun type(index: Int, fileIndex: Int) = types.tableItemBytes(fileIndex, index)
+
+    override fun string(index: Int, fileIndex: Int) = strings.tableItemBytes(fileIndex, index)
+
+    override fun body(index: Int, fileIndex: Int) = bodies.tableItemBytes(fileIndex, index)
+
+    private val combinedDeclarations: DeclarationIrMultiTableReader by lazy {
+        DeclarationIrMultiTableReader(access.realFiles {
             it.irDeclarations
         })
     }
 
-    private val symbols: SimpleIrTableFileReader by lazy {
-        SimpleIrTableFileReader(access.realFiles {
+    private val symbols: IrMultiArrayReader by lazy {
+        IrMultiArrayReader(access.realFiles {
             it.irSymbols
         })
     }
 
-    private val types: SimpleIrTableFileReader by lazy {
-        SimpleIrTableFileReader(access.realFiles {
+    private val types: IrMultiArrayReader by lazy {
+        IrMultiArrayReader(access.realFiles {
             it.irTypes
         })
     }
 
-    private val strings: SimpleIrTableFileReader by lazy {
-        SimpleIrTableFileReader(access.realFiles {
+    private val strings: IrMultiArrayReader by lazy {
+        IrMultiArrayReader(access.realFiles {
             it.irStrings
         })
     }
 
+    private val bodies: IrMultiArrayReader by lazy {
+        IrMultiArrayReader(access.realFiles {
+            it.irBodies
+        })
+    }
+
+    private val files: IrArrayReader by lazy {
+        IrArrayReader(access.realFiles {
+            it.irFiles
+        })
+    }
+
+
+    private fun getFileDirectory(fileName: String): File {
+        val directoryName = "${fileName.hashCode().toString(Character.MAX_RADIX)}.file"
+        return access.realFiles {
+            it.irFilesX.first { it.name == directoryName }
+        }
+    }
+
+    private val fileToDeclarationMap = mutableMapOf()
+    private fun combinedDeclarations(fileName: String): DeclarationIrTableReader {
+        return fileToDeclarationMap.getOrPut(fileName) {
+            DeclarationIrTableReader(access.realFiles {
+                it.irDeclarations(getFileDirectory(fileName))
+            })
+        }
+    }
+
+    private val fileToSymbolMap = mutableMapOf()
+    private fun symbols(fileName: String): IrArrayReader {
+        return fileToSymbolMap.getOrPut(fileName) {
+            IrArrayReader(access.realFiles {
+                it.irSymbols(getFileDirectory(fileName))
+            })
+        }
+    }
+
+    private val fileToTypeMap = mutableMapOf()
+    private fun types(fileName: String): IrArrayReader {
+        return fileToTypeMap.getOrPut(fileName) {
+            IrArrayReader(access.realFiles {
+                it.irTypes(getFileDirectory(fileName))
+            })
+        }
+    }
+
+//    private val fileToStringMap = mutableMapOf()
+//    private fun strings(fileIndex: Int): IrArrayReader {
+//        return fileToStringMap.getOrPut(fileName) {
+//            IrArrayReader(access.realFiles {
+//                it.irStrings(getFileDirectory(fileName))
+//            })
+//        }
+//    }
+
+    private val fileToBodyMap = mutableMapOf()
+    private fun bodies(fileName: String): IrArrayReader {
+        return fileToBodyMap.getOrPut(fileName) {
+            IrArrayReader(access.realFiles {
+                it.irBodies(getFileDirectory(fileName))
+            })
+        }
+    }
+
     private fun loadIrHeader(): ByteArray =
         access.inPlace {
             it.irHeader.readBytes()
         }
 
-    private fun loadIrDeclaraton(index: Long, isLocal: Boolean) =
-        combinedDeclarations.declarationBytes(DeclarationId(index, isLocal))
+//    private fun loadIrDeclaraton(index: Long, isLocal: Boolean) =
+//        combinedDeclarations.tableItemBytes(DeclarationId(index, isLocal))
+
+    private fun loadIrDeclaraton(index: Long, isLocal: Boolean, fileIndex: Int) =
+        combinedDeclarations.tableItemBytes(fileIndex, DeclarationId(index, isLocal))
 
     override val dataFlowGraph by lazy {
         access.inPlace { it: IrKotlinLibraryLayout ->
diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryWriterImpl.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryWriterImpl.kt
index 2c5453559d6..5e796c74add 100644
--- a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryWriterImpl.kt
+++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryWriterImpl.kt
@@ -88,7 +88,7 @@ class KoltinLibraryWriterImpl(
 fun buildKoltinLibrary(
     linkDependencies: List,
     metadata: SerializedMetadata,
-    ir: SerializedIr,
+    ir: SerializedIrModule,
     versions: KonanLibraryVersioning,
     output: String,
     moduleName: String,