mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
This checks in the trapgen script generating trap entries in C++. The codegen suite has been slightly reorganized, moving the templates directory up one level and chopping everything into smaller bazel packages. Running tests is now done via ``` bazel run //swift/codegen/test ``` With respect to the PoC, the nested `codeql::trap` namespace has been dropped in favour of a `Trap` prefix (or suffix in case of entries) within the `codeql` namespace. Also, generated C++ code is not checked in in git any more, and generated during build. Finally, labels get printed in hex in the trap file. `TrapLabel` is for the moment only default-constructible, so only one single label is possible. `TrapArena`, that is responsible for creating disjoint labels will come in a later commit.
26 lines
448 B
Plaintext
26 lines
448 B
Plaintext
// generated by {{generator}}
|
|
{{#includes}}
|
|
|
|
// from {{src}}
|
|
{{data}}
|
|
{{/includes}}
|
|
|
|
// from {{src}}
|
|
{{#declarations}}
|
|
|
|
{{#is_union}}
|
|
{{lhs}} =
|
|
{{#rhs}}
|
|
{{#first}} {{/first}}{{^first}}| {{/first}}{{type}}
|
|
{{/rhs}};
|
|
{{/is_union}}
|
|
{{#is_table}}
|
|
{{#keyset}}
|
|
#keyset[{{#ids}}{{^first}}, {{/first}}{{id}}{{/ids}}]
|
|
{{/keyset}}
|
|
{{name}}({{#columns}}{{^first}},{{/first}}
|
|
{{lhstype}} {{name}}: {{rhstype}}{{/columns}}
|
|
);
|
|
{{/is_table}}
|
|
{{/declarations}}
|