NI: don't collect members if a receiver type is StubType to avoid creating error candidates instead of not crating them at all

^KT-37717 Fixed
This commit is contained in:
Victor Petukhov
2020-07-06 11:06:34 +03:00
parent 989e4293a3
commit eec3a4720c
11 changed files with 79 additions and 2 deletions
@@ -90,8 +90,14 @@ internal class MemberScopeTowerLevel(
private fun collectMembers(
getMembers: ResolutionScope.(KotlinType?) -> Collection<CallableDescriptor>
): Collection<CandidateWithBoundDispatchReceiver> {
val result = ArrayList<CandidateWithBoundDispatchReceiver>(0)
val receiverValue = dispatchReceiver.receiverValue
if (receiverValue.type is StubType) {
return arrayListOf()
}
val result = ArrayList<CandidateWithBoundDispatchReceiver>(0)
receiverValue.type.memberScope.getMembers(receiverValue.type).mapTo(result) {
createCandidateDescriptor(it, dispatchReceiver)
}