[IR] Make isExternal mutable and accessible via common interface

JS IR: Mark all effectively external declarations as external to access it
directly instead of computing it every time
This commit is contained in:
Svyatoslav Kuzmich
2020-11-11 18:33:08 +03:00
parent 924a7b009b
commit 2a424ad2af
32 changed files with 145 additions and 54 deletions
@@ -36,7 +36,7 @@ class IrClassImpl(
override val isCompanion: Boolean = false,
override val isInner: Boolean = false,
override val isData: Boolean = false,
override val isExternal: Boolean = false,
override var isExternal: Boolean = false,
override val isInline: Boolean = false,
override val isExpect: Boolean = false,
override val isFun: Boolean = false,
@@ -38,7 +38,7 @@ class IrConstructorImpl(
override var visibility: DescriptorVisibility,
returnType: IrType,
override val isInline: Boolean,
override val isExternal: Boolean,
override var isExternal: Boolean,
override val isPrimary: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource? = null,
@@ -36,7 +36,7 @@ class IrFieldImpl(
override var type: IrType,
override var visibility: DescriptorVisibility,
override val isFinal: Boolean,
override val isExternal: Boolean,
override var isExternal: Boolean,
override val isStatic: Boolean,
) : IrField() {
init {
@@ -29,7 +29,7 @@ abstract class IrFunctionCommonImpl(
override var visibility: DescriptorVisibility,
returnType: IrType,
override val isInline: Boolean,
override val isExternal: Boolean,
override var isExternal: Boolean,
override val isTailrec: Boolean,
override val isSuspend: Boolean,
override val isOperator: Boolean,
@@ -37,7 +37,7 @@ abstract class IrPropertyCommonImpl(
override val isConst: Boolean,
override val isLateinit: Boolean,
override val isDelegated: Boolean,
override val isExternal: Boolean,
override var isExternal: Boolean,
override val isExpect: Boolean,
override val containerSource: DeserializedContainerSource?,
) : IrProperty() {