KT-65907: add handling for nested classes #KT-65907 fixed

This commit is contained in:
Artem Olkov
2024-03-01 15:23:54 +01:00
committed by Space Team
parent 8ef2d49ab0
commit a26ffe360c
6 changed files with 83 additions and 10 deletions
@@ -5,13 +5,11 @@
package org.jetbrains.sir.passes.builder
import com.sun.org.apache.xpath.internal.operations.Bool
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.symbols.*
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.name.CallableId
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.isPublic
import org.jetbrains.kotlin.sir.*
@@ -43,13 +41,10 @@ private class PsiToSirTranslationCollector(
private val res: MutableList<SirDeclaration>,
private val checker: PsiToSirTranslation<Boolean>,
private val translator: PsiToSirTranslation<SirDeclaration>,
private val isFirstLevel: Boolean = true,
) : KtTreeVisitorVoid() {
override fun visitClassOrObject(classOrObject: KtClassOrObject) {
if (isFirstLevel) {
classOrObject.checkAndTranslate(null)
}
classOrObject.checkAndTranslate(null)
}
override fun visitNamedFunction(function: KtNamedFunction) {
@@ -121,7 +116,6 @@ internal fun buildSirClassFromPsi(classOrObject: KtClassOrObject): SirNamedDecla
declarations,
PsiToSirTranslatableChecker(analysisSession),
PsiToSirElementTranslation(analysisSession),
false
)
)
}.also { resultedClass ->