IC: Implement expect/actual tracking

fixes NewMultiplatformIT.testIncrementalCompilation
also #KT-61590 fixed
This commit is contained in:
Ilya Chernikov
2023-09-14 17:26:32 +02:00
committed by Space Team
parent 9ed23a7f07
commit e5ee364419
15 changed files with 117 additions and 46 deletions
@@ -19,7 +19,6 @@ import org.jetbrains.kotlin.fir.backend.jvm.Fir2IrJvmSpecialAnnotationSymbolProv
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmKotlinMangler
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmVisibilityConverter
import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.moduleData
import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.ir.IrBuiltIns
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmDescriptorMangler
@@ -171,7 +170,8 @@ fun FirResult.convertToIrAndActualize(
commonMemberStorage.symbolTable,
irMangler,
Fir2IrConverter.friendModulesMap(outputs.last().session),
fir2IrConfiguration.useIrFakeOverrideBuilder
fir2IrConfiguration.useIrFakeOverrideBuilder,
fir2IrConfiguration.expectActualTracker
)
}
}
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.fir.backend
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.constant.EvaluatedConstTracker
import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
import org.jetbrains.kotlin.incremental.components.ExpectActualTracker
import org.jetbrains.kotlin.incremental.components.InlineConstTracker
/**
@@ -36,6 +37,7 @@ data class Fir2IrConfiguration(
val linkViaSignatures: Boolean,
val evaluatedConstTracker: EvaluatedConstTracker,
val inlineConstTracker: InlineConstTracker?,
val expectActualTracker: ExpectActualTracker?,
val allowNonCachedDeclarations: Boolean,
val useIrFakeOverrideBuilder: Boolean,
)