Allow use contract function by FQN. #KT-29772 fixed

This commit is contained in:
Dmitriy Novozhilov
2019-02-22 13:10:08 +03:00
parent 7072b9d179
commit b484e03fa8
5 changed files with 42 additions and 1 deletions
@@ -308,7 +308,12 @@ fun KtNamedFunction.isContractPresentPsiCheck(): Boolean {
}
fun KtExpression.isContractDescriptionCallPsiCheck(): Boolean =
this is KtCallExpression && calleeExpression?.text == "contract"
(this is KtCallExpression && calleeExpression?.text == "contract") || (this is KtQualifiedExpression && isContractDescriptionCallPsiCheck())
fun KtQualifiedExpression.isContractDescriptionCallPsiCheck(): Boolean {
val expression = selectorExpression ?: return false
return receiverExpression.text == "kotlin.contracts" && expression.isContractDescriptionCallPsiCheck()
}
// ----------- Other -----------------------------------------------------------------------------------------------------------------------