Reformat "make constructor parameter a property" quick-fix

This commit is contained in:
Mikhail Glukhikh
2019-03-04 12:33:28 +03:00
parent 9e2ee6183c
commit 14a6f684dc
@@ -30,14 +30,13 @@ import org.jetbrains.kotlin.psi.KtPsiFactory
import org.jetbrains.kotlin.psi.psiUtil.* import org.jetbrains.kotlin.psi.psiUtil.*
class MakeConstructorParameterPropertyFix( class MakeConstructorParameterPropertyFix(
element: KtParameter, private val kotlinValVar: KotlinValVar, className: String? element: KtParameter, private val kotlinValVar: KotlinValVar, className: String?
) : KotlinQuickFixAction<KtParameter>(element) { ) : KotlinQuickFixAction<KtParameter>(element) {
override fun getFamilyName() = "Make constructor parameter a property" override fun getFamilyName() = "Make constructor parameter a property"
private val suffix = if (className != null) " in class '$className'" else "" private val suffix = if (className != null) " in class '$className'" else ""
override fun getText() = override fun getText() = "Make constructor parameter a property$suffix"
"Make constructor parameter a property$suffix"
override fun isAvailable(project: Project, editor: Editor?, file: KtFile): Boolean { override fun isAvailable(project: Project, editor: Editor?, file: KtFile): Boolean {
val element = element ?: return false val element = element ?: return false
@@ -74,6 +73,6 @@ class MakeConstructorParameterPropertyFix(
fun KtNameReferenceExpression.getPrimaryConstructorParameterWithSameName(): KtParameter? { fun KtNameReferenceExpression.getPrimaryConstructorParameterWithSameName(): KtParameter? {
return nonStaticOuterClasses() return nonStaticOuterClasses()
.mapNotNull { it.primaryConstructor?.valueParameters?.firstOrNull { it.name == getReferencedName() } } .mapNotNull { it.primaryConstructor?.valueParameters?.firstOrNull { it.name == getReferencedName() } }
.firstOrNull() .firstOrNull()
} }