From 6d2ad63db3043f422af79632007faa90cae764e7 Mon Sep 17 00:00:00 2001 From: Roman Artemev Date: Tue, 11 Jun 2019 15:47:51 +0300 Subject: [PATCH] [IR] Support IrLocalDelegatedPropertyReference in klib --- .../common/descriptors/WrappedDescriptors.kt | 29 +++ .../serialization.common/src/KotlinIr.proto | 1 + .../common/serialization/DeclarationTable.kt | 3 +- .../serialization/IrModuleSerializer.kt | 2 + .../common/serialization/KotlinIr.java | 185 +++++++++--------- .../common/serialization/KotlinIrLinker.kt | 7 +- 6 files changed, 134 insertions(+), 93 deletions(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/descriptors/WrappedDescriptors.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/descriptors/WrappedDescriptors.kt index 325551fbab5..3bc993ccfea 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/descriptors/WrappedDescriptors.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/descriptors/WrappedDescriptors.kt @@ -341,6 +341,35 @@ open class WrappedVariableDescriptor( } } +open class WrappedVariableDescriptorWithAccessor() : VariableDescriptorWithAccessors, WrappedCallableDescriptor(Annotations.EMPTY, SourceElement.NO_SOURCE) { + override fun getName(): Name = owner.name + + override fun substitute(substitutor: TypeSubstitutor): VariableDescriptor { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } + + override fun isVar() = owner.isVar + + override fun getCompileTimeInitializer(): ConstantValue<*>? { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } + + override fun getType(): KotlinType = owner.type.toKotlinType() + + override fun isConst(): Boolean = false + + override fun getContainingDeclaration() = (owner.parent as IrFunction).descriptor + + override fun isLateInit(): Boolean = false + + override val getter: VariableAccessorDescriptor? + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + override val setter: VariableAccessorDescriptor? + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + override val isDelegated: Boolean = true + +} + open class WrappedSimpleFunctionDescriptor( annotations: Annotations = Annotations.EMPTY, sourceElement: SourceElement = SourceElement.NO_SOURCE diff --git a/compiler/ir/serialization.common/src/KotlinIr.proto b/compiler/ir/serialization.common/src/KotlinIr.proto index 9f0bc50a5d6..dad764c507a 100644 --- a/compiler/ir/serialization.common/src/KotlinIr.proto +++ b/compiler/ir/serialization.common/src/KotlinIr.proto @@ -125,6 +125,7 @@ enum IrSymbolKind { STANDALONE_FIELD_SYMBOL = 11; // For fields without properties. WrappedFieldDescriptor, rather than WrappedPropertyDescriptor. RECEIVER_PARAMETER_SYMBOL = 12; // ReceiverParameterDescriptor rather than ValueParameterDescriptor. PROPERTY_SYMBOL = 13; + LOCAL_DELEGATED_PROPERTY_SYMBOL = 14; } message IrSymbolData { 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 8ce65522301..45f4277f55b 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 @@ -43,7 +43,8 @@ abstract class DeclarationTable(val builtIns: IrBuiltIns, val descriptorTable: D !value.isExported() || value is IrVariable || value is IrValueParameter - || value is IrAnonymousInitializerImpl + || value is IrAnonymousInitializer + || value is IrLocalDelegatedProperty ) { UniqId(currentIndex++, true) } else { 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 22ca920f35c..babc8e304d0 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 @@ -124,6 +124,8 @@ open class IrModuleSerializer( KotlinIr.IrSymbolKind.FIELD_SYMBOL is IrPropertySymbol -> KotlinIr.IrSymbolKind.PROPERTY_SYMBOL + is IrLocalDelegatedPropertySymbol -> + KotlinIr.IrSymbolKind.LOCAL_DELEGATED_PROPERTY_SYMBOL else -> TODO("Unexpected symbol kind: $symbol") } diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIr.java b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIr.java index 6b154cabd09..907e08d5e34 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIr.java +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIr.java @@ -363,6 +363,10 @@ public final class KotlinIr { * PROPERTY_SYMBOL = 13; */ PROPERTY_SYMBOL(12, 13), + /** + * LOCAL_DELEGATED_PROPERTY_SYMBOL = 14; + */ + LOCAL_DELEGATED_PROPERTY_SYMBOL(13, 14), ; /** @@ -425,6 +429,10 @@ public final class KotlinIr { * PROPERTY_SYMBOL = 13; */ public static final int PROPERTY_SYMBOL_VALUE = 13; + /** + * LOCAL_DELEGATED_PROPERTY_SYMBOL = 14; + */ + public static final int LOCAL_DELEGATED_PROPERTY_SYMBOL_VALUE = 14; public final int getNumber() { return value; } @@ -444,6 +452,7 @@ public final class KotlinIr { case 11: return STANDALONE_FIELD_SYMBOL; case 12: return RECEIVER_PARAMETER_SYMBOL; case 13: return PROPERTY_SYMBOL; + case 14: return LOCAL_DELEGATED_PROPERTY_SYMBOL; default: return null; } } @@ -1029,7 +1038,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -2353,7 +2362,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -2799,7 +2808,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -3236,7 +3245,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -3640,7 +3649,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -4053,7 +4062,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -4596,7 +4605,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -5097,7 +5106,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -5689,7 +5698,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -6783,7 +6792,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -7497,7 +7506,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -7867,7 +7876,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -8347,7 +8356,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -9193,7 +9202,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -9558,7 +9567,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -10051,7 +10060,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -10544,7 +10553,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -11032,7 +11041,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -11393,7 +11402,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -11893,7 +11902,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -12489,7 +12498,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -13299,7 +13308,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -13703,7 +13712,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -14125,7 +14134,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -14828,7 +14837,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -15316,7 +15325,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -15685,7 +15694,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -16176,7 +16185,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -16816,7 +16825,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -17698,7 +17707,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -18627,7 +18636,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -19247,7 +19256,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -19925,7 +19934,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -20846,7 +20855,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -21853,7 +21862,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -22470,7 +22479,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -23076,7 +23085,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -24223,7 +24232,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -24709,7 +24718,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -25234,7 +25243,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -25647,7 +25656,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -26172,7 +26181,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -26576,7 +26585,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -26998,7 +27007,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -27645,7 +27654,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -28175,7 +28184,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -28696,7 +28705,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -29100,7 +29109,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -29540,7 +29549,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -30381,7 +30390,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -30924,7 +30933,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -31584,7 +31593,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -32235,7 +32244,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -32765,7 +32774,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -33253,7 +33262,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -33680,7 +33689,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -34427,7 +34436,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -35053,7 +35062,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -35674,7 +35683,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -36264,7 +36273,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -36872,7 +36881,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -37285,7 +37294,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -37833,7 +37842,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -39124,7 +39133,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -43383,7 +43392,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -44029,7 +44038,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -44423,7 +44432,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -44767,7 +44776,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -45895,7 +45904,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -47393,7 +47402,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -48058,7 +48067,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -49227,7 +49236,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -50404,7 +50413,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -51927,7 +51936,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -52984,7 +52993,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -54145,7 +54154,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -55124,7 +55133,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -55742,7 +55751,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -57565,7 +57574,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -58333,7 +58342,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -58962,7 +58971,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -60778,7 +60787,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -61554,7 +61563,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -62084,7 +62093,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -62581,7 +62590,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -63106,7 +63115,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -63534,7 +63543,7 @@ public final class KotlinIr { org.jetbrains.kotlin.protobuf.ByteString.newOutput(); org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); + unknownFieldsOutput, 1); try { boolean done = false; while (!done) { @@ -64681,4 +64690,4 @@ public final class KotlinIr { } // @@protoc_insertion_point(outer_class_scope) -} +} \ 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 7ef8477dcd5..a5f0d9ca872 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 @@ -22,10 +22,7 @@ import org.jetbrains.kotlin.ir.expressions.impl.IrLoopBase import org.jetbrains.kotlin.ir.symbols.IrClassSymbol import org.jetbrains.kotlin.ir.symbols.IrClassifierSymbol import org.jetbrains.kotlin.ir.symbols.IrSymbol -import org.jetbrains.kotlin.ir.symbols.impl.IrAnonymousInitializerSymbolImpl -import org.jetbrains.kotlin.ir.symbols.impl.IrFileSymbolImpl -import org.jetbrains.kotlin.ir.symbols.impl.IrValueParameterSymbolImpl -import org.jetbrains.kotlin.ir.symbols.impl.IrVariableSymbolImpl +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.util.IrDeserializer @@ -133,6 +130,8 @@ abstract class KotlinIrLinker( symbolTable.referenceProperty( descriptor as PropertyDescriptor? ?: WrappedPropertyDescriptor() ) + KotlinIr.IrSymbolKind.LOCAL_DELEGATED_PROPERTY_SYMBOL -> + IrLocalDelegatedPropertySymbolImpl(descriptor as? VariableDescriptorWithAccessors ?: WrappedVariableDescriptorWithAccessor()) else -> TODO("Unexpected classifier symbol kind: ${proto.kind}") }