[FIR]: sealed hierarchy processor for IDE
From now on sealed declarations get resolved with the help of FirIdeSealedHierarchyProcessor. This change entails correct IDE side check for sealed when exhaustiveness.
This commit is contained in:
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IGNORE
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiMethod
|
||||
// OPTIONS: usages
|
||||
public class J {
|
||||
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IGNORE
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiMethod
|
||||
// OPTIONS: usages
|
||||
public class J {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IGNORE
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiClass
|
||||
// OPTIONS: derivedClasses
|
||||
public class <caret>A {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IGNORE
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiClass
|
||||
// OPTIONS: derivedClasses
|
||||
public class <caret>A {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IGNORE
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiClass
|
||||
// OPTIONS: derivedClasses
|
||||
public class <caret>A {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiClass
|
||||
// OPTIONS: derivedInterfaces
|
||||
public interface <caret>A {
|
||||
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IGNORE
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiClass
|
||||
// OPTIONS: implementingClasses
|
||||
public interface <caret>A {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiClass
|
||||
// OPTIONS: implementingClasses
|
||||
public interface <caret>A {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IGNORE
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiClass
|
||||
// OPTIONS: implementingClasses
|
||||
public interface <caret>A {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiClass
|
||||
// OPTIONS: implementingClasses
|
||||
public interface <caret>A {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiClass
|
||||
// OPTIONS: implementingClasses
|
||||
public interface <caret>A {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiClass
|
||||
// OPTIONS: implementingClasses
|
||||
public interface <caret>A {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiClass
|
||||
// OPTIONS: derivedInterfaces
|
||||
public interface <caret>A {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiClass
|
||||
// OPTIONS: implementingClasses
|
||||
public interface <caret>A {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiMethod
|
||||
// OPTIONS: overrides
|
||||
public class A {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
[JKMethodOverrides.0.java] Unclassified usage 11 public void foo() {
|
||||
[JKMethodOverrides.0.java] Unclassified usage 12 public void foo() {
|
||||
[JKMethodOverrides.1.kt] Unclassified usage 14 public override fun foo() {
|
||||
[JKMethodOverrides.1.kt] Unclassified usage 2 public override fun foo() {
|
||||
[JKMethodOverrides.1.kt] Unclassified usage 8 public override fun foo() {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
interface <caret>X {
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
[javaDerivedClassUsages2.0.kt] Unclassified usage 11 open class C: Y {
|
||||
[javaDerivedClassUsages2.0.kt] Unclassified usage 7 open class A: X {
|
||||
[javaDerivedClassUsages2.0.kt] Unclassified usage 12 open class C: Y {
|
||||
[javaDerivedClassUsages2.0.kt] Unclassified usage 8 open class A: X {
|
||||
[javaDerivedClassUsages2.1.java] Unclassified usage 1 class B extends A {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedInterfaces
|
||||
interface X {
|
||||
|
||||
+1
-1
@@ -1,2 +1,2 @@
|
||||
[javaDerivedInterfaceUsages1.0.kt] Unclassified usage 15 interface Z: A {
|
||||
[javaDerivedInterfaceUsages1.0.kt] Unclassified usage 16 interface Z: A {
|
||||
[javaDerivedInterfaceUsages1.1.java] Unclassified usage 9 interface U extends Z {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedInterfaces
|
||||
interface <caret>X {
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
[javaDerivedInterfaceUsages2.0.kt] Unclassified usage 15 interface Z: A {
|
||||
[javaDerivedInterfaceUsages2.0.kt] Unclassified usage 16 interface Z: A {
|
||||
[javaDerivedInterfaceUsages2.1.java] Unclassified usage 5 interface Y extends X {
|
||||
[javaDerivedInterfaceUsages2.1.java] Unclassified usage 9 interface U extends Z {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IGNORE
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
open class <caret>A {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
interface X {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
interface X {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
open class <caret>A {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
interface X {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
open class <caret>A {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedInterfaces
|
||||
interface X {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
open class <caret>A {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedInterfaces
|
||||
interface X {
|
||||
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IGNORE
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
fun foo() {
|
||||
|
||||
Vendored
+3
-3
@@ -1,3 +1,3 @@
|
||||
Unclassified usage 11 val c = object: A() {}
|
||||
Unclassified usage 13 val d = object: T {}
|
||||
Unclassified usage 6 val b = object: A() {}
|
||||
Unclassified usage 12 val c = object: A() {}
|
||||
Unclassified usage 14 val d = object: T {}
|
||||
Unclassified usage 7 val b = object: A() {}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
fun foo() {
|
||||
|
||||
Vendored
+3
-3
@@ -1,3 +1,3 @@
|
||||
Unclassified usage 11 class C: A()
|
||||
Unclassified usage 13 class D: T
|
||||
Unclassified usage 6 class B: A()
|
||||
Unclassified usage 12 class C: A()
|
||||
Unclassified usage 14 class D: T
|
||||
Unclassified usage 7 class B: A()
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
fun foo() {
|
||||
|
||||
Vendored
+3
-3
@@ -1,3 +1,3 @@
|
||||
Unclassified usage 11 object C: A()
|
||||
Unclassified usage 13 object D: T
|
||||
Unclassified usage 6 object B: A()
|
||||
Unclassified usage 12 object C: A()
|
||||
Unclassified usage 14 object D: T
|
||||
Unclassified usage 7 object B: A()
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedInterfaces
|
||||
fun foo() {
|
||||
|
||||
Vendored
+2
-2
@@ -1,2 +1,2 @@
|
||||
Unclassified usage 6 interface T: A
|
||||
Unclassified usage 9 interface U: T
|
||||
Unclassified usage 10 interface U: T
|
||||
Unclassified usage 7 interface T: A
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IGNORE
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
interface <caret>X {
|
||||
|
||||
Vendored
+2
-2
@@ -1,4 +1,4 @@
|
||||
[kotlinTraitDerivedAnonymousObjects.0.kt] Unclassified usage 7 open class A: X {
|
||||
[kotlinTraitDerivedAnonymousObjects.0.kt] Unclassified usage 8 open class A: X {
|
||||
[kotlinTraitDerivedAnonymousObjects.1.kt] Unclassified usage 12 val x = object : X {
|
||||
[kotlinTraitDerivedAnonymousObjects.1.kt] Unclassified usage 9 doSomething(object : A() {}, object: X {})
|
||||
[kotlinTraitDerivedAnonymousObjects.1.kt] Unclassified usage 9 doSomething(object : A() {}, object: X {})
|
||||
[kotlinTraitDerivedAnonymousObjects.1.kt] Unclassified usage 9 doSomething(object : A() {}, object: X {})
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
interface <caret>X {
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
[kotlinTraitDerivedClasses.0.kt] Unclassified usage 7 open class A: X {
|
||||
[kotlinTraitDerivedClasses.0.kt] Unclassified usage 8 open class A: X {
|
||||
[kotlinTraitDerivedClasses.1.kt] Unclassified usage 3 open class B: A() {
|
||||
[kotlinTraitDerivedClasses.1.kt] Unclassified usage 7 open class C: Y {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
interface <caret>X {
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
[kotlinTraitDerivedInnerClasses.0.kt] Unclassified usage 7 open class A: X {
|
||||
[kotlinTraitDerivedInnerClasses.0.kt] Unclassified usage 8 open class A: X {
|
||||
[kotlinTraitDerivedInnerClasses.1.kt] Unclassified usage 4 open class B: A() {
|
||||
[kotlinTraitDerivedInnerClasses.1.kt] Unclassified usage 8 open class C: Y {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
interface <caret>X {
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
[kotlinTraitDerivedInnerObjects.0.kt] Unclassified usage 7 open class A: X {
|
||||
[kotlinTraitDerivedInnerObjects.0.kt] Unclassified usage 8 open class A: X {
|
||||
[kotlinTraitDerivedInnerObjects.1.kt] Unclassified usage 4 object O1: A() {
|
||||
[kotlinTraitDerivedInnerObjects.1.kt] Unclassified usage 9 object O2: X {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
interface <caret>X {
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
[kotlinTraitDerivedLocalClasses.0.kt] Unclassified usage 7 open class A: X {
|
||||
[kotlinTraitDerivedLocalClasses.0.kt] Unclassified usage 8 open class A: X {
|
||||
[kotlinTraitDerivedLocalClasses.1.kt] Unclassified usage 5 open class B: A() {
|
||||
[kotlinTraitDerivedLocalClasses.1.kt] Unclassified usage 9 open class C: Y {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
interface <caret>X {
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
[kotlinTraitDerivedLocalObjects.0.kt] Unclassified usage 7 open class A: X {
|
||||
[kotlinTraitDerivedLocalObjects.0.kt] Unclassified usage 8 open class A: X {
|
||||
[kotlinTraitDerivedLocalObjects.1.kt] Unclassified usage 10 object O2: X {
|
||||
[kotlinTraitDerivedLocalObjects.1.kt] Unclassified usage 5 object O1: A() {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedInterfaces
|
||||
interface <caret>X {
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedClasses
|
||||
interface <caret>X {
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
[kotlinTraitDerivedObjects.0.kt] Unclassified usage 7 open class A: X {
|
||||
[kotlinTraitDerivedObjects.0.kt] Unclassified usage 8 open class A: X {
|
||||
[kotlinTraitDerivedObjects.1.kt] Unclassified usage 3 object O1: A() {
|
||||
[kotlinTraitDerivedObjects.1.kt] Unclassified usage 7 object O2: X {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_COMPARISON
|
||||
// PSI_ELEMENT: org.jetbrains.kotlin.psi.KtClass
|
||||
// OPTIONS: derivedInterfaces
|
||||
interface <caret>X {
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
[kotlinTraitDerivedTraits.0.kt] Unclassified usage 11 interface Y: X {
|
||||
[kotlinTraitDerivedTraits.0.kt] Unclassified usage 12 interface Y: X {
|
||||
[kotlinTraitDerivedTraits.1.kt] Unclassified usage 11 interface Z: A {
|
||||
[kotlinTraitDerivedTraits.1.kt] Unclassified usage 15 interface U: Z {
|
||||
|
||||
Reference in New Issue
Block a user