FIR resolve: abstract PostponedResolvedAtom & buildCurrentSubstitutor
This commit is contained in:
committed by
Mikhail Glukhikh
parent
a0de50307a
commit
8c67ec8c89
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
|||||||
import org.jetbrains.kotlin.fir.types.*
|
import org.jetbrains.kotlin.fir.types.*
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.resolve.calls.inference.model.ConstraintStorage
|
import org.jetbrains.kotlin.resolve.calls.inference.model.ConstraintStorage
|
||||||
|
import org.jetbrains.kotlin.resolve.calls.model.PostponedResolvedAtomMarker
|
||||||
import org.jetbrains.kotlin.resolve.calls.tasks.ExplicitReceiverKind
|
import org.jetbrains.kotlin.resolve.calls.tasks.ExplicitReceiverKind
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.cast
|
import org.jetbrains.kotlin.utils.addToStdlib.cast
|
||||||
|
|
||||||
@@ -74,6 +75,7 @@ class Candidate(
|
|||||||
lateinit var substitutor: ConeSubstitutor
|
lateinit var substitutor: ConeSubstitutor
|
||||||
|
|
||||||
var argumentMapping: Map<FirExpression, FirValueParameter>? = null
|
var argumentMapping: Map<FirExpression, FirValueParameter>? = null
|
||||||
|
val postponedAtoms = mutableListOf<PostponedResolvedAtomMarker>()
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class CallKind {
|
sealed class CallKind {
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ class CandidateFactory(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun PostponedArgumentsAnalyzer.Context.addSubsystemFromExpression(expression: FirExpression) {
|
fun PostponedArgumentsAnalyzer.Context.addSubsystemFromExpression(expression: FirExpression) {
|
||||||
when (expression) {
|
when (expression) {
|
||||||
is FirFunctionCall -> expression.candidate()?.let { addOtherSystem(it.system.asReadOnlyStorage()) }
|
is FirFunctionCall -> expression.candidate()?.let { addOtherSystem(it.system.asReadOnlyStorage()) }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user