From 799d0ad0126c233a6f7e37d910bd394fed215acb Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Mon, 25 Mar 2024 17:05:53 +0100 Subject: [PATCH] [FL-25374] Create KotlinFleetCreateActualAction as counterpart for the CreateMissedActualsFix ^FL-25374 Fixed GitOrigin-RevId: 4a7db8ee0c20b534910e67c3b21420f2bb6bc0e0 --- .../idea/quickfix/expectactual/ExpectActualUtils.kt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/quickfix/expectactual/ExpectActualUtils.kt b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/quickfix/expectactual/ExpectActualUtils.kt index 767a7f0c6e0e..c09fd42d6720 100644 --- a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/quickfix/expectactual/ExpectActualUtils.kt +++ b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/quickfix/expectactual/ExpectActualUtils.kt @@ -12,6 +12,7 @@ import com.intellij.openapi.util.ThrowableComputable import com.intellij.psi.JavaDirectoryService import com.intellij.psi.PsiElement import com.intellij.util.SlowOperations +import org.jetbrains.annotations.ApiStatus import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor import org.jetbrains.kotlin.descriptors.annotations.Annotations @@ -132,8 +133,9 @@ fun generateExpectOrActualInFile( }) } -fun createFileForDeclaration(module: Module, declaration: KtNamedDeclaration): KtFile? { - val fileName = declaration.name ?: return null +@ApiStatus.Internal +fun createFileForDeclaration(module: Module, declaration: KtNamedDeclaration, fileName: String? = declaration.name): KtFile? { + if (fileName == null) return null val originalDir = declaration.containingFile.containingDirectory val containerPackage = JavaDirectoryService.getInstance().getPackage(originalDir) @@ -196,7 +198,8 @@ fun KtNamedDeclaration?.getTypeDescription(): String = when (this) { else -> KotlinBundle.message("text.declaration") } -internal fun KtPsiFactory.generateClassOrObject( +@ApiStatus.Internal +fun KtPsiFactory.generateClassOrObject( project: Project, generateExpectClass: Boolean, originalClass: KtClassOrObject, @@ -351,7 +354,8 @@ private val forbiddenAnnotationFqNames = setOf( FqNames.OptInFqNames.OLD_USE_EXPERIMENTAL_FQ_NAME ) -internal fun generateCallable( +@ApiStatus.Internal +fun generateCallable( project: Project, generateExpect: Boolean, originalDeclaration: KtDeclaration,