Refactor sealed subclass to object: add tests, fix type parameter case
This commit is contained in:
@@ -38,6 +38,7 @@ class CanSealedSubClassBeObjectInspection : AbstractKotlinInspection() {
|
||||
klass.getSubclasses()
|
||||
.withEmptyConstructors()
|
||||
.thatAreFinal()
|
||||
.thatHasNoTypeParameters()
|
||||
.thatHasNoInnerClasses()
|
||||
.thatHasNoCompanionObjects()
|
||||
.forEach { reportPossibleObject(it) }
|
||||
@@ -74,6 +75,10 @@ class CanSealedSubClassBeObjectInspection : AbstractKotlinInspection() {
|
||||
return filter { klass -> klass.getModalityFromDescriptor() == KtTokens.FINAL_KEYWORD }
|
||||
}
|
||||
|
||||
private fun List<KtClass>.thatHasNoTypeParameters(): List<KtClass> {
|
||||
return filter { klass -> klass.typeParameters.isEmpty() }
|
||||
}
|
||||
|
||||
private fun List<KtClass>.thatHasNoInnerClasses(): List<KtClass> {
|
||||
return filter { klass -> klass.hasNoInnerClass() }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user