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>, members: List<D>,
converter: (D) -> Set<RenderedStub<S>>) { converter: (D) -> Set<RenderedStub<S>>) {
members.forEach { member -> members.forEach { member ->
val superMembers: Set<RenderedStub<S>> = (member.overriddenDescriptors as Collection<D>) val memberStubs = converter(member).asSequence()
.asSequence()
.filter { mapper.shouldBeExposed(it) }
.flatMap { converter(it).asSequence() }
.toSet()
this += converter(member) val filteredMemberStubs = if (member.kind.isReal) {
.asSequence() memberStubs
.filterNot { superMembers.contains(it) } } 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 } .map { rendered -> rendered.stub }
.toList() .toList()
} }