From 27e104187f35d8f112ba2c4a2db8517a3a3f45f4 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Fri, 17 Jan 2020 08:52:39 +0300 Subject: [PATCH] FIC: remove `isFun` from IR proto as conversion should happen in psi2ir --- .../fir/backend/Fir2IrDeclarationStorage.kt | 10 +-- .../lower/AbstractSuspendFunctionsLowering.kt | 3 +- .../declarations/declarationBuilders.kt | 2 +- .../ir/backend/js/JsSharedVariablesManager.kt | 2 +- .../jvm/descriptors/JvmDeclarationFactory.kt | 3 +- .../backend/jvm/lower/FileClassLowering.kt | 3 +- .../builders/declarations/IrClassBuilder.kt | 1 - .../kotlin/ir/declarations/IrClass.kt | 1 - .../ir/declarations/impl/IrClassImpl.kt | 6 +- .../ir/declarations/lazy/IrLazyClass.kt | 2 - .../ir/descriptors/WrappedDescriptors.kt | 4 +- .../ir/util/DeepCopyIrTreeWithSymbols.kt | 3 +- .../serialization.common/src/KotlinIr.proto | 1 - .../serialization/IrFileDeserializer.kt | 3 +- .../common/serialization/proto/IrClass.java | 77 ------------------- .../serialization/proto/IrClassOrBuilder.java | 9 --- 16 files changed, 16 insertions(+), 114 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index 99d07495113..c40ff51d6fb 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -168,8 +168,7 @@ class Fir2IrDeclarationStorage( isData = regularClass?.isData == true, isExternal = regularClass?.isExternal == true, isInline = regularClass?.isInline == true, - isExpect = regularClass?.isExpect == true, - isFun = false // TODO + isExpect = regularClass?.isExpect == true ).apply { descriptor.bind(this) if (setParent && regularClass != null) { @@ -216,8 +215,8 @@ class Fir2IrDeclarationStorage( startOffset, endOffset, origin, symbol, Name.special(""), anonymousObject.classKind, Visibilities.LOCAL, modality, - isCompanion = false, isInner = false, isData = false, isExternal = false, - isInline = false, isExpect = false, isFun = false + isCompanion = false, isInner = false, isData = false, + isExternal = false, isInline = false, isExpect = false ).apply { descriptor.bind(this) declareThisReceiver() @@ -236,7 +235,8 @@ class Fir2IrDeclarationStorage( startOffset, endOffset, origin, symbol, enumEntry.name, anonymousObject.classKind, Visibilities.LOCAL, modality, - isCompanion = false, isInner = false, isData = false, isExternal = false, isInline = false, isExpect = false + isCompanion = false, isInner = false, isData = false, + isExternal = false, isInline = false, isExpect = false ).apply { descriptor.bind(this) declareThisReceiver() diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/AbstractSuspendFunctionsLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/AbstractSuspendFunctionsLowering.kt index 5521bcb25f0..a9339f691bd 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/AbstractSuspendFunctionsLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/AbstractSuspendFunctionsLowering.kt @@ -294,8 +294,7 @@ abstract class AbstractSuspendFunctionsLowering(val co isData = false, isExternal = false, isInline = false, - isExpect = false, - isFun = false + isExpect = false ).apply { d.bind(this) parent = irFunction.parent diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/ir/builders/declarations/declarationBuilders.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/ir/builders/declarations/declarationBuilders.kt index a5ce2ff1746..3448e6420f3 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/ir/builders/declarations/declarationBuilders.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/ir/builders/declarations/declarationBuilders.kt @@ -27,7 +27,7 @@ fun IrClassBuilder.buildClass(): IrClass { IrClassSymbolImpl(wrappedDescriptor), name, kind, visibility, modality, isCompanion = isCompanion, isInner = isInner, isData = isData, isExternal = isExternal, - isInline = isInline, isExpect = isExpect, isFun = isFun + isInline = isInline, isExpect = isExpect ).also { wrappedDescriptor.bind(it) } diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsSharedVariablesManager.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsSharedVariablesManager.kt index e051a448181..2d3649ec63e 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsSharedVariablesManager.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsSharedVariablesManager.kt @@ -127,7 +127,7 @@ class JsSharedVariablesManager(val builtIns: IrBuiltIns, val implicitDeclaration UNDEFINED_OFFSET, UNDEFINED_OFFSET, JsLoweredDeclarationOrigin.JS_CLOSURE_BOX_CLASS_DECLARATION, IrClassSymbolImpl(descriptor), Name.identifier(boxTypeName), ClassKind.CLASS, Visibilities.PUBLIC, Modality.FINAL, isCompanion = false, isInner = false, isData = false, isExternal = false, - isInline = false, isExpect = false, isFun = false + isInline = false, isExpect = false ) descriptor.bind(declaration) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/descriptors/JvmDeclarationFactory.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/descriptors/JvmDeclarationFactory.kt index 484dbdce7e0..6e5b5c29406 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/descriptors/JvmDeclarationFactory.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/descriptors/JvmDeclarationFactory.kt @@ -236,8 +236,7 @@ class JvmDeclarationFactory( isData = false, isExternal = false, isInline = false, - isExpect = false, - isFun = false + isExpect = false ).apply { descriptor.bind(this) parent = interfaceClass diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FileClassLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FileClassLowering.kt index 5654a32a28c..d725431e104 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FileClassLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FileClassLowering.kt @@ -88,8 +88,7 @@ private class FileClassLowering(val context: JvmBackendContext) : FileLoweringPa isData = false, isExternal = false, isInline = false, - isExpect = false, - isFun = false + isExpect = false ).apply { descriptor.bind(this) superTypes.add(context.irBuiltIns.anyType) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/builders/declarations/IrClassBuilder.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/builders/declarations/IrClassBuilder.kt index c5b1f03788a..67a9e37ad54 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/builders/declarations/IrClassBuilder.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/builders/declarations/IrClassBuilder.kt @@ -32,6 +32,5 @@ class IrClassBuilder : IrDeclarationBuilder() { isExternal = from.isExternal isInline = from.isInline isExpect = from.isExpect - isFun = from.isFun } } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrClass.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrClass.kt index 65a20c8fd3e..d0d9eacdcea 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrClass.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrClass.kt @@ -39,7 +39,6 @@ interface IrClass : val isExternal: Boolean val isInline: Boolean val isExpect: Boolean - val isFun: Boolean val superTypes: MutableList diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt index cd6eb0de4bd..e17bfd8ea8d 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt @@ -44,8 +44,7 @@ class IrClassImpl( override val isData: Boolean, override val isExternal: Boolean, override val isInline: Boolean, - override val isExpect: Boolean, - override val isFun: Boolean + override val isExpect: Boolean ) : IrDeclarationBase(startOffset, endOffset, origin), IrClass { @@ -67,8 +66,7 @@ class IrClassImpl( isData = symbol.descriptor.isData, isExternal = symbol.descriptor.isEffectivelyExternal(), isInline = symbol.descriptor.isInline, - isExpect = symbol.descriptor.isExpect, - isFun = symbol.descriptor.isFun + isExpect = symbol.descriptor.isExpect ) init { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt index 1222fc0d2b3..c4dac814a3d 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt @@ -35,7 +35,6 @@ class IrLazyClass( override val isExternal: Boolean, override val isInline: Boolean, override val isExpect: Boolean, - override val isFun: Boolean, stubGenerator: DeclarationStubGenerator, typeTranslator: TypeTranslator ) : @@ -60,7 +59,6 @@ class IrLazyClass( isExternal = symbol.descriptor.isEffectivelyExternal(), isInline = symbol.descriptor.isInline, isExpect = symbol.descriptor.isExpect, - isFun = symbol.descriptor.isFun, stubGenerator = stubGenerator, typeTranslator = TypeTranslator ) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/WrappedDescriptors.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/WrappedDescriptors.kt index 9af42eb5ebf..cac10c5da33 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/WrappedDescriptors.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/WrappedDescriptors.kt @@ -595,7 +595,7 @@ open class WrappedClassDescriptor( override fun isInline() = owner.isInline - override fun isFun() = owner.isFun + override fun isFun() = TODO("not implemented") override fun getThisAsReceiverParameter() = owner.thisReceiver?.descriptor as ReceiverParameterDescriptor @@ -640,7 +640,7 @@ open class WrappedClassDescriptor( } override fun getDefaultFunctionTypeForSamInterface(): SimpleType? { - return owner.descriptor.defaultFunctionTypeForSamInterface + TODO("not implemented") } override fun isDefinitelyNotSamInterface(): Boolean { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt index 8cfa58ca911..1430cdbe878 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTreeWithSymbols.kt @@ -147,8 +147,7 @@ open class DeepCopyIrTreeWithSymbols( declaration.isData, declaration.isExternal, declaration.isInline, - declaration.isExpect, - declaration.isFun + declaration.isExpect ).apply { transformAnnotations(declaration) copyTypeParametersFrom(declaration) diff --git a/compiler/ir/serialization.common/src/KotlinIr.proto b/compiler/ir/serialization.common/src/KotlinIr.proto index 6afeab3fbaa..8d8aa973990 100644 --- a/compiler/ir/serialization.common/src/KotlinIr.proto +++ b/compiler/ir/serialization.common/src/KotlinIr.proto @@ -648,7 +648,6 @@ message IrClass { required IrDeclarationContainer declaration_container = 13; repeated int32 super_type = 14; required bool is_expect = 15; - required bool is_fun = 16; } message IrTypeAlias { diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileDeserializer.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileDeserializer.kt index 5ed26eb9863..3810546e4a7 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileDeserializer.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileDeserializer.kt @@ -980,8 +980,7 @@ abstract class IrFileDeserializer( isData = proto.isData, isExternal = proto.isExternal, isInline = proto.isInline, - isExpect = proto.isExpect, - isFun = proto.isFun + isExpect = proto.isExpect ) }.usingParent { proto.declarationContainer.declarationList.mapTo(declarations) { deserializeDeclaration(it) } 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 9c614d2a7a0..77be52d4303 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 @@ -198,11 +198,6 @@ public final class IrClass extends isExpect_ = input.readBool(); break; } - case 128: { - bitField0_ |= 0x00004000; - isFun_ = input.readBool(); - break; - } } } } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { @@ -480,21 +475,6 @@ public final class IrClass extends return isExpect_; } - public static final int IS_FUN_FIELD_NUMBER = 16; - private boolean isFun_; - /** - * required bool is_fun = 16; - */ - public boolean hasIsFun() { - return ((bitField0_ & 0x00004000) == 0x00004000); - } - /** - * required bool is_fun = 16; - */ - public boolean getIsFun() { - return isFun_; - } - private void initFields() { base_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationBase.getDefaultInstance(); name_ = 0; @@ -511,7 +491,6 @@ public final class IrClass extends declarationContainer_ = org.jetbrains.kotlin.backend.common.serialization.proto.IrDeclarationContainer.getDefaultInstance(); superType_ = java.util.Collections.emptyList(); isExpect_ = false; - isFun_ = false; } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -571,10 +550,6 @@ public final class IrClass extends memoizedIsInitialized = 0; return false; } - if (!hasIsFun()) { - memoizedIsInitialized = 0; - return false; - } if (!getBase().isInitialized()) { memoizedIsInitialized = 0; return false; @@ -649,9 +624,6 @@ public final class IrClass extends if (((bitField0_ & 0x00002000) == 0x00002000)) { output.writeBool(15, isExpect_); } - if (((bitField0_ & 0x00004000) == 0x00004000)) { - output.writeBool(16, isFun_); - } output.writeRawBytes(unknownFields); } @@ -726,10 +698,6 @@ public final class IrClass extends size += org.jetbrains.kotlin.protobuf.CodedOutputStream .computeBoolSize(15, isExpect_); } - if (((bitField0_ & 0x00004000) == 0x00004000)) { - size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeBoolSize(16, isFun_); - } size += unknownFields.size(); memoizedSerializedSize = size; return size; @@ -854,8 +822,6 @@ public final class IrClass extends bitField0_ = (bitField0_ & ~0x00002000); isExpect_ = false; bitField0_ = (bitField0_ & ~0x00004000); - isFun_ = false; - bitField0_ = (bitField0_ & ~0x00008000); return this; } @@ -940,10 +906,6 @@ public final class IrClass extends to_bitField0_ |= 0x00002000; } result.isExpect_ = isExpect_; - if (((from_bitField0_ & 0x00008000) == 0x00008000)) { - to_bitField0_ |= 0x00004000; - } - result.isFun_ = isFun_; result.bitField0_ = to_bitField0_; return result; } @@ -1002,9 +964,6 @@ public final class IrClass extends if (other.hasIsExpect()) { setIsExpect(other.getIsExpect()); } - if (other.hasIsFun()) { - setIsFun(other.getIsFun()); - } setUnknownFields( getUnknownFields().concat(other.unknownFields)); return this; @@ -1063,10 +1022,6 @@ public final class IrClass extends return false; } - if (!hasIsFun()) { - - return false; - } if (!getBase().isInitialized()) { return false; @@ -1787,38 +1742,6 @@ public final class IrClass extends return this; } - private boolean isFun_ ; - /** - * required bool is_fun = 16; - */ - public boolean hasIsFun() { - return ((bitField0_ & 0x00008000) == 0x00008000); - } - /** - * required bool is_fun = 16; - */ - public boolean getIsFun() { - return isFun_; - } - /** - * required bool is_fun = 16; - */ - public Builder setIsFun(boolean value) { - bitField0_ |= 0x00008000; - isFun_ = value; - - return this; - } - /** - * required bool is_fun = 16; - */ - public Builder clearIsFun() { - bitField0_ = (bitField0_ & ~0x00008000); - isFun_ = false; - - return this; - } - // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.backend.common.serialization.proto.IrClass) } 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 8eb261aaaa0..3b8911e6f27 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 @@ -153,13 +153,4 @@ public interface IrClassOrBuilder extends * required bool is_expect = 15; */ boolean getIsExpect(); - - /** - * required bool is_fun = 16; - */ - boolean hasIsFun(); - /** - * required bool is_fun = 16; - */ - boolean getIsFun(); } \ No newline at end of file