Commit Graph

4158 Commits

Author SHA1 Message Date
Dave Bartolomeo
87f0b0ef97 C++: QLDoc for EdgeKind.qll 2020-06-29 12:43:50 -04:00
Dave Bartolomeo
440ea6a069 C++: QLDoc for PrintIR.qll 2020-06-29 12:43:50 -04:00
Dave Bartolomeo
2043d9c7c4 C++: QLDoc for Operand.qll 2020-06-29 12:43:50 -04:00
Dave Bartolomeo
ead2a143e0 C++: QLDoc for IRVariable
Moved a couple of predicates that were only needed by IR construction into `TranslatedElement.qll`
2020-06-29 12:43:50 -04:00
Dave Bartolomeo
1423ea0591 C++: More IR.qll QLDoc 2020-06-29 12:43:50 -04:00
Dave Bartolomeo
98348a9353 C++: QLDoc for IR.qll 2020-06-29 12:43:50 -04:00
Dave Bartolomeo
88f89b3334 C++: QLDoc for IRFunction.qll 2020-06-29 12:43:49 -04:00
Dave Bartolomeo
d0af9f5808 C++: QLDoc all of IRBlock.qll 2020-06-29 12:43:49 -04:00
Dave Bartolomeo
77bf564136 C++: Finish Instruction.qll QLDoc 2020-06-29 12:43:49 -04:00
Dave Bartolomeo
6de3d5bc3d C++: Change opcode QLDocs to refer to instruction QLDocs
As discussed in today's C++ analysis team meeting. `Opcode` is rarely used directly, so we'll just refer to the documentation for the corresponding `Instruction` class.

