[Projection tooling] Add symbols from dynamic library to type database #2918
Open
Description
Description
The Swift runtime exposes metadata accessors, witness tables, and conformance descriptors through native symbols. At bindings time, we projection tooling can't invoke them directly because the target platform may differ. However, the tooling can read these symbols and store them in the type database. These symbols will be consumed by emitters and called at runtime.
Tasks
- [Projection tooling] Implement Demangler query methods #2665
- [Projection tooling] Update demangler to ignore unknown nodes #2954
- Integrate MachO reader and Demangler with the rest of the code
- Read symbols during the post processing step and store them in the type database
- Metadata accessors
- Conformance descriptors
- Async function pointer
- [SwiftBindings] Retrieve metadata information #2892 (comment)
- Replace hardcoded metadata accessors with symbols from the library.
- Add unit tests