Always include declared class methods to framework header

This commit is contained in:
Svyatoslav Scherbina
2019-01-28 17:23:49 +03:00
committed by SvyatoslavScherbina
parent 9ded272398
commit cead418d50
@@ -582,15 +582,21 @@ abstract class ObjCExportHeaderGenerator(
members: List<D>,
converter: (D) -> Set<RenderedStub<S>>) {
members.forEach { member ->
val superMembers: Set<RenderedStub<S>> = (member.overriddenDescriptors as Collection<D>)
.asSequence()
.filter { mapper.shouldBeExposed(it) }
.flatMap { converter(it).asSequence() }
.toSet()
val memberStubs = converter(member).asSequence()
this += converter(member)
.asSequence()
.filterNot { superMembers.contains(it) }
val filteredMemberStubs = if (member.kind.isReal) {
memberStubs
} else {
val superMembers: Set<RenderedStub<S>> = (member.overriddenDescriptors as Collection<D>)
.asSequence()
.filter { mapper.shouldBeExposed(it) }
.flatMap { converter(it).asSequence() }
.toSet()
memberStubs.filterNot { superMembers.contains(it) }
}
this += filteredMemberStubs
.map { rendered -> rendered.stub }
.toList()
}