[FIR] Add symbol to all declarations. Get rid of FirSymbolOwner

This commit is contained in:
Dmitriy Novozhilov
2021-06-20 11:42:52 +03:00
parent 39cd1c8504
commit b3e5c6e079
254 changed files with 1305 additions and 1297 deletions
@@ -58,7 +58,7 @@ import org.jetbrains.kotlin.types.TypeApproximatorConfiguration
class FirElementSerializer private constructor(
private val session: FirSession,
private val scopeSession: ScopeSession,
private val containingDeclaration: FirDeclaration?,
private val containingDeclaration: FirDeclaration<*>?,
private val typeParameters: Interner<FirTypeParameter>,
private val extension: FirSerializerExtension,
private val typeTable: MutableTypeTable,
@@ -681,7 +681,7 @@ class FirElementSerializer private constructor(
}
is ConeTypeParameterType -> {
val typeParameter = type.lookupTag.typeParameterSymbol.fir
if (typeParameter in (containingDeclaration as? FirMemberDeclaration)?.typeParameters ?: emptyList()) {
if (typeParameter in (containingDeclaration as? FirMemberDeclaration<*>)?.typeParameters ?: emptyList()) {
builder.typeParameterName = getSimpleNameIndex(typeParameter.name)
} else {
builder.typeParameter = getTypeParameterId(typeParameter)
@@ -820,7 +820,7 @@ class FirElementSerializer private constructor(
)
}
private fun createChildSerializer(declaration: FirDeclaration): FirElementSerializer =
private fun createChildSerializer(declaration: FirDeclaration<*>): FirElementSerializer =
FirElementSerializer(
session, scopeSession, declaration, Interner(typeParameters), extension,
typeTable, versionRequirementTable, serializeTypeTableToFunction = false,
@@ -832,7 +832,7 @@ class FirElementSerializer private constructor(
private fun useTypeTable(): Boolean = extension.shouldUseTypeTable()
private fun FirDeclaration.hasInlineClassTypesInSignature(): Boolean {
private fun FirDeclaration<*>.hasInlineClassTypesInSignature(): Boolean {
// TODO
return false
}
@@ -927,7 +927,7 @@ class FirElementSerializer private constructor(
}
private fun normalizeVisibility(declaration: FirMemberDeclaration): Visibility {
private fun normalizeVisibility(declaration: FirMemberDeclaration<*>): Visibility {
return declaration.visibility.normalize()
}