[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:
committed by
Space Team
parent
a54b56d74e
commit
d87619e06e
@@ -104,6 +104,26 @@ FILE: lambdaAsSAMInterface.kt
|
||||
public? final? [RAW_FIR] fun testMe([RAW_FIR] f: Foo): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
EXPECT_ACTUAL_MATCHING:
|
||||
FILE: lambdaAsSAMInterface.kt
|
||||
public? final? [RAW_FIR] class Arg : R|kotlin/Any| {
|
||||
public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public? final? fun [RAW_FIR] interface Foo : R|kotlin/Any| {
|
||||
public? final? [RAW_FIR] fun foo([RAW_FIR] a: Arg): Arg
|
||||
|
||||
}
|
||||
public? final? [RAW_FIR] fun testMe([RAW_FIR] f: Foo): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| {
|
||||
testMe#(<L> = [STATUS] testMe@fun <implicit>.<anonymous>([RAW_FIR] b: <implicit>): <implicit> <inline=Unknown> {
|
||||
b#
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
ARGUMENTS_OF_ANNOTATIONS:
|
||||
FILE: lambdaAsSAMInterface.kt
|
||||
public? final? [RAW_FIR] class Arg : R|kotlin/Any| {
|
||||
@@ -117,7 +137,12 @@ FILE: lambdaAsSAMInterface.kt
|
||||
|
||||
}
|
||||
public? final? [RAW_FIR] fun testMe([RAW_FIR] f: Foo): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| {
|
||||
testMe#(<L> = [STATUS] testMe@fun <implicit>.<anonymous>([RAW_FIR] b: <implicit>): <implicit> <inline=Unknown> {
|
||||
b#
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
CONTRACTS:
|
||||
FILE: lambdaAsSAMInterface.kt
|
||||
@@ -179,26 +204,6 @@ FILE: lambdaAsSAMInterface.kt
|
||||
)
|
||||
}
|
||||
|
||||
EXPECT_ACTUAL_MATCHING:
|
||||
FILE: lambdaAsSAMInterface.kt
|
||||
public? final? [RAW_FIR] class Arg : R|kotlin/Any| {
|
||||
public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public? final? fun [RAW_FIR] interface Foo : R|kotlin/Any| {
|
||||
public? final? [RAW_FIR] fun foo([RAW_FIR] a: Arg): Arg
|
||||
|
||||
}
|
||||
public? final? [RAW_FIR] fun testMe([RAW_FIR] f: Foo): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| {
|
||||
testMe#(<L> = [STATUS] testMe@fun <implicit>.<anonymous>([RAW_FIR] b: <implicit>): <implicit> <inline=Unknown> {
|
||||
b#
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
BODY_RESOLVE:
|
||||
FILE: lambdaAsSAMInterface.kt
|
||||
public? final? [RAW_FIR] class Arg : R|kotlin/Any| {
|
||||
|
||||
Reference in New Issue
Block a user