[FIR] Test for duplicate filtering for overrides from Java
This commit is contained in:
committed by
Space Team
parent
f7dea5bd70
commit
564d44b16d
+6
@@ -46,6 +46,12 @@ public class Fe10IdeNormalAnalysisSourceModuleOverriddenDeclarationProviderTestG
|
|||||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("arraylistSubtype.kt")
|
||||||
|
public void testArraylistSubtype() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/arraylistSubtype.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("backingField.kt")
|
@TestMetadata("backingField.kt")
|
||||||
public void testBackingField() throws Exception {
|
public void testBackingField() throws Exception {
|
||||||
|
|||||||
+6
@@ -46,6 +46,12 @@ public class FirIdeDependentAnalysisSourceModuleOverriddenDeclarationProviderTes
|
|||||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("arraylistSubtype.kt")
|
||||||
|
public void testArraylistSubtype() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/arraylistSubtype.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("backingField.kt")
|
@TestMetadata("backingField.kt")
|
||||||
public void testBackingField() throws Exception {
|
public void testBackingField() throws Exception {
|
||||||
|
|||||||
+6
@@ -46,6 +46,12 @@ public class FirIdeNormalAnalysisSourceModuleOverriddenDeclarationProviderTestGe
|
|||||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("arraylistSubtype.kt")
|
||||||
|
public void testArraylistSubtype() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/arraylistSubtype.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("backingField.kt")
|
@TestMetadata("backingField.kt")
|
||||||
public void testBackingField() throws Exception {
|
public void testBackingField() throws Exception {
|
||||||
|
|||||||
+11
-7
@@ -63,13 +63,17 @@ abstract class AbstractOverriddenDeclarationProviderTest : AbstractAnalysisApiBa
|
|||||||
private fun KtAnalysisSession.getPath(symbol: KtCallableSymbol): String = when (symbol) {
|
private fun KtAnalysisSession.getPath(symbol: KtCallableSymbol): String = when (symbol) {
|
||||||
is KtSyntheticJavaPropertySymbol -> symbol.callableIdIfNonLocal?.toString()!!
|
is KtSyntheticJavaPropertySymbol -> symbol.callableIdIfNonLocal?.toString()!!
|
||||||
else -> {
|
else -> {
|
||||||
val ktDeclaration = symbol.psi as KtDeclaration
|
val ktDeclaration = symbol.psi as? KtDeclaration
|
||||||
ktDeclaration
|
if (ktDeclaration == null) {
|
||||||
.parentsOfType<KtDeclaration>(withSelf = true)
|
symbol.callableIdIfNonLocal?.toString()!!
|
||||||
.map { it.name ?: "<no name>" }
|
} else {
|
||||||
.toList()
|
ktDeclaration
|
||||||
.asReversed()
|
.parentsOfType<KtDeclaration>(withSelf = true)
|
||||||
.joinToString(separator = ".")
|
.map { it.name ?: "<no name>" }
|
||||||
|
.toList()
|
||||||
|
.asReversed()
|
||||||
|
.joinToString(separator = ".")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+6
@@ -46,6 +46,12 @@ public class FirStandaloneNormalAnalysisSourceModuleOverriddenDeclarationProvide
|
|||||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("arraylistSubtype.kt")
|
||||||
|
public void testArraylistSubtype() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/components/symbolDeclarationOverridesProvider/overriddenSymbols/arraylistSubtype.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("backingField.kt")
|
@TestMetadata("backingField.kt")
|
||||||
public void testBackingField() throws Exception {
|
public void testBackingField() throws Exception {
|
||||||
|
|||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
ALL:
|
||||||
|
java/util/ArrayList.size: Int
|
||||||
|
java/util/AbstractCollection.size: Int
|
||||||
|
kotlin/collections/List.size: Int
|
||||||
|
kotlin/collections/Collection.size: Int
|
||||||
|
DIRECT:
|
||||||
|
java/util/ArrayList.size: Int
|
||||||
+15
@@ -0,0 +1,15 @@
|
|||||||
|
class MyList : ArrayList<Int>() {
|
||||||
|
override val size<caret>: Int = 0
|
||||||
|
override fun get(index: Int): Int = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// RESULT
|
||||||
|
// ALL:
|
||||||
|
// java/util/ArrayList.size: Int
|
||||||
|
// java/util/AbstractList.size: Int
|
||||||
|
// java/util/AbstractCollection.size: Int
|
||||||
|
// List.size: Int
|
||||||
|
// Collection.size: Int
|
||||||
|
|
||||||
|
// DIRECT:
|
||||||
|
// java/util/ArrayList.size: Int
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
ALL:
|
||||||
|
java/util/ArrayList.size: Int
|
||||||
|
java/util/AbstractList.size: Int
|
||||||
|
java/util/AbstractCollection.size: Int
|
||||||
|
List.size: Int
|
||||||
|
Collection.size: Int
|
||||||
|
DIRECT:
|
||||||
|
java/util/ArrayList.size: Int
|
||||||
Reference in New Issue
Block a user