Revert "FIR body resolve: support variable assignments"

Performed to make long branch rebasing easier
This reverts commit af8c3788
This commit is contained in:
Simon Ogorodnik
2019-04-11 13:59:19 +03:00
committed by Mikhail Glukhikh
parent 935c21f906
commit f1eb66819b
2 changed files with 24 additions and 33 deletions
@@ -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| {