I've preserved the script in case we want to do a bulk change of all of the `Opcode` comments, but I don't expect it will be needed if we just add a new `Opcode` or two.
2020-06-29 12:41:36 -04:00
Dave Bartolomeo
4dcdd8a0ee C++: Add last remaining QLDoc to Opcode.qll 2020-06-26 17:25:30 -04:00
Dave Bartolomeo
bdf121f3b8 C++: Update opcode QLDoc script to handle abstract base classes
This auto-generates even more QLDoc for `Opcode.qll`
2020-06-26 16:04:33 -04:00
Dave Bartolomeo
5f290520ab C++: Accept test diffs due to opcode rename 2020-06-26 13:45:41 -04:00
Dave Bartolomeo
281985b845 C++: Sync Opcode.qll QLDoc with Instruction.qll QLDoc
For every concrete `Opcode`, there is a corresponding `Instruction` class. Rather than duplicate all of the QLDoc by hand, I wrote a quick Python script to copy the QLDoc from `Instruction.qll` to `Opcode.qll`. I don't expect that we will need to do this often, so I'm not hooking it up to a PR check or anything like that, but I did commit the script itself in case we need it again.
2020-06-26 11:42:32 -04:00
Dave Bartolomeo
023e1dc0a2 Instruction and opcode cleanup
- Renamed `DynamicCastToVoid` to the more descriptive `CompleteObjectAddress`
- Split verbose description from summary in a few Instruction QLDoc comments.
- Added `Instruction` classes for the few remaining `Opcode`s that didn't have one.
- Removed a use of "e.g."
2020-06-26 11:39:10 -04:00
Dave Bartolomeo
f48948c604 C++: Opcode cleanup
- Remove unused `MemoryAccessOpcode`
- Make `OpcodeWithCondition` private
- Add QLDoc for `Opcode` module
2020-06-26 09:04:37 -04:00
Mathias Vorreiter Pedersen
beb66299e9 Merge pull request #3796 from dbartol/codeql-c-analysis-team/40/2
C++: QLDoc for all of `Instruction.qll`
2020-06-26 14:04:48 +02:00
Dave Bartolomeo
11c702331a Merge pull request #3795 from rdmarsh2/rdmarsh/cpp/add-qldoc-3
C++: QLDoc for PrintAST and AST-based range analysis
2020-06-26 07:38:10 -04:00
Jonas Jensen
9d8052a434 Merge pull request #3813 from MathiasVP/is-argument-for-parameter-join-order
C++: Improve join order for AliasAnalysis::isArgumentForParameter
2020-06-26 11:34:33 +02:00
Mathias Vorreiter Pedersen
63752dddef C++/C#: Sync identical files 2020-06-26 09:08:44 +02:00
Mathias Vorreiter Pedersen
3af679e83d C++: Put unique around getEnclosingFunction, and specialize function argument, to improve join order. 2020-06-26 09:08:35 +02:00
Dave Bartolomeo
7e3f2dbe4c C++: Improve QLDoc for getElementSize() 2020-06-25 17:04:32 -04:00
Jonas Jensen
d4c5887122 Merge pull request #3807 from geoffw0/qldoc3
C++: Even more QLDoc
2020-06-25 19:29:35 +02:00
Robert Marsh
9a1f909129 C++: Fix QLDoc for PrintAST.qll nodes/edges 2020-06-25 09:07:20 -07:00
Robert Marsh
b3072b9544 Apply suggestions from code review
Co-authored-by: Dave Bartolomeo <dbartol@github.com>
2020-06-25 08:54:17 -07:00
Geoffrey White
7aa44fd357 C++: QLDoc Parameter.qll, Specifier.qll, commons/File.qll. 2020-06-25 14:42:44 +01:00
Geoffrey White
a722bd4bd0 C++: QLDoc UserType.qll. 2020-06-25 14:39:11 +01:00
Geoffrey White
c8fc8af340 C++: QLDoc Struct.qll, TypedefType.qll, Union.qll, Variable.qll. 2020-06-25 14:39:10 +01:00
Geoffrey White
908c3b4005 C++: QLDoc SecurityOptions.qll. 2020-06-25 14:39:10 +01:00
Dave Bartolomeo
b889d3687e C++: Fix QLDoc review feedback 2020-06-25 09:33:43 -04:00
Jonas Jensen
3ce4cff183 Merge pull request #3802 from geoffw0/modeling
C++: 'modelling' -> 'modeling'.
2020-06-25 14:07:57 +02:00
Jonas Jensen
f2ef088d4f Merge pull request #3783 from geoffw0/qldoc2
C++: More QLDoc
2020-06-25 14:06:00 +02:00
Dave Bartolomeo
6dc02c719b C++: Fix typos 2020-06-25 07:19:15 -04:00
Geoffrey White
099e5891ae C++: 'modelling' -> 'modeling'. 2020-06-25 11:50:43 +01:00
Geoffrey White
b515c09946 C++: Autoformat. 2020-06-25 11:46:51 +01:00
Geoffrey White
6201796122 C++: modelling -> modeling
Co-authored-by: Jonas Jensen <jbj@github.com>
2020-06-25 11:42:57 +01:00
Dave Bartolomeo
06a5242d76 Merge pull request #3793 from rdmarsh2/rdmarsh/cpp/ir-range-analysis-experimental
C++: move IR range analysis to experimental
2020-06-24 20:51:07 -04:00
Dave Bartolomeo
2685aa4b8b C++: Use fewer words 2020-06-24 20:42:02 -04:00
Dave Bartolomeo
8b02f121d6 C++: QLDoc for all of Instruction.qll
I think I've now documented every class and public predicate in `Instruction.qll` I've tried to include detailed semantics of each instruction where appropriate.
2020-06-24 20:29:31 -04:00
Robert Marsh
362fbd12dc C++: QLDoc for PrintAST.qll 2020-06-24 16:45:20 -07:00
Robert Marsh
39aaccc1ac C++: Add QLDoc for AST range analysis libraries 2020-06-24 16:29:20 -07:00
Robert Marsh
3e6a19843d Merge pull request #3727 from jbj/tainted-format-string-high
C++: Raise cpp/tainted-format-string* precisions to high
2020-06-24 15:06:13 -07:00
Robert Marsh
fb6e578618 C++: move IR range analysis to experimental 2020-06-24 12:50:14 -07:00
Geoffrey White
ff0a9bfc48 C++: QLDoc Stmt.qll, Block.qll. 2020-06-24 13:57:29 +01:00
Geoffrey White
ed32250636 C++: Deprecate Member.qll. 2020-06-24 13:57:28 +01:00
Geoffrey White
f1aac04bdf C++: Deprecate overly specific parts of Type.qll. 2020-06-24 13:57:28 +01:00
Geoffrey White
e43ddd3f78 C++: QLDoc Type.qll. 2020-06-24 13:57:28 +01:00
Geoffrey White
6bcc1a0220 C++: QLDoc NameQualifiers.qll, Namespace.qll, NestedFields.qll. 2020-06-24 13:57:27 +01:00
Anders Schack-Mulligen
941177ee25 Merge pull request #3762 from hvitved/dataflow/clear-contents
Data flow: Model field clearing
2020-06-24 10:19:50 +02:00
Geoffrey White
afcc6ac712 Merge pull request #3766 from rdmarsh2/rdmarsh/cpp/add-qldoc-3
C++: Add QLDocs for Initializer.qll-Macro.qll and model classes
2020-06-24 07:31:48 +01:00