Add inspection: Refactor sealed sub-class to object #KT-20305 Fixed

This commit is contained in:
Gabryel Monteiro
2018-02-12 20:50:36 +03:00
committed by Mikhail Glukhikh
parent 7cf6c70fbf
commit df7968678a
31 changed files with 514 additions and 0 deletions
@@ -0,0 +1,50 @@
<problems>
<problem>
<file>sealed.kt</file>
<line>8</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="temp:///src/sealed.kt" />
<problem_class severity="INFORMATION" attribute_key="INFO_ATTRIBUTES">Sealed Sub-class should be changed To Object</problem_class>
<description>Sealed Sub-class should be changed To Object</description>
</problem>
<problem>
<file>sealed.kt</file>
<line>10</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="temp:///src/sealed.kt" />
<problem_class severity="INFORMATION" attribute_key="INFO_ATTRIBUTES">Sealed Sub-class should be changed To Object</problem_class>
<description>Sealed Sub-class should be changed To Object</description>
</problem>
<problem>
<file>sealed.kt</file>
<line>13</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="temp:///src/sealed.kt" />
<problem_class severity="INFORMATION" attribute_key="INFO_ATTRIBUTES">Sealed Sub-class should be changed To Object</problem_class>
<description>Sealed Sub-class should be changed To Object</description>
</problem>
<problem>
<file>sealed.kt</file>
<line>15</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="temp:///src/sealed.kt" />
<problem_class severity="INFORMATION" attribute_key="INFO_ATTRIBUTES">Sealed Sub-class should be changed To Object</problem_class>
<description>Sealed Sub-class should be changed To Object</description>
</problem>
<problem>
<file>sealed.kt</file>
<line>41</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="temp:///src/sealed.kt" />
<problem_class severity="INFORMATION" attribute_key="INFO_ATTRIBUTES">Sealed Sub-class should be changed To Object</problem_class>
<description>Sealed Sub-class should be changed To Object</description>
</problem>
<problem>
<file>sealed.kt</file>
<line>45</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="temp:///src/sealed.kt" />
<problem_class severity="INFORMATION" attribute_key="INFO_ATTRIBUTES">Sealed Sub-class should be changed To Object</problem_class>
<description>Sealed Sub-class should be changed To Object</description>
</problem>
</problems>
@@ -0,0 +1 @@
// INSPECTION_CLASS: org.jetbrains.kotlin.idea.inspections.CanSealedSubClassBeObjectInspection
@@ -0,0 +1,47 @@
sealed class Sealed {
open class OpenSubSealedNestedNoChild() : Sealed()
open class SubSealedNestedWithChild : Sealed()
class SubSealedNestedChild() : SubSealedNestedWithChild()
final class FinalSubSealedNested() : Sealed()
class SubSealedNested() : Sealed()
}
class SubSealedParentheses() : Sealed()
class SubSealedNoParentheses : Sealed()
open class SubSealedWithChild : Sealed()
class SubSealedChild : SubSealedWithChild()
class SubSealedParameters(val value : String) : Sealed()
object SubSealedObject() : Sealed()
class SubSealedObjectWithPrimaryConstructor(parameter: String) : Sealed()
class SubSealedObjectWithSecondaryConstructor() : Sealed() {
constructor(parameter: String): this()
}
object AlreadyObject: Sealed()
class SubSealedWithCompanion: Sealed() {
companion object
}
class SubSealedWithInner: Sealed() {
inner class Inner
}
class SubSealedWithNested: Sealed() {
class Nested
}
class SubSealedWithFunction: Sealed() {
fun internalFunction() { }
}