KTIJ-27434 [AA] Unwrap safe call expression when resolving implicit invoke calls
`FirSafeCallExpression` does not implement `FirResolvable`, so we need to unwrap it to correctly resolve calls like `foo?.bar()` when `bar` is a lambda with receiver parameter or a functional type property ^KTIJ-27434 Fixed
This commit is contained in:
+36
@@ -1123,6 +1123,42 @@ public class FirStandaloneNormalAnalysisSourceModuleReferenceResolveTestGenerate
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/invoke/lambdaNoParRCurly.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("lambdaWithExtensionParameter_extensionProperty_regularCall.kt")
|
||||
public void testLambdaWithExtensionParameter_extensionProperty_regularCall() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/invoke/lambdaWithExtensionParameter_extensionProperty_regularCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("lambdaWithExtensionParameter_extensionProperty_safeCall.kt")
|
||||
public void testLambdaWithExtensionParameter_extensionProperty_safeCall() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/invoke/lambdaWithExtensionParameter_extensionProperty_safeCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("lambdaWithExtensionParameter_parameter_regularCall.kt")
|
||||
public void testLambdaWithExtensionParameter_parameter_regularCall() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/invoke/lambdaWithExtensionParameter_parameter_regularCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("lambdaWithExtensionParameter_parameter_safeCall.kt")
|
||||
public void testLambdaWithExtensionParameter_parameter_safeCall() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/invoke/lambdaWithExtensionParameter_parameter_safeCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("lambdaWithExtensionParameter_property_regularCall.kt")
|
||||
public void testLambdaWithExtensionParameter_property_regularCall() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/invoke/lambdaWithExtensionParameter_property_regularCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("lambdaWithExtensionParameter_property_safeCall.kt")
|
||||
public void testLambdaWithExtensionParameter_property_safeCall() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/invoke/lambdaWithExtensionParameter_property_safeCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("noParams.kt")
|
||||
public void testNoParams() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user