Minor. Get rid of UniversalConeInferenceContext
This commit is contained in:
@@ -9,10 +9,10 @@ import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap
|
|||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.inferenceContext
|
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||||
import org.jetbrains.kotlin.fir.scopes.impl.*
|
import org.jetbrains.kotlin.fir.scopes.impl.*
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||||
|
import org.jetbrains.kotlin.fir.typeContext
|
||||||
import org.jetbrains.kotlin.fir.types.*
|
import org.jetbrains.kotlin.fir.types.*
|
||||||
|
|
||||||
abstract class SupertypeSupplier {
|
abstract class SupertypeSupplier {
|
||||||
@@ -87,7 +87,7 @@ private fun createSubstitution(
|
|||||||
}
|
}
|
||||||
else /* StarProjection */ -> {
|
else /* StarProjection */ -> {
|
||||||
ConeTypeIntersector.intersectTypes(
|
ConeTypeIntersector.intersectTypes(
|
||||||
session.inferenceContext(),
|
session.typeContext,
|
||||||
typeParameterSymbol.fir.bounds.map { it.coneTypeUnsafe() }
|
typeParameterSymbol.fir.bounds.map { it.coneTypeUnsafe() }
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.fir.FirSession
|
|||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator
|
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.UniversalConeInferenceContext
|
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||||
import org.jetbrains.kotlin.fir.types.*
|
import org.jetbrains.kotlin.fir.types.*
|
||||||
import org.jetbrains.kotlin.resolve.calls.inference.components.ConstraintIncorporator
|
import org.jetbrains.kotlin.resolve.calls.inference.components.ConstraintIncorporator
|
||||||
@@ -41,7 +40,7 @@ class TypeParameterBasedTypeVariable(val typeParameterSymbol: FirTypeParameterSy
|
|||||||
ConeTypeVariable(typeParameterSymbol.name.identifier)
|
ConeTypeVariable(typeParameterSymbol.name.identifier)
|
||||||
|
|
||||||
class InferenceComponents(
|
class InferenceComponents(
|
||||||
val ctx: UniversalConeInferenceContext,
|
val ctx: ConeInferenceContext,
|
||||||
val session: FirSession,
|
val session: FirSession,
|
||||||
val returnTypeCalculator: ReturnTypeCalculator,
|
val returnTypeCalculator: ReturnTypeCalculator,
|
||||||
val scopeSession: ScopeSession
|
val scopeSession: ScopeSession
|
||||||
|
|||||||
+2
-14
@@ -10,12 +10,11 @@ import org.jetbrains.kotlin.fir.FirSession
|
|||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||||
import org.jetbrains.kotlin.fir.renderWithType
|
import org.jetbrains.kotlin.fir.renderWithType
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.calls.ConeInferenceContext
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.calls.InferenceComponents
|
import org.jetbrains.kotlin.fir.resolve.calls.InferenceComponents
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator
|
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator
|
||||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||||
|
import org.jetbrains.kotlin.fir.typeContext
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
import org.jetbrains.kotlin.types.model.TypeSystemInferenceExtensionContextDelegate
|
|
||||||
|
|
||||||
inline fun <reified T : FirElement> FirBasedSymbol<*>.firUnsafe(): T {
|
inline fun <reified T : FirElement> FirBasedSymbol<*>.firUnsafe(): T {
|
||||||
val fir = this.fir
|
val fir = this.fir
|
||||||
@@ -31,22 +30,11 @@ internal inline var FirExpression.resultType: FirTypeRef
|
|||||||
replaceTypeRef(type)
|
replaceTypeRef(type)
|
||||||
}
|
}
|
||||||
|
|
||||||
interface UniversalConeInferenceContext :
|
|
||||||
ConeInferenceContext, TypeSystemInferenceExtensionContextDelegate
|
|
||||||
|
|
||||||
internal fun FirSession.inferenceContext(): UniversalConeInferenceContext {
|
|
||||||
val session = this
|
|
||||||
return object : UniversalConeInferenceContext {
|
|
||||||
override val session: FirSession
|
|
||||||
get() = session
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
internal fun inferenceComponents(
|
internal fun inferenceComponents(
|
||||||
session: FirSession,
|
session: FirSession,
|
||||||
returnTypeCalculator: ReturnTypeCalculator,
|
returnTypeCalculator: ReturnTypeCalculator,
|
||||||
scopeSession: ScopeSession
|
scopeSession: ScopeSession
|
||||||
): InferenceComponents {
|
): InferenceComponents {
|
||||||
val inferenceContext = session.inferenceContext()
|
val inferenceContext = session.typeContext
|
||||||
return InferenceComponents(inferenceContext, session, returnTypeCalculator, scopeSession)
|
return InferenceComponents(inferenceContext, session, returnTypeCalculator, scopeSession)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user