From 4928f3ff570f551eee76862d5a2eae21b6368e13 Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Tue, 16 Jul 2019 13:25:43 +0300 Subject: [PATCH] CreateExpectedFix: fix KNPE from init block #KT-32639 Fixed --- .../kotlin/idea/quickfix/expectactual/CreateExpectedFix.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/expectactual/CreateExpectedFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/expectactual/CreateExpectedFix.kt index 4fd38226ce4..de1183fd96f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/expectactual/CreateExpectedFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/expectactual/CreateExpectedFix.kt @@ -131,7 +131,7 @@ class CreateExpectedClassFix( }) private fun KtDeclaration.canAddActualModifier() = when (this) { - is KtEnumEntry -> false + is KtEnumEntry, is KtClassInitializer -> false is KtParameter -> this.hasValOrVar() else -> true } @@ -140,7 +140,9 @@ private fun KtDeclaration.canAddActualModifier() = when (this) { * @return null if close without OK */ private fun chooseMembers(project: Project, collection: Collection, prefixToRemove: String): List? { - val classMembers = collection.map { Member(prefixToRemove, it, it.resolveToDescriptorIfAny()!!) } + val classMembers = collection.mapNotNull { + it.resolveToDescriptorIfAny()?.let { descriptor -> Member(prefixToRemove, it, descriptor) } + } val filter = if (collection.any(KtDeclaration::hasActualModifier)) { { declaration: KtDeclaration -> declaration.hasActualModifier() } } else {