Sealed classes: update hierarchy fixes (IJ-CR-2554):

1. add missing same file inheritors to permits list during safe delete or create subclass refactoring
2. inline isParentSealed for inline to anonymous class refactoring
3. do not make sealed class final when removing last inheritor (just remove sealed modifier)

GitOrigin-RevId: acf3652f12144446116c5d71ea1722b06b9f6b92
This commit is contained in:
Artemiy Sartakov
2020-08-10 09:19:20 +00:00
committed by intellij-monorepo-bot
parent 984fe0931e
commit ec30bf3a97
23 changed files with 91 additions and 28 deletions
@@ -1,6 +1,6 @@
// "Unimplement Class" "true"
public sealed interface A permits B {}
final class C {}
class C {}
non-sealed class B implements A {}
@@ -1,5 +1,5 @@
// "Unimplement Class" "true"
final class A {
class A {
}
@@ -1,4 +1,4 @@
// "Unimplement Class" "true"
final class A {}
class A {}
final class B {}
@@ -1,4 +1,4 @@
// "Unimplement Class" "true"
final class A {}
class A {}
class B {}
@@ -1,5 +1,5 @@
// "Unimplement Class" "true"
final class A {}
class A {}
sealed class B permits C {}