Fix KT-47708 in FIR by transferring SAM annotations to synthetic constr.

This commit is contained in:
Mikhail Glukhikh
2022-04-20 12:41:14 +03:00
committed by Space
parent 9b6430d455
commit 6f17a8713c
14 changed files with 160 additions and 32 deletions
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.builtins.functions.FunctionClassKind
import org.jetbrains.kotlin.fir.resolve.FirSamResolverImpl
import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.types.canBeNull
import org.jetbrains.kotlin.fir.types.functionClassKind
import org.jetbrains.kotlin.fir.types.typeApproximator
@@ -30,7 +29,7 @@ internal class KtFirTypeInfoProvider(
firSession,
analysisSession.getScopeSessionFor(firSession),
)
return samResolver.getFunctionTypeForPossibleSamType(coneType) != null
return samResolver.getSamInfoForPossibleSamType(coneType) != null
}
override fun getFunctionClassKind(type: KtType): FunctionClassKind? {
@@ -37192,6 +37192,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
runTest("compiler/testData/diagnostics/testsWithStdLib/experimental/incorrectUseExperimental.kt");
}
@Test
@TestMetadata("insideSAM.kt")
public void testInsideSAM() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/experimental/insideSAM.kt");
}
@Test
@TestMetadata("noRetentionAfter.kt")
public void testNoRetentionAfter() throws Exception {