Don't recognize nullable function types as inlinable

#KT-19679 Fixed
This commit is contained in:
Mikhael Bogdanov
2017-08-16 12:51:28 +02:00
parent 1b2e28d467
commit 79ecc7fd5c
17 changed files with 177 additions and 15 deletions
@@ -416,6 +416,24 @@ public class InlineDefaultValuesTestsGenerated extends AbstractInlineDefaultValu
doTest(fileName);
}
@TestMetadata("kt19679.kt")
public void testKt19679() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/defaultValues/maskElimination/kt19679.kt");
doTest(fileName);
}
@TestMetadata("kt19679_2.kt")
public void testKt19679_2() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/defaultValues/maskElimination/kt19679_2.kt");
doTest(fileName);
}
@TestMetadata("kt19679_3.kt")
public void testKt19679_3() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/defaultValues/maskElimination/kt19679_3.kt");
doTest(fileName);
}
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/defaultValues/maskElimination/simple.kt");
@@ -79,7 +79,7 @@ public final class CallExpressionTranslator extends AbstractCallExpressionTransl
if (descriptor instanceof ValueParameterDescriptor) {
return InlineUtil.isInline(descriptor.getContainingDeclaration()) &&
InlineUtil.isInlineLambdaParameter((ParameterDescriptor) descriptor) &&
InlineUtil.isInlineParameter((ParameterDescriptor) descriptor) &&
!((ValueParameterDescriptor) descriptor).isCrossinline();
}