Revert "FIR body resolve: support variable assignments"
Performed to make long branch rebasing easier This reverts commit af8c3788
This commit is contained in:
committed by
Mikhail Glukhikh
parent
935c21f906
commit
f1eb66819b
+23
-32
@@ -153,30 +153,6 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn
|
||||
}
|
||||
}
|
||||
|
||||
private fun <T : FirQualifiedAccess> transformCallee(qualifiedAccess: T): T {
|
||||
val callee = qualifiedAccess.calleeReference as? FirSimpleNamedReference ?: return qualifiedAccess
|
||||
|
||||
qualifiedAccess.explicitReceiver?.visitNoTransform(this, null)
|
||||
|
||||
val receiver = qualifiedAccess.explicitReceiver
|
||||
|
||||
//val checkers = listOf(VariableApplicabilityChecker(callee.name))
|
||||
|
||||
val info = CallInfo(true, receiver, 0)
|
||||
val resolver = CallResolver(jump, session)
|
||||
resolver.callInfo = info
|
||||
resolver.scopes = (scopes + localScopes).asReversed()
|
||||
|
||||
val consumer = createVariableConsumer(
|
||||
session, callee.name, qualifiedAccess.explicitReceiver, qualifiedAccess.explicitReceiver?.resultType
|
||||
)
|
||||
val result = resolver.runTowerResolver(consumer)
|
||||
val successCandidates = result.successCandidates()
|
||||
val resultExpression = qualifiedAccess.transformCalleeReference(this, successCandidates) as T
|
||||
if (resultExpression is FirExpression) storeTypeFromCallee(resultExpression)
|
||||
return resultExpression
|
||||
}
|
||||
|
||||
override fun transformQualifiedAccessExpression(
|
||||
qualifiedAccessExpression: FirQualifiedAccessExpression,
|
||||
data: Any?
|
||||
@@ -202,15 +178,30 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn
|
||||
}
|
||||
}
|
||||
}
|
||||
return transformCallee(qualifiedAccessExpression).compose()
|
||||
}
|
||||
val callee = qualifiedAccessExpression.calleeReference as? FirSimpleNamedReference ?: return qualifiedAccessExpression.compose()
|
||||
|
||||
override fun transformVariableAssignment(
|
||||
variableAssignment: FirVariableAssignment,
|
||||
data: Any?
|
||||
): CompositeTransformResult<FirStatement> {
|
||||
variableAssignment.rValue.visitNoTransform(this, null)
|
||||
return transformCallee(variableAssignment).compose()
|
||||
qualifiedAccessExpression.explicitReceiver?.visitNoTransform(this, null)
|
||||
|
||||
val receiver = qualifiedAccessExpression.explicitReceiver
|
||||
|
||||
//val checkers = listOf(VariableApplicabilityChecker(callee.name))
|
||||
|
||||
val info = CallInfo(true, receiver, 0)
|
||||
val resolver = CallResolver(jump, session)
|
||||
resolver.callInfo = info
|
||||
resolver.scopes = (scopes + localScopes).asReversed()
|
||||
|
||||
val consumer = createVariableConsumer(
|
||||
session,
|
||||
callee.name,
|
||||
qualifiedAccessExpression.explicitReceiver,
|
||||
qualifiedAccessExpression.explicitReceiver?.resultType
|
||||
)
|
||||
val result = resolver.runTowerResolver(consumer)
|
||||
val successCandidates = result.successCandidates()
|
||||
val resultExpression = qualifiedAccessExpression.transformCalleeReference(this, successCandidates)
|
||||
storeTypeFromCallee(resultExpression as FirQualifiedAccessExpression)
|
||||
return resultExpression.compose()
|
||||
}
|
||||
|
||||
override fun transformFunctionCall(functionCall: FirFunctionCall, data: Any?): CompositeTransformResult<FirStatement> {
|
||||
|
||||
@@ -5,7 +5,7 @@ FILE: noPrimaryConstructor.kt
|
||||
|
||||
public constructor(x: R|kotlin/String|): R|NoPrimary| {
|
||||
super<R|kotlin/Any|>()
|
||||
this#.R|/NoPrimary.x| = R|<local>/x|
|
||||
this#.x# = R|<local>/x|
|
||||
}
|
||||
|
||||
public constructor(): R|NoPrimary| {
|
||||
|
||||
Reference in New Issue
Block a user