Add/Remove Modifier: Do not add modifier if it's already present in the modifier list

This commit is contained in:
Alexey Sedunov
2015-08-10 19:56:58 +03:00
parent 969b90d301
commit 5168ccc159
3 changed files with 6 additions and 3 deletions
@@ -55,6 +55,8 @@ internal fun addAnnotationEntry(owner: JetModifierListOwner, annotationEntry: Je
}
internal fun addModifier(modifierList: JetModifierList, modifier: JetModifierKeywordToken, defaultVisibilityModifier: JetModifierKeywordToken) {
if (modifierList.hasModifier(modifier)) return
val newModifier = JetPsiFactory(modifierList).createModifier(modifier)
val modifierToReplace = MODIFIERS_TO_REPLACE[modifier]
?.map { modifierList.getModifier(it) }
@@ -540,7 +540,7 @@ class KotlinPullUpHelper(
if (member.hasModifier(JetTokens.ABSTRACT_KEYWORD)) {
member.delete()
}
else if (!member.hasModifier(JetTokens.OVERRIDE_KEYWORD)) {
else {
member.addModifierWithSpace(JetTokens.OVERRIDE_KEYWORD)
}
}
@@ -71,6 +71,7 @@ fun JetNamedDeclaration.addAnnotationWithSpace(annotationEntry: JetAnnotationEnt
}
fun JetClass.makeAbstract() {
if (isInterface() || hasModifier(JetTokens.ABSTRACT_KEYWORD)) return
addModifierWithSpace(JetTokens.ABSTRACT_KEYWORD)
if (!isInterface()) {
addModifierWithSpace(JetTokens.ABSTRACT_KEYWORD)
}
}