Add actual: handle (incorrect) case with expect function with body

So #KT-23326 Fixed
This commit is contained in:
Mikhail Glukhikh
2018-06-27 19:28:21 +03:00
parent 0fb183e302
commit fdc0335b4a
6 changed files with 31 additions and 1 deletions
@@ -327,7 +327,9 @@ private fun KtPsiFactory.generateFunction(
): KtFunction {
val returnType = descriptor.returnType
val body = run {
if (returnType != null && !KotlinBuiltIns.isUnit(returnType)) {
if (expectedFunction.hasBody()) {
""
} else if (returnType != null && !KotlinBuiltIns.isUnit(returnType)) {
val delegation = getFunctionBodyTextFromTemplate(
project,
TemplateKind.FUNCTION,
@@ -0,0 +1,6 @@
// DISABLE-ERRORS
expect class My {
// Incompilable function
fun foo() {}
}
@@ -0,0 +1,6 @@
// DISABLE-ERRORS
expect class My {
// Incompilable function
fun foo() {}
}
@@ -0,0 +1,4 @@
// "Add missing actual members" "true"
// DISABLE-ERRORS
actual class <caret>My
@@ -0,0 +1,7 @@
// "Add missing actual members" "true"
// DISABLE-ERRORS
actual class My {
// Incompilable function
actual fun foo() {}
}
@@ -109,6 +109,11 @@ public class QuickFixMultiModuleTestGenerated extends AbstractQuickFixMultiModul
runTest("idea/testData/multiModuleQuickFix/classSomeProperties/");
}
@TestMetadata("classWithIncompilableFunction")
public void testClassWithIncompilableFunction() throws Exception {
runTest("idea/testData/multiModuleQuickFix/classWithIncompilableFunction/");
}
@TestMetadata("companionAbsence")
public void testCompanionAbsence() throws Exception {
runTest("idea/testData/multiModuleQuickFix/companionAbsence/");