[JS IR] Fix usages of 'IrDeclarationOrigin.FAKE_OVERRIDE'
This commit is contained in:
+1
-1
@@ -67,7 +67,7 @@ class JsDeclarationFactory(mapping: JsMapping) : DeclarationFactory {
|
||||
isFinal = true,
|
||||
isExternal = false,
|
||||
isStatic = false,
|
||||
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
|
||||
isFakeOverride = false
|
||||
).also {
|
||||
descriptor.bind(it)
|
||||
it.parent = parent
|
||||
|
||||
@@ -93,6 +93,7 @@ object JsIrBuilder {
|
||||
isTailrec: Boolean = false,
|
||||
isSuspend: Boolean = false,
|
||||
isExpect: Boolean = false,
|
||||
isFakeOverride: Boolean = false,
|
||||
origin: IrDeclarationOrigin = SYNTHESIZED_DECLARATION
|
||||
) = buildFunction(
|
||||
Name.identifier(name),
|
||||
@@ -105,6 +106,7 @@ object JsIrBuilder {
|
||||
isTailrec = isTailrec,
|
||||
isSuspend = isSuspend,
|
||||
isExpect = isExpect,
|
||||
isFakeOverride = isFakeOverride,
|
||||
origin = origin
|
||||
)
|
||||
|
||||
@@ -120,6 +122,7 @@ object JsIrBuilder {
|
||||
isSuspend: Boolean = false,
|
||||
isExpect: Boolean = false,
|
||||
isOperator: Boolean = false,
|
||||
isFakeOverride: Boolean = false,
|
||||
origin: IrDeclarationOrigin = SYNTHESIZED_DECLARATION
|
||||
): IrSimpleFunction {
|
||||
val descriptor = WrappedSimpleFunctionDescriptor()
|
||||
@@ -137,7 +140,7 @@ object JsIrBuilder {
|
||||
isTailrec = isTailrec,
|
||||
isSuspend = isSuspend,
|
||||
isExpect = isExpect,
|
||||
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
|
||||
isFakeOverride = isFakeOverride,
|
||||
isOperator = isOperator
|
||||
).also {
|
||||
descriptor.bind(it)
|
||||
|
||||
+1
@@ -132,6 +132,7 @@ class BridgesConstruction(val context: CommonBackendContext) : DeclarationTransf
|
||||
isTailrec = bridge.isTailrec,
|
||||
isSuspend = bridge.isSuspend,
|
||||
isExpect = bridge.isExpect,
|
||||
isFakeOverride = false,
|
||||
origin = origin
|
||||
).apply {
|
||||
copyTypeParametersFrom(bridge)
|
||||
|
||||
+1
-1
@@ -70,7 +70,7 @@ class EnumUsageLowering(val context: JsIrBackendContext) : BodyLoweringPass {
|
||||
IrFieldImpl(
|
||||
startOffset, endOffset, origin, symbol, name, irClass.defaultType, Visibilities.PUBLIC,
|
||||
isFinal = false, isExternal = true, isStatic = true,
|
||||
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE
|
||||
isFakeOverride = entry.isFakeOverride
|
||||
).also {
|
||||
descriptor.bind(it)
|
||||
it.parent = irClass
|
||||
|
||||
+1
-1
@@ -59,7 +59,7 @@ class PrivateMembersLowering(val context: JsIrBackendContext) : DeclarationTrans
|
||||
symbol, name, visibility, modality,
|
||||
returnType,
|
||||
isInline = isInline, isExternal = isExternal, isTailrec = isTailrec, isSuspend = isSuspend, isExpect = isExpect,
|
||||
isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
|
||||
isFakeOverride = isFakeOverride,
|
||||
isOperator = isOperator
|
||||
).also {
|
||||
descriptor.bind(it)
|
||||
|
||||
+1
-1
@@ -117,7 +117,7 @@ class EqualityAndComparisonCallsTransformer(context: JsIrBackendContext) : Calls
|
||||
if (function.parent !is IrClass) return call
|
||||
|
||||
fun IrSimpleFunction.isFakeOverriddenFromComparable(): Boolean = when {
|
||||
origin != IrDeclarationOrigin.FAKE_OVERRIDE ->
|
||||
!isFakeOverride ->
|
||||
!isStaticMethodOfClass && parentAsClass.thisReceiver!!.type.isComparable()
|
||||
|
||||
else -> overriddenSymbols.all { it.owner.isFakeOverriddenFromComparable() }
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@ class JsClassGenerator(private val irClass: IrClass, val context: JsGenerationCo
|
||||
if (property.visibility != Visibilities.PUBLIC)
|
||||
continue
|
||||
|
||||
if (property.origin == IrDeclarationOrigin.FAKE_OVERRIDE)
|
||||
if (property.isFakeOverride)
|
||||
continue
|
||||
|
||||
fun IrSimpleFunction.accessorRef(): JsNameRef? =
|
||||
|
||||
Reference in New Issue
Block a user