AA: fix expected type for lambda with explicit label
This commit is contained in:
committed by
Ilya Kirillov
parent
b29309478e
commit
14213ddad2
+6
-1
@@ -161,7 +161,12 @@ class KtFe10ExpressionTypeProvider(
|
||||
|
||||
override fun getExpectedType(expression: PsiElement): KtType? {
|
||||
val ktExpression = expression.getParentOfType<KtExpression>(false) ?: return null
|
||||
val parentExpression = ktExpression.parent
|
||||
val parentExpression = if (ktExpression.parent is KtLabeledExpression) {
|
||||
// lambda -> labeled expression -> lambda argument (value argument)
|
||||
ktExpression.parent.parent
|
||||
} else {
|
||||
ktExpression.parent
|
||||
}
|
||||
|
||||
// Unwrap specific expressions
|
||||
when (ktExpression) {
|
||||
|
||||
+12
@@ -238,6 +238,18 @@ public class Fe10IdeNormalAnalysisSourceModuleExpectedExpressionTypeTestGenerate
|
||||
runTest("analysis/analysis-api/testData/components/expressionTypeProvider/expectedExpressionType/samWithExplicitTypeFromProperty.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("samWithReturnToExplicitLabel.kt")
|
||||
public void testSamWithReturnToExplicitLabel() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/expressionTypeProvider/expectedExpressionType/samWithReturnToExplicitLabel.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("samWithReturnToImplicitLabel.kt")
|
||||
public void testSamWithReturnToImplicitLabel() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/expressionTypeProvider/expectedExpressionType/samWithReturnToImplicitLabel.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("samWithTypeCast.kt")
|
||||
public void testSamWithTypeCast() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user