Moved method getSmartCastVariantsWithLessSpecificExcluded() into IDE

This commit is contained in:
Valentin Kipyatkov
2016-05-11 18:49:54 +03:00
parent b6c54ac314
commit f6c8ac70fc
5 changed files with 34 additions and 22 deletions
@@ -55,18 +55,6 @@ class SmartCastManager {
return result
}
fun getSmartCastVariantsWithLessSpecificExcluded(
receiverToCast: ReceiverValue,
bindingContext: BindingContext,
containingDeclarationOrModule: DeclarationDescriptor,
dataFlowInfo: DataFlowInfo
): List<KotlinType> {
val variants = getSmartCastVariants(receiverToCast, bindingContext, containingDeclarationOrModule, dataFlowInfo).distinct()
return variants.filter { type ->
variants.none { another -> another !== type && KotlinTypeChecker.DEFAULT.isSubtypeOf(another, type) }
}
}
/**
* @return variants @param receiverToCast may be cast to according to context dataFlowInfo, receiverToCast itself is NOT included
*/