mirror of
https://github.com/github/codeql.git
synced 2025-12-18 01:33:15 +01:00
This allows to avoid bypassing label type correcness in the extractor, and allows to independently resolve TBD extractions, as with this approach TBD nodes do have the correctly typed trap label. The TBD status is now a predicate on the QL side. This requires: * a default visit using the correct type, which is achieved via macro metaprogramming in `VisitorBase.h`, following the way `swift::ASTVisitor` is programmed * a mapping from labels to corresponding binding trap entries. The functor is defined in `TrapTagTraits.h` and instantiated in generated `TrapEntries.h` * Binding trap entries for TBD unknown entities must not have any other field than the `id` (after all, we are supposed to not extract them yet). This is why all unextracted fields in `schema.yml` have been commented out, and will be uncommentend when visitors are added