Fix bug in ExpectedActualResolver

'getContributedDescriptors' isn't obliged to apply filters, inlcuding
kindFilter, and may return declarations of different kind, so we have to
call 'filterIsInstance' explicitly
This commit is contained in:
Dmitry Savvinov
2019-06-10 17:49:21 +03:00
parent 3854a323fa
commit 32a102a99d
@@ -136,13 +136,15 @@ object ExpectedActualResolver {
return when (this) {
is FunctionDescriptor -> scopes.flatMap {
it.getContributedDescriptors(DescriptorKindFilter.FUNCTIONS, { it == name })
.filter { it.name == name } as Collection<CallableMemberDescriptor>
it.getContributedDescriptors(DescriptorKindFilter.FUNCTIONS) { it == name }
.filter { it.name == name }
.filterIsInstance<CallableMemberDescriptor>()
}
is PropertyDescriptor -> scopes.flatMap {
it.getContributedDescriptors(DescriptorKindFilter.VARIABLES, { it == name })
.filter { it.name == name } as Collection<CallableMemberDescriptor>
it.getContributedDescriptors(DescriptorKindFilter.VARIABLES) { it == name }
.filter { it.name == name }
.filterIsInstance<CallableMemberDescriptor>()
}
else -> throw AssertionError("Unsupported declaration: $this")