Refactored ReferenceVariantsHelper to allow specifying receiver

This commit is contained in:
Valentin Kipyatkov
2015-08-26 19:19:01 +03:00
parent 6dde70e358
commit fbb37f0154
6 changed files with 60 additions and 42 deletions
@@ -45,8 +45,7 @@ import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
import org.jetbrains.kotlin.types.JetType
import org.jetbrains.kotlin.utils.addIfNotNull
import org.jetbrains.kotlin.utils.addToStdlib.singletonOrEmptyList
import java.util.HashSet
import java.util.LinkedHashSet
import java.util.*
public class KotlinIndicesHelper(
private val resolutionFacade: ResolutionFacade,
@@ -133,9 +132,9 @@ public class KotlinIndicesHelper(
}
private fun receiverValues(expression: JetSimpleNameExpression, bindingContext: BindingContext): Collection<Pair<ReceiverValue, CallType>> {
val receiverPair = ReferenceVariantsHelper.getExplicitReceiverData(expression)
if (receiverPair != null) {
val (receiverExpression, callType) = receiverPair
val receiverData = ReferenceVariantsHelper.getExplicitReceiverData(expression)
if (receiverData != null) {
val (receiverExpression, callType) = receiverData
val expressionType = bindingContext.getType(receiverExpression)
if (expressionType == null || expressionType.isError()) return emptyList()