Skip to content

Commit b2be440

Browse files
committed
修复kotlin代码排序相同类型元素没有按照字典顺序排序的问题
1 parent f4c194a commit b2be440

3 files changed

Lines changed: 12 additions & 4 deletions

File tree

src/com/wuhao/code/check/PostStart.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class PostStart : StartupActivity {
8787
if (rule.order == null) {
8888
StdArrangementMatchRule(createMatcher(rule), BY_NAME)
8989
} else {
90-
StdArrangementMatchRule(createMatcher(rule))
90+
StdArrangementMatchRule(createMatcher(rule), rule.order!!)
9191
}
9292
}.map {
9393
ArrangementSectionRule.create(it)

src/com/wuhao/code/check/style/arrangement/KotlinCodeRearrangeProcessor.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,18 @@ class KotlinCodeRearrangeProcessor : Rearranger<ArrangementEntry> {
8989
when (target.type) {
9090
FIELD -> when {
9191
parent != null && parent.type === INTERFACE -> 2
92-
previous!!.type == INIT_BLOCK -> 1
92+
previous == null -> 1
93+
previous.type == INIT_BLOCK -> 1
94+
previous.type == FIELD -> 0
9395
else -> 0
9496
}
9597
METHOD -> when {
9698
parent != null && parent.type === INTERFACE -> 1
99+
previous == null -> 1
100+
previous.type == FIELD -> 1
97101
else -> 1
98102
}
99-
CLASS -> 2
103+
CLASS -> 1
100104
INIT_BLOCK -> 1
101105
else -> -1
102106
}

src/com/wuhao/code/check/style/arrangement/KotlinElementArrangementEntry.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ open class KotlinElementArrangementEntry(parent: ArrangementEntry?,
2020
endOffset: Int,
2121
val type: ArrangementSettingsToken,
2222
private val myName: String?,
23-
canBeArranged: Boolean) : DefaultArrangementEntry(parent, startOffset, endOffset, canBeArranged), TypeAwareArrangementEntry, NameAwareArrangementEntry, ModifierAwareArrangementEntry {
23+
canBeArranged: Boolean)
24+
: DefaultArrangementEntry(parent, startOffset, endOffset, canBeArranged),
25+
TypeAwareArrangementEntry,
26+
NameAwareArrangementEntry,
27+
ModifierAwareArrangementEntry {
2428

2529
private val myModifiers = ContainerUtilRt.newHashSet<ArrangementSettingsToken>()
2630
private val myTypes = ContainerUtilRt.newHashSet<ArrangementSettingsToken>()

0 commit comments

Comments
 (0)