Files
codeql/swift
Paolo Tranquilli 773ef62406 Swift: added trapgen
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.
2022-04-28 12:01:59 +02:00
..
2022-04-28 12:01:59 +02:00
2022-04-28 12:01:59 +02:00
2022-04-12 12:40:59 +02:00
2022-04-12 12:40:59 +02:00
2022-04-28 12:01:59 +02:00
2022-04-28 12:01:59 +02:00
2022-04-14 11:27:41 +02:00

Warning

The Swift codeql package is an experimental and unsupported work in progress.

Usage

Run

bazel run //swift:create-extractor-pack

which will install swift/extractor-pack.

Using --search-path=swift/extractor-pack will then pick up the Swift extractor. You can also use --search-path=swift, as the extractor pack is mentioned in swift/.codeqlmanifest.json.

Notice you can run bazel run :create-extractor-pack if you already are in the swift directory.

Code generation

Make sure to install the pip requirements via

python3 -m pip install -r codegen/requirements.txt

Run

bazel run //swift/codegen

to update generated files. This can be shortened to bazel run codegen if you are in the swift directory.