From c79a485c8e77231d9fb8723fea7b40eddfea614a Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Thu, 16 Jun 2022 11:51:32 +0300 Subject: [PATCH] [FIR2IR] Run IrGenerationExtensions before patching parents of external declarations and constant evaluation ^KT-52804 Fixed --- .../org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt index 0232276b987..35cc4499318 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt @@ -91,10 +91,6 @@ class Fir2IrConverter( firFile.accept(fir2irVisitor, null) } - irModuleFragment.acceptVoid(ExternalPackageParentPatcher(components, fir2IrExtensions)) - - evaluateConstants(irModuleFragment) - if (irGenerationExtensions.isNotEmpty()) { val pluginContext = Fir2IrPluginContext(components) for (extension in irGenerationExtensions) { @@ -102,6 +98,9 @@ class Fir2IrConverter( } } + irModuleFragment.acceptVoid(ExternalPackageParentPatcher(components, fir2IrExtensions)) + + evaluateConstants(irModuleFragment) } fun bindFakeOverridesOrPostpone(declarations: List) {