[Analysis API FIR] more tests for KtSymbolDeclarationOverridesProvider

^KT-64108
This commit is contained in:
Dmitrii Gridin
2023-12-08 18:26:29 +01:00
committed by Space Team
parent 64ebec7955
commit e033fe5ba1
19 changed files with 273 additions and 0 deletions
@@ -58,6 +58,18 @@ public class Fe10IdeNormalAnalysisSourceModuleOverriddenDeclarationProviderTestG
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/backingField.kt");
}
@Test
@TestMetadata("delegateOverrideWithImplicitTypeInsideAnonymousObject.kt")
public void testDelegateOverrideWithImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/delegateOverrideWithImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("delegateOverrideWithoutImplicitTypeInsideAnonymousObject.kt")
public void testDelegateOverrideWithoutImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/delegateOverrideWithoutImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("inAnonymousClass.kt")
public void testInAnonymousClass() throws Exception {
@@ -88,6 +100,18 @@ public class Fe10IdeNormalAnalysisSourceModuleOverriddenDeclarationProviderTestG
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/intersectionOverride2.kt");
}
@Test
@TestMetadata("intersectionOverrideWithImplicitTypeInsideAnonymousObject.kt")
public void testIntersectionOverrideWithImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/intersectionOverrideWithImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("intersectionOverrideWithoutImplicitTypeInsideAnonymousObject.kt")
public void testIntersectionOverrideWithoutImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/intersectionOverrideWithoutImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("javaAccessors.kt")
public void testJavaAccessors() throws Exception {
@@ -117,4 +141,16 @@ public class Fe10IdeNormalAnalysisSourceModuleOverriddenDeclarationProviderTestG
public void testSequenceOfOverrides() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/sequenceOfOverrides.kt");
}
@Test
@TestMetadata("substitutionOverrideWithImplicitTypeInsideAnonymousObject.kt")
public void testSubstitutionOverrideWithImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/substitutionOverrideWithImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("substitutionOverrideWithoutImplicitTypeInsideAnonymousObject.kt")
public void testSubstitutionOverrideWithoutImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/substitutionOverrideWithoutImplicitTypeInsideAnonymousObject.kt");
}
}
@@ -58,6 +58,18 @@ public class FirIdeDependentAnalysisSourceModuleOverriddenDeclarationProviderTes
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/backingField.kt");
}
@Test
@TestMetadata("delegateOverrideWithImplicitTypeInsideAnonymousObject.kt")
public void testDelegateOverrideWithImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/delegateOverrideWithImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("delegateOverrideWithoutImplicitTypeInsideAnonymousObject.kt")
public void testDelegateOverrideWithoutImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/delegateOverrideWithoutImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("inAnonymousClass.kt")
public void testInAnonymousClass() throws Exception {
@@ -88,6 +100,18 @@ public class FirIdeDependentAnalysisSourceModuleOverriddenDeclarationProviderTes
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/intersectionOverride2.kt");
}
@Test
@TestMetadata("intersectionOverrideWithImplicitTypeInsideAnonymousObject.kt")
public void testIntersectionOverrideWithImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/intersectionOverrideWithImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("intersectionOverrideWithoutImplicitTypeInsideAnonymousObject.kt")
public void testIntersectionOverrideWithoutImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/intersectionOverrideWithoutImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("javaAccessors.kt")
public void testJavaAccessors() throws Exception {
@@ -117,4 +141,16 @@ public class FirIdeDependentAnalysisSourceModuleOverriddenDeclarationProviderTes
public void testSequenceOfOverrides() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/sequenceOfOverrides.kt");
}
@Test
@TestMetadata("substitutionOverrideWithImplicitTypeInsideAnonymousObject.kt")
public void testSubstitutionOverrideWithImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/substitutionOverrideWithImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("substitutionOverrideWithoutImplicitTypeInsideAnonymousObject.kt")
public void testSubstitutionOverrideWithoutImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/substitutionOverrideWithoutImplicitTypeInsideAnonymousObject.kt");
}
}
@@ -58,6 +58,18 @@ public class FirIdeNormalAnalysisSourceModuleOverriddenDeclarationProviderTestGe
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/backingField.kt");
}
@Test
@TestMetadata("delegateOverrideWithImplicitTypeInsideAnonymousObject.kt")
public void testDelegateOverrideWithImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/delegateOverrideWithImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("delegateOverrideWithoutImplicitTypeInsideAnonymousObject.kt")
public void testDelegateOverrideWithoutImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/delegateOverrideWithoutImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("inAnonymousClass.kt")
public void testInAnonymousClass() throws Exception {
@@ -88,6 +100,18 @@ public class FirIdeNormalAnalysisSourceModuleOverriddenDeclarationProviderTestGe
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/intersectionOverride2.kt");
}
@Test
@TestMetadata("intersectionOverrideWithImplicitTypeInsideAnonymousObject.kt")
public void testIntersectionOverrideWithImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/intersectionOverrideWithImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("intersectionOverrideWithoutImplicitTypeInsideAnonymousObject.kt")
public void testIntersectionOverrideWithoutImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/intersectionOverrideWithoutImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("javaAccessors.kt")
public void testJavaAccessors() throws Exception {
@@ -117,4 +141,16 @@ public class FirIdeNormalAnalysisSourceModuleOverriddenDeclarationProviderTestGe
public void testSequenceOfOverrides() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/sequenceOfOverrides.kt");
}
@Test
@TestMetadata("substitutionOverrideWithImplicitTypeInsideAnonymousObject.kt")
public void testSubstitutionOverrideWithImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/substitutionOverrideWithImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("substitutionOverrideWithoutImplicitTypeInsideAnonymousObject.kt")
public void testSubstitutionOverrideWithoutImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/substitutionOverrideWithoutImplicitTypeInsideAnonymousObject.kt");
}
}
@@ -58,6 +58,18 @@ public class FirStandaloneNormalAnalysisSourceModuleOverriddenDeclarationProvide
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/backingField.kt");
}
@Test
@TestMetadata("delegateOverrideWithImplicitTypeInsideAnonymousObject.kt")
public void testDelegateOverrideWithImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/delegateOverrideWithImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("delegateOverrideWithoutImplicitTypeInsideAnonymousObject.kt")
public void testDelegateOverrideWithoutImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/delegateOverrideWithoutImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("inAnonymousClass.kt")
public void testInAnonymousClass() throws Exception {
@@ -88,6 +100,18 @@ public class FirStandaloneNormalAnalysisSourceModuleOverriddenDeclarationProvide
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/intersectionOverride2.kt");
}
@Test
@TestMetadata("intersectionOverrideWithImplicitTypeInsideAnonymousObject.kt")
public void testIntersectionOverrideWithImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/intersectionOverrideWithImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("intersectionOverrideWithoutImplicitTypeInsideAnonymousObject.kt")
public void testIntersectionOverrideWithoutImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/intersectionOverrideWithoutImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("javaAccessors.kt")
public void testJavaAccessors() throws Exception {
@@ -117,4 +141,16 @@ public class FirStandaloneNormalAnalysisSourceModuleOverriddenDeclarationProvide
public void testSequenceOfOverrides() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/sequenceOfOverrides.kt");
}
@Test
@TestMetadata("substitutionOverrideWithImplicitTypeInsideAnonymousObject.kt")
public void testSubstitutionOverrideWithImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/substitutionOverrideWithImplicitTypeInsideAnonymousObject.kt");
}
@Test
@TestMetadata("substitutionOverrideWithoutImplicitTypeInsideAnonymousObject.kt")
public void testSubstitutionOverrideWithoutImplicitTypeInsideAnonymousObject() throws Exception {
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/substitutionOverrideWithoutImplicitTypeInsideAnonymousObject.kt");
}
}
@@ -0,0 +1,14 @@
// IGNORE_FIR
class MyClass {
lateinit var d: IntermediateClass<Int>
val prop = object : IntermediateClass<Int> by d {
override fun isSc<caret>hemeFile(name: CharSequence) = name != "str"
}
}
interface IntermediateClass<SCHEME : Number> : BaseClass<SCHEME, Int> {
}
interface BaseClass<SCHEME : Number, MUTABLE_SCHEME> {
fun isSchemeFile(name: CharSequence) = true
}
@@ -0,0 +1,4 @@
ALL:
BaseClass.isSchemeFile(name: CharSequence): Boolean
DIRECT:
BaseClass.isSchemeFile(name: CharSequence): Boolean
@@ -0,0 +1,4 @@
ALL:
BaseClass.isSchemeFile(name: CharSequence): Boolean
DIRECT:
BaseClass.isSchemeFile(name: CharSequence): Boolean
@@ -0,0 +1,13 @@
class MyClass {
lateinit var d: IntermediateClass<Int>
val prop = object : IntermediateClass<Int> by d {
override fun isSc<caret>hemeFile(name: CharSequence): Boolean = name != "str"
}
}
interface IntermediateClass<SCHEME : Number> : BaseClass<SCHEME, Int> {
}
interface BaseClass<SCHEME : Number, MUTABLE_SCHEME> {
fun isSchemeFile(name: CharSequence): Boolean = true
}
@@ -0,0 +1,5 @@
ALL:
BaseClass.isSchemeFile(name: CharSequence): Boolean
BaseClass.isSchemeFile(name: CharSequence): Boolean
DIRECT:
BaseClass.isSchemeFile(name: CharSequence): Boolean
@@ -0,0 +1,21 @@
// IGNORE_FIR
package second
class MyClass {
val prop = object : B<String> {
override fun foo<caret>(x: String) = Unit
}
}
// FILE: B.kt
interface B<T>: C<T>, D<T>
// FILE: C.kt
interface C<T> {
fun foo(x: T) = Unit
}
// FILE: D.kt
interface D<F> {
fun foo(x: F) = Unit
}
@@ -0,0 +1,20 @@
package second
class MyClass {
val prop = object : B<String> {
override fun foo<caret>(x: String): Unit = Unit
}
}
// FILE: B.kt
interface B<T>: C<T>, D<T>
// FILE: C.kt
interface C<T> {
fun foo(x: T) {}
}
// FILE: D.kt
interface D<F> {
fun foo(x: F) {}
}
@@ -0,0 +1,8 @@
ALL:
C.foo(x: String): Unit
C.foo(x: T): Unit
D.foo(x: T): Unit
C.foo(x: T): Unit
D.foo(x: F): Unit
DIRECT:
C.foo(x: String): Unit
@@ -0,0 +1,12 @@
// IGNORE_FIR
package second
class MyClass {
val prop = object : LazySchemeProcessor<Int, Int>() {
override fun is<caret>SchemeFile(name: CharSequence) = name != "str"
}
}
abstract class LazySchemeProcessor<SCHEME : Number, MUTABLE_SCHEME : SCHEME> {
open fun isSchemeFile(name: CharSequence) = true
}
@@ -0,0 +1,4 @@
ALL:
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean
DIRECT:
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean
@@ -0,0 +1,4 @@
ALL:
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean
DIRECT:
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean
@@ -0,0 +1,11 @@
package second
class MyClass {
val prop = object : LazySchemeProcessor<Int, Int>() {
override fun is<caret>SchemeFile(name: CharSequence): Boolean = name != "str"
}
}
abstract class LazySchemeProcessor<SCHEME : Number, MUTABLE_SCHEME : SCHEME> {
open fun isSchemeFile(name: CharSequence): Boolean = true
}
@@ -0,0 +1,5 @@
ALL:
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean
DIRECT:
LazySchemeProcessor.isSchemeFile(name: CharSequence): Boolean