Remove unnecessary constructor keyword intention (KT-29143)

#KT-29143 Fixed
This commit is contained in:
Felix Guo
2019-01-17 01:28:58 +03:00
committed by Nikolay Krasko
parent c10eadfa77
commit 185d0c6165
24 changed files with 145 additions and 0 deletions
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.psi
import com.intellij.lang.ASTNode
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiWhiteSpace
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.addRemoveModifier.addModifier
@@ -36,6 +37,13 @@ class KtPrimaryConstructor : KtConstructor<KtPrimaryConstructor> {
return getConstructorKeyword() ?: addBefore(KtPsiFactory(this).createConstructorKeyword(), valueParameterList!!)
}
fun removeRedundantConstructorKeywordAndSpace() {
getConstructorKeyword()?.delete()
if (prevSibling is PsiWhiteSpace) {
prevSibling.delete()
}
}
override fun addModifier(modifier: KtModifierKeywordToken) {
val modifierList = modifierList
if (modifierList != null) {