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