[FIR] Make all session components abstract classes

This commit is contained in:
Dmitriy Novozhilov
2020-09-08 16:24:02 +03:00
parent caf325934c
commit 8686e3779e
4 changed files with 7 additions and 9 deletions
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
import org.jetbrains.kotlin.fir.types.FirQualifierPart
import org.jetbrains.kotlin.name.ClassId
interface FirQualifierResolver : FirSessionComponent {
fun resolveSymbolWithPrefix(parts: List<FirQualifierPart>, prefix: ClassId): FirClassifierSymbol<*>?
fun resolveSymbol(parts: List<FirQualifierPart>): FirClassifierSymbol<*>?
abstract class FirQualifierResolver : FirSessionComponent {
abstract fun resolveSymbolWithPrefix(parts: List<FirQualifierPart>, prefix: ClassId): FirClassifierSymbol<*>?
abstract fun resolveSymbol(parts: List<FirQualifierPart>): FirClassifierSymbol<*>?
}
@@ -6,12 +6,10 @@
package org.jetbrains.kotlin.fir.resolve
import org.jetbrains.kotlin.fir.FirSessionComponent
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.types.FirTypeRef
interface FirTypeResolver : FirSessionComponent {
fun resolveType(typeRef: FirTypeRef, scope: FirScope, areBareTypesAllowed: Boolean): ConeKotlinType
abstract class FirTypeResolver : FirSessionComponent {
abstract fun resolveType(typeRef: FirTypeRef, scope: FirScope, areBareTypesAllowed: Boolean): ConeKotlinType
}
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.fir.types.FirQualifierPart
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
class FirQualifierResolverImpl(val session: FirSession) : FirQualifierResolver {
class FirQualifierResolverImpl(val session: FirSession) : FirQualifierResolver() {
override fun resolveSymbolWithPrefix(parts: List<FirQualifierPart>, prefix: ClassId): FirClassifierSymbol<*>? {
val symbolProvider = session.firSymbolProvider
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
import org.jetbrains.kotlin.fir.types.impl.FirImplicitBuiltinTypeRef
import org.jetbrains.kotlin.name.ClassId
class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver {
class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver() {
private val symbolProvider by lazy {
session.firSymbolProvider