AA standalone: more tests about resolving properties in nested class/object from binary

This commit is contained in:
Jinseong Jeon
2023-12-07 22:59:39 -08:00
committed by teamcity
parent d603115def
commit 4c7e9f3cbf
15 changed files with 141 additions and 7 deletions
@@ -70,6 +70,12 @@ public class FirStandaloneNormalAnalysisLibraryBinaryModulePsiDeclarationProvide
runTest("analysis/analysis-api/testData/standalone/multiModuleBinary/propertiesInCompanionObject_JvmStatic.kt");
}
@Test
@TestMetadata("propertiesInInnerClass.kt")
public void testPropertiesInInnerClass() throws Exception {
runTest("analysis/analysis-api/testData/standalone/multiModuleBinary/propertiesInInnerClass.kt");
}
@Test
@TestMetadata("propertiesInNamedCompanionObject.kt")
public void testPropertiesInNamedCompanionObject() throws Exception {
@@ -88,9 +94,21 @@ public class FirStandaloneNormalAnalysisLibraryBinaryModulePsiDeclarationProvide
runTest("analysis/analysis-api/testData/standalone/multiModuleBinary/propertiesInNamedCompanionObject_JvmStatic.kt");
}
@Test
@TestMetadata("propertiesInNestedObject.kt")
public void testPropertiesInNestedObject() throws Exception {
runTest("analysis/analysis-api/testData/standalone/multiModuleBinary/propertiesInNestedObject.kt");
}
@Test
@TestMetadata("propertiesInObject.kt")
public void testPropertiesInObject() throws Exception {
runTest("analysis/analysis-api/testData/standalone/multiModuleBinary/propertiesInObject.kt");
}
@Test
@TestMetadata("propertiesInOuterClass.kt")
public void testPropertiesInOuterClass() throws Exception {
runTest("analysis/analysis-api/testData/standalone/multiModuleBinary/propertiesInOuterClass.kt");
}
}
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.analysis.api.standalone.fir.test.cases.components.psiDeclarationProvider
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiField
import com.intellij.psi.PsiMethod
import com.intellij.psi.PsiParameter
import org.jetbrains.kotlin.psi.KtElement
@@ -28,6 +29,14 @@ public object TestPsiElementRenderer {
append(psiElement.name)
}
is KtElement -> psiElement.text
is PsiField -> buildString {
append("PsiField:")
append(psiElement.containingClass?.name)
append(".")
append(psiElement.name)
append(": ")
append(psiElement.type)
}
is PsiMethod -> buildString {
append("PsiMethod:")
append(psiElement.name)