[AA] KtPsiBasedSymbolPointer: add class type check
^KT-54311
This commit is contained in:
committed by
Space Team
parent
4dc7b6dddc
commit
fe93f49ff7
+2
-2
@@ -47,9 +47,9 @@ internal class KtFe10DescAnonymousFunctionSymbol(
|
||||
get() = withValidityAssertion { descriptor.createContextReceivers(analysisContext) }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtAnonymousFunctionSymbol> = withValidityAssertion {
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource<KtAnonymousFunctionSymbol>(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean = isEqualTo(other)
|
||||
override fun hashCode(): Int = calculateHashCode()
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ internal class KtFe10DescAnonymousObjectSymbol(
|
||||
get() = withValidityAssertion { descriptor.typeConstructor.supertypes.map { it.toKtType(analysisContext) } }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtAnonymousObjectSymbol> = withValidityAssertion {
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource<KtAnonymousObjectSymbol>(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean = isEqualTo(other)
|
||||
|
||||
+1
-1
@@ -49,7 +49,7 @@ internal class KtFe10DescConstructorSymbol(
|
||||
}
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtConstructorSymbol> = withValidityAssertion {
|
||||
val pointerByPsi = KtPsiBasedSymbolPointer.createForSymbolFromSource(this)
|
||||
val pointerByPsi = KtPsiBasedSymbolPointer.createForSymbolFromSource<KtConstructorSymbol>(this)
|
||||
if (pointerByPsi != null) {
|
||||
return pointerByPsi
|
||||
}
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ internal class KtFe10DescEnumEntrySymbol(
|
||||
get() = withValidityAssertion { descriptor.name }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtEnumEntrySymbol> = withValidityAssertion {
|
||||
val pointerByPsi = KtPsiBasedSymbolPointer.createForSymbolFromSource(this)
|
||||
val pointerByPsi = KtPsiBasedSymbolPointer.createForSymbolFromSource<KtEnumEntrySymbol>(this)
|
||||
if (pointerByPsi != null) {
|
||||
return pointerByPsi
|
||||
}
|
||||
|
||||
+1
-1
@@ -88,7 +88,7 @@ internal class KtFe10DescFunctionSymbol private constructor(
|
||||
get() = withValidityAssertion { descriptor.typeParameters.map { KtFe10DescTypeParameterSymbol(it, analysisContext) } }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtFunctionSymbol> = withValidityAssertion {
|
||||
val pointerByPsi = KtPsiBasedSymbolPointer.createForSymbolFromSource(this)
|
||||
val pointerByPsi = KtPsiBasedSymbolPointer.createForSymbolFromSource<KtFunctionSymbol>(this)
|
||||
if (pointerByPsi != null) {
|
||||
return pointerByPsi
|
||||
}
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ internal class KtFe10DescJavaFieldSymbol(
|
||||
get() = withValidityAssertion { descriptor.returnType.toKtType(analysisContext) }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtJavaFieldSymbol> = withValidityAssertion {
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource<KtJavaFieldSymbol>(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean = isEqualTo(other)
|
||||
|
||||
+1
-1
@@ -111,7 +111,7 @@ internal class KtFe10DescKotlinPropertySymbol(
|
||||
get() = withValidityAssertion { descriptor.isDelegated }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtKotlinPropertySymbol> = withValidityAssertion {
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource<KtKotlinPropertySymbol>(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean = isEqualTo(other)
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ internal class KtFe10DescLocalVariableSymbol(
|
||||
get() = withValidityAssertion { KtSymbolKind.LOCAL }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtLocalVariableSymbol> = withValidityAssertion {
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource<KtLocalVariableSymbol>(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean = isEqualTo(other)
|
||||
|
||||
+1
-1
@@ -84,7 +84,7 @@ internal class KtFe10DescNamedClassOrObjectSymbol(
|
||||
get() = withValidityAssertion { descriptor.declaredTypeParameters.map { KtFe10DescTypeParameterSymbol(it, analysisContext) } }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtNamedClassOrObjectSymbol> = withValidityAssertion {
|
||||
val pointerByPsi = KtPsiBasedSymbolPointer.createForSymbolFromSource(this)
|
||||
val pointerByPsi = KtPsiBasedSymbolPointer.createForSymbolFromSource<KtNamedClassOrObjectSymbol>(this)
|
||||
if (pointerByPsi != null) {
|
||||
return pointerByPsi
|
||||
}
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ internal class KtFe10DescPropertyGetterSymbol(
|
||||
get() = withValidityAssertion { descriptor.extensionReceiverParameter?.type?.toKtType(analysisContext) }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtPropertyGetterSymbol> = withValidityAssertion {
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource<KtPropertyGetterSymbol>(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean = isEqualTo(other)
|
||||
|
||||
+1
-1
@@ -56,7 +56,7 @@ internal class KtFe10DescPropertySetterSymbol(
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtPropertySetterSymbol> {
|
||||
withValidityAssertion {
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource<KtPropertySetterSymbol>(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -65,7 +65,7 @@ internal class KtFe10DescSamConstructorSymbol(
|
||||
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtSamConstructorSymbol> = withValidityAssertion {
|
||||
val pointerByPsi = KtPsiBasedSymbolPointer.createForSymbolFromSource(this)
|
||||
val pointerByPsi = KtPsiBasedSymbolPointer.createForSymbolFromSource<KtSamConstructorSymbol>(this)
|
||||
if (pointerByPsi != null) {
|
||||
return pointerByPsi
|
||||
}
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ internal class KtFe10DescSyntheticJavaPropertySymbol(
|
||||
get() = withValidityAssertion { descriptor.typeParameters.map { it.toKtTypeParameter(analysisContext) } }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtSyntheticJavaPropertySymbol> = withValidityAssertion {
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource<KtSyntheticJavaPropertySymbol>(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean = isEqualTo(other)
|
||||
|
||||
+1
-1
@@ -90,7 +90,7 @@ internal class KtFe10DescSyntheticJavaPropertySymbolForOverride(
|
||||
get() = withValidityAssertion { descriptor.typeParameters.map { it.toKtTypeParameter(analysisContext) } }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtSyntheticJavaPropertySymbol> = withValidityAssertion {
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource<KtSyntheticJavaPropertySymbol>(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean = isEqualTo(other)
|
||||
|
||||
+1
-1
@@ -49,7 +49,7 @@ internal class KtFe10DescTypeAliasSymbol(
|
||||
get() = withValidityAssertion { descriptor.classId }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtTypeAliasSymbol> = withValidityAssertion {
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource<KtTypeAliasSymbol>(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean = isEqualTo(other)
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ internal class KtFe10DescTypeParameterSymbol(
|
||||
get() = withValidityAssertion { descriptor.isReified }
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtTypeParameterSymbol> = withValidityAssertion {
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource<KtTypeParameterSymbol>(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean = isEqualTo(other)
|
||||
|
||||
+1
-1
@@ -68,7 +68,7 @@ internal class KtFe10DescValueParameterSymbol(
|
||||
}
|
||||
|
||||
override fun createPointer(): KtSymbolPointer<KtValueParameterSymbol> = withValidityAssertion {
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
return KtPsiBasedSymbolPointer.createForSymbolFromSource<KtValueParameterSymbol>(this) ?: KtFe10NeverRestoringSymbolPointer()
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean = isEqualTo(other)
|
||||
|
||||
+6
@@ -106,6 +106,12 @@ public class Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated ext
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/primaryConstructorValueParameter.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("primaryConstructorValueParameterAsProperty.kt")
|
||||
public void testPrimaryConstructorValueParameterAsProperty() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/primaryConstructorValueParameterAsProperty.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("propertyReceiverParameter.kt")
|
||||
public void testPropertyReceiverParameter() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user