From 0c4c9251d673bddc353bfcc5ea9f9a959c2b18c8 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 7 Mar 2018 13:57:16 +0300 Subject: [PATCH] Sort modifiers: process visibility & modality after others Related to KT-22954 --- .../frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java | 1 + .../src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt | 5 +---- .../kotlin/idea/inspections/SortModifiersInspection.kt | 4 +++- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java b/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java index 013afad7608..25f22772b7b 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java @@ -239,6 +239,7 @@ public interface KtTokens { TokenSet RESERVED_VALUE_PARAMETER_MODIFIER_KEYWORDS = TokenSet.create(OUT_KEYWORD, VARARG_KEYWORD); TokenSet VISIBILITY_MODIFIERS = TokenSet.create(PRIVATE_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD, PROTECTED_KEYWORD); + TokenSet MODALITY_MODIFIERS = TokenSet.create(ABSTRACT_KEYWORD, FINAL_KEYWORD, SEALED_KEYWORD, OPEN_KEYWORD); TokenSet WHITESPACES = TokenSet.create(TokenType.WHITE_SPACE); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt index 4e8be9d66d1..be43aa4768f 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt @@ -28,6 +28,7 @@ import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.lexer.KotlinLexer import org.jetbrains.kotlin.lexer.KtModifierKeywordToken import org.jetbrains.kotlin.lexer.KtTokens +import org.jetbrains.kotlin.lexer.KtTokens.MODALITY_MODIFIERS import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.stubs.KotlinClassOrObjectStub @@ -438,10 +439,6 @@ val KtModifierListOwner.isPublic: Boolean fun KtModifierListOwner.visibilityModifierType(): KtModifierKeywordToken? = visibilityModifier()?.node?.elementType as KtModifierKeywordToken? -private val MODALITY_MODIFIERS = TokenSet.create( - KtTokens.ABSTRACT_KEYWORD, KtTokens.FINAL_KEYWORD, KtTokens.SEALED_KEYWORD, KtTokens.OPEN_KEYWORD -) - fun KtDeclaration.modalityModifier() = modifierFromTokenSet(MODALITY_MODIFIERS) fun KtStringTemplateExpression.isPlain() = entries.all { it is KtLiteralStringTemplateEntry } diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/SortModifiersInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/SortModifiersInspection.kt index 53158e7c3a6..7d88e076d69 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/SortModifiersInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/SortModifiersInspection.kt @@ -69,8 +69,10 @@ private class SortModifiersFix(private val modifiers: List