From 8877bac873b745420c8c3c65b7adbbff96f07ee4 Mon Sep 17 00:00:00 2001 From: Svyatoslav Kuzmich Date: Fri, 21 Feb 2020 17:05:00 +0300 Subject: [PATCH] [JS IR BE] Don't fail typeOf lowering on reified type parameters. --- .../ir/backend/js/lower/ClassReferenceLowering.kt | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ClassReferenceLowering.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ClassReferenceLowering.kt index b0364246e49..b80160fbba8 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ClassReferenceLowering.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ClassReferenceLowering.kt @@ -151,9 +151,10 @@ class ClassReferenceLowering(val context: JsIrBackendContext) : BodyLoweringPass private fun createSimpleKType(type: IrSimpleType): IrExpression { val classifier: IrClassifierSymbol = type.classifier - if (classifier is IrTypeParameterSymbol && classifier.owner.isReified) { - error("Fail") - } + // TODO: Check why do we have un-substituted reified parameters + // if (classifier is IrTypeParameterSymbol && classifier.owner.isReified) { + // error("Fail") + // } val kClassifier = createKClassifier(classifier) // TODO: Use static array types @@ -206,9 +207,11 @@ class ClassReferenceLowering(val context: JsIrBackendContext) : BodyLoweringPass Variance.IN_VARIANCE -> JsIrBuilder.buildString(context.irBuiltIns.stringType, "in") Variance.OUT_VARIANCE -> JsIrBuilder.buildString(context.irBuiltIns.stringType, "out") } - if (typeParameter.isReified) { - error("Reified parameter") - } + + // TODO: Check why do we have non-inlined reified parameters + // if (typeParameter.isReified) { + // error("Reified parameter") + // } return buildCall( context.intrinsics.createKTypeParameter!!,