[FIR] Use toFirRegularClassSymbol instead of toFirRegular in checkers

This commit is contained in:
Ivan Kochurkin
2021-09-08 01:17:26 +03:00
committed by TeamCityServer
parent 8cdb79f969
commit 7c6326856b
18 changed files with 94 additions and 65 deletions
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.fir.render
import org.jetbrains.kotlin.fir.renderWithType
import org.jetbrains.kotlin.fir.resolve.firProvider
import org.jetbrains.kotlin.fir.resolve.toFirRegularClass
import org.jetbrains.kotlin.fir.symbols.impl.LookupTagInternals
import org.jetbrains.kotlin.idea.fir.low.level.api.util.getContainingFile
class FirDeclarationDesignationWithFile(
@@ -63,6 +64,7 @@ private fun collectDesignationPath(declaration: FirDeclaration): List<FirDeclara
is FirSimpleFunction, is FirProperty, is FirField, is FirConstructor -> {
val klass = declaration.containingClass() ?: return emptyList()
if (klass.classId.isLocal) return null
@OptIn(LookupTagInternals::class)
klass.toFirRegularClass(declaration.moduleData.session)
}
else -> return null
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.resolve.inference.*
import org.jetbrains.kotlin.fir.resolve.toFirRegularClass
import org.jetbrains.kotlin.fir.resolve.toSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
import org.jetbrains.kotlin.fir.symbols.impl.LookupTagInternals
import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.idea.fir.low.level.api.api.tryCollectDesignation
import org.jetbrains.kotlin.idea.frontend.api.components.KtTypeRendererOptions
@@ -183,6 +184,7 @@ internal class ConeTypeIdeRenderer(
require(isLocal)
var containingClassLookUp = containingClassForLocal()
val designation = mutableListOf<FirClassLikeDeclaration>(this)
@OptIn(LookupTagInternals::class)
while (containingClassLookUp != null && containingClassLookUp.classId.isLocal) {
val currentClass = containingClassLookUp.toFirRegularClass(moduleData.session) ?: break
designation.add(currentClass)
@@ -192,6 +194,7 @@ internal class ConeTypeIdeRenderer(
}
private fun collectDesignationPathForLocal(declaration: FirDeclaration): List<FirDeclaration>? {
@OptIn(LookupTagInternals::class)
val containingClass = when (declaration) {
is FirCallableDeclaration -> declaration.containingClass()?.toFirRegularClass(declaration.moduleData.session)
is FirAnonymousObject -> return listOf(declaration)