[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
@@ -90,6 +90,21 @@ FILE: parameterOfNonLocalSetter.kt
}
EXPECT_ACTUAL_MATCHING:
FILE: parameterOfNonLocalSetter.kt
public final [SUPER_TYPES] class X : R|kotlin/Any| {
public [TYPES] [ContainingClassKey=X] constructor(): R|X| {
LAZY_super<R|kotlin/Any|>
}
public final [EXPECT_ACTUAL_MATCHING] var x: R|kotlin/Int| = IntegerLiteral(2)
public [EXPECT_ACTUAL_MATCHING] [ContainingClassKey=X] get(): R|kotlin/Int|
public [EXPECT_ACTUAL_MATCHING] [ContainingClassKey=X] set([EXPECT_ACTUAL_MATCHING] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Unit#
}
}
ARGUMENTS_OF_ANNOTATIONS:
FILE: parameterOfNonLocalSetter.kt
public final [STATUS] class X : R|kotlin/Any| {
@@ -97,9 +112,11 @@ FILE: parameterOfNonLocalSetter.kt
LAZY_super<R|kotlin/Any|>
}
public final [ARGUMENTS_OF_ANNOTATIONS] var x: R|kotlin/Int| = LAZY_EXPRESSION
public final [ARGUMENTS_OF_ANNOTATIONS] var x: R|kotlin/Int| = IntegerLiteral(2)
public [ARGUMENTS_OF_ANNOTATIONS] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ARGUMENTS_OF_ANNOTATIONS] [ContainingClassKey=X] set([ARGUMENTS_OF_ANNOTATIONS] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
public [ARGUMENTS_OF_ANNOTATIONS] [ContainingClassKey=X] set([ARGUMENTS_OF_ANNOTATIONS] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Unit#
}
}
@@ -148,21 +165,6 @@ FILE: parameterOfNonLocalSetter.kt
}
EXPECT_ACTUAL_MATCHING:
FILE: parameterOfNonLocalSetter.kt
public final [STATUS] class X : R|kotlin/Any| {
public [STATUS] [ContainingClassKey=X] constructor(): R|X| {
LAZY_super<R|kotlin/Any|>
}
public final [EXPECT_ACTUAL_MATCHING] var x: R|kotlin/Int| = IntegerLiteral(2)
public [EXPECT_ACTUAL_MATCHING] [ContainingClassKey=X] get(): R|kotlin/Int|
public [EXPECT_ACTUAL_MATCHING] [ContainingClassKey=X] set([EXPECT_ACTUAL_MATCHING] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Unit#
}
}
BODY_RESOLVE:
FILE: parameterOfNonLocalSetter.kt
public final [STATUS] class X : R|kotlin/Any| {