[FIR & IR] Support of default values for arguments in expect functions

Add FirActualDeclarationChecker that checks expect/actual return types

^KT-56331 Fixed, ^KT-56334 Fixed
This commit is contained in:
Ivan Kochurkin
2023-02-16 21:22:03 +01:00
committed by Space Team
parent a54b56d74e
commit d87619e06e
64 changed files with 819 additions and 705 deletions
@@ -41,11 +41,21 @@ FILE: functionWithParameter.kt
}
public final [STATUS] fun resolveMe([STATUS] param: R|I|): <implicit> { LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: functionWithParameter.kt
public? final? [RAW_FIR] interface I : R|kotlin/Any| {
}
public final [EXPECT_ACTUAL_MATCHING] fun resolveMe([EXPECT_ACTUAL_MATCHING] param: R|I|): <implicit> {
^resolveMe Unit#
}
ARGUMENTS_OF_ANNOTATIONS:
FILE: functionWithParameter.kt
public? final? [RAW_FIR] interface I : R|kotlin/Any| {
}
public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe([ARGUMENTS_OF_ANNOTATIONS] param: R|I|): <implicit> { LAZY_BLOCK }
public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe([ARGUMENTS_OF_ANNOTATIONS] param: R|I|): <implicit> {
^resolveMe Unit#
}
CONTRACTS:
FILE: functionWithParameter.kt
@@ -71,14 +81,6 @@ FILE: functionWithParameter.kt
^resolveMe Q|kotlin/Unit|
}
EXPECT_ACTUAL_MATCHING:
FILE: functionWithParameter.kt
public? final? [RAW_FIR] interface I : R|kotlin/Any| {
}
public final [EXPECT_ACTUAL_MATCHING] fun resolveMe([EXPECT_ACTUAL_MATCHING] param: R|I|): R|kotlin/Unit| {
^resolveMe Q|kotlin/Unit|
}
BODY_RESOLVE:
FILE: functionWithParameter.kt
public? final? [RAW_FIR] interface I : R|kotlin/Any| {