[Analysis API FIR] fix reference resolve to reified type parameter
This commit is contained in:
committed by
Space Team
parent
b3236c5824
commit
de4224296d
+6
@@ -1987,6 +1987,12 @@ public class Fe10IdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exte
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/multipleBounds.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reifiedTypeParameterInBody.kt")
|
||||
public void testReifiedTypeParameterInBody() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/reifiedTypeParameterInBody.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reified_argumentInFunctionalType.kt")
|
||||
public void testReified_argumentInFunctionalType() throws Exception {
|
||||
|
||||
+9
@@ -241,6 +241,7 @@ internal object FirReferenceResolveHelper {
|
||||
is FirNamedArgumentExpression -> getSymbolsByNameArgumentExpression(expression, analysisSession, symbolBuilder)
|
||||
is FirEqualityOperatorCall -> getSymbolsByEqualsName(fir, session, analysisSession, symbolBuilder)
|
||||
is FirTypeParameter -> getSybmolsByTypeParameter(symbolBuilder, fir)
|
||||
is FirResolvedReifiedParameterReference -> getSymbolsByResolvedReifiedTypeParameterReference(symbolBuilder, fir)
|
||||
else -> handleUnknownFirElement(expression, analysisSession, session, symbolBuilder)
|
||||
}
|
||||
}
|
||||
@@ -461,6 +462,14 @@ internal object FirReferenceResolveHelper {
|
||||
return listOf(symbolBuilder.buildSymbol(fir.symbol))
|
||||
}
|
||||
|
||||
private fun getSymbolsByResolvedReifiedTypeParameterReference(
|
||||
symbolBuilder: KtSymbolByFirBuilder,
|
||||
fir: FirResolvedReifiedParameterReference
|
||||
): List<KtSymbol> {
|
||||
return listOf(symbolBuilder.buildSymbol(fir.symbol))
|
||||
}
|
||||
|
||||
|
||||
private fun getSymbolsByResolvedImport(
|
||||
expression: KtSimpleNameExpression,
|
||||
builder: KtSymbolByFirBuilder,
|
||||
|
||||
+6
@@ -1987,6 +1987,12 @@ public class FirIdeDependentAnalysisSourceModuleReferenceResolveTestGenerated ex
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/multipleBounds.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reifiedTypeParameterInBody.kt")
|
||||
public void testReifiedTypeParameterInBody() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/reifiedTypeParameterInBody.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reified_argumentInFunctionalType.kt")
|
||||
public void testReified_argumentInFunctionalType() throws Exception {
|
||||
|
||||
+6
@@ -1855,6 +1855,12 @@ public class FirIdeNormalAnalysisLibrarySourceModuleReferenceResolveTestGenerate
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/multipleBounds.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reifiedTypeParameterInBody.kt")
|
||||
public void testReifiedTypeParameterInBody() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/reifiedTypeParameterInBody.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reified_argumentInFunctionalType.kt")
|
||||
public void testReified_argumentInFunctionalType() throws Exception {
|
||||
|
||||
+6
@@ -1987,6 +1987,12 @@ public class FirIdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exten
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/multipleBounds.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reifiedTypeParameterInBody.kt")
|
||||
public void testReifiedTypeParameterInBody() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/reifiedTypeParameterInBody.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reified_argumentInFunctionalType.kt")
|
||||
public void testReified_argumentInFunctionalType() throws Exception {
|
||||
|
||||
+6
@@ -1987,6 +1987,12 @@ public class FirStandaloneNormalAnalysisSourceModuleReferenceResolveTestGenerate
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/multipleBounds.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reifiedTypeParameterInBody.kt")
|
||||
public void testReifiedTypeParameterInBody() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/typeParameter/reifiedTypeParameterInBody.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reified_argumentInFunctionalType.kt")
|
||||
public void testReified_argumentInFunctionalType() throws Exception {
|
||||
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
inline fun <reified T> labeledComponent(labelText: String): T = <caret>T::class.java.getConstructor().newInstance()
|
||||
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
Resolved to:
|
||||
0: reified T
|
||||
Reference in New Issue
Block a user