Use of SourceKitten for generating Swift interfaces of frameworks
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 2.4k
- Forks
- 237
- PR merge metrics
- No merged PRs in 30d
Description
Hi @jpsim
Based on our discussion on twitter I want to tell you a bit more about my use case. I want to receive public interfaces from compiled frameworks, both Swift and Objective-C.
Doing this for frameworks Objective-C works really well when using source.request.editor.open.interface - both for the system and non-system ones. Unfortunately, does not work at all with Swift frameworks - it returns empty results. I want to recreate behavior from swift-ide-test which is described here.
It's about parsing .swiftmodule files and getting public interfaces from them. Using swift-ide-test is not the perfect solution because it's not bundled Swift toolchain. I want to create a tool based on that and shipping binary of swift-ide-test for every Swift toolchain available is not a perfect solution.
If you have some ideas - I would really appreciate hearing them :)
Best Regards,
Kacper
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the reported source.request.editor.open.interface behavior for Swift frameworks and compare it with the swift-ide-test behavior described in the linked Swift users discussion. Investigate how .swiftmodule files could provide public interfaces without bundling swift-ide-test. Done would mean obtaining public interfaces from compiled Swift frameworks while preserving the existing Objective-C behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100