[Analysis API] tests: add possibility to avoid FqName for Kt psi classes in ExpressionMarkerProvider

This commit is contained in:
Ilya Kirillov
2023-05-04 19:48:44 +02:00
parent 176f77c0ef
commit 89dbc4daec
@@ -137,7 +137,9 @@ class ExpressionMarkerProvider : TestService {
fun getSelectedElementOfTypeByDirective(ktFile: KtFile, module: TestModule): PsiElement {
val selectedElement = getSelectedElement(ktFile)
val expectedType = module.directives[Directives.LOOK_UP_FOR_ELEMENT_OF_TYPE].firstOrNull() ?: return selectedElement
@Suppress("UNCHECKED_CAST") val expectedClass = Class.forName(expectedType) as Class<PsiElement>
val ktPsiPackage = "org.jetbrains.kotlin.psi."
val expectedTypeFqName = ktPsiPackage + expectedType.removePrefix(ktPsiPackage)
@Suppress("UNCHECKED_CAST") val expectedClass = Class.forName(expectedTypeFqName) as Class<PsiElement>
if (expectedClass.isInstance(selectedElement)) return selectedElement
return selectedElement.collectDescendantsOfType<PsiElement> {