Geoffrey White
441d4c077a
Update cpp/ql/src/semmle/code/cpp/exprs/Cast.qll
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2020-06-29 13:13:00 +01:00
Nick Rolfe
ab1dc64eea
C++: expand qldoc on MemberFunction::getTypeOfThis()
2020-06-29 11:54:28 +01:00
Mathias Vorreiter Pedersen
6b27652b99
C++: Remove abstractness from a couple of AST classes
2020-06-29 10:27:16 +02:00
Mathias Vorreiter Pedersen
5fbf30590e
C++: Accept test changes.
2020-06-28 20:21:51 +02:00
Mathias Vorreiter Pedersen
9c0f877172
C++: Keep old instruction -> instruction flow in simpleInstructionLocalFlowStep. This means we don't have to add general operand -> instruction to the simpleLocalFlowStep relation, which seems to add a 10% performance regression.
2020-06-28 11:28:43 +02: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
e00a8f7670
Merge pull request #3815 from jbj/getAPrimaryQlClass
...
C++: getCanonicalQLClass -> getAPrimaryQlClass
2020-06-26 13:52:16 -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
Jonas Jensen
a22fb7662e
C++: Autoformat fixup
2020-06-26 16:57:06 +02:00
Nick Rolfe
0ae5fb0357
C++: auto-format test query
2020-06-26 15:35:55 +01:00
Nick Rolfe
309a8e60c8
C++: add more test cases for the type of this
2020-06-26 14:20:46 +01:00
Nick Rolfe
e79625ed14
Accept suggested qldoc change
...
Co-authored-by: Dave Bartolomeo <dbartol@github.com >
2020-06-26 14:20:46 +01:00
Nick Rolfe
9e9d69238a
C++: add test for MemberFunction::getTypeOfThis()
2020-06-26 14:20:46 +01:00
Nick Rolfe
8bd3be6e7b
C++: add MemberFunction::getTypeOfThis()
2020-06-26 14:20:46 +01:00
Nick Rolfe
ca25971955
C++: upgrade script for member_function_this_type
2020-06-26 14:20:45 +01:00
Nick Rolfe
3b15d39ec6
C++: update stats for new member_function_this_type table
2020-06-26 14:20:45 +01:00
Nick Rolfe
133838dbf3
C++: update tests to expect type of this
2020-06-26 14:20:45 +01:00
Nick Rolfe
d1d7fac4ca
C++: add member_function_this_type to dbscheme
2020-06-26 14:20:45 +01: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
c1b26d71c3
C++: getCanonicalQLClass -> getAPrimaryQlClass
...
Also updated the QLDoc for `getAPrimaryQlClass` to match the Go version.
2020-06-26 13:20:36 +02: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
Geoffrey White
168f9404f0
Merge branch 'master' into models5
2020-06-25 17:42:08 +01:00
Geoffrey White
488d41f797
C++: QLDoc Cast.qll.
2020-06-25 17:30:45 +01:00
Geoffrey White
6639d6de83
C++: QLDoc exprs\ObjectiveC.qll (deprecated).
2020-06-25 17:30:45 +01:00
Geoffrey White
1df843c8f6
C++: QLDoc multiple files in the exprs directory.
2020-06-25 17:30:44 +01:00
Geoffrey White
b7730fb1ad
C++: QLDoc PrintfLike.qll.
2020-06-25 17:30:44 +01: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
d526a10981
C++: QLDoc TestFile.qll, StringAnalysis.qll.
2020-06-25 15:20:18 +01: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
Anders Schack-Mulligen
6c679c328d
Dataflow: Refactor dispatch with call context.
2020-06-25 14:28:35 +02: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
Mathias Vorreiter Pedersen
a0bfbda51c
C++: Improve performance by not calling getDef, but instead refer to isDefinitionInexact. This gives roughly the same tuple numbers we had with only instruction nodes.
2020-06-25 13:37:14 +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
f956112042
C++: Autoformat.
2020-06-25 11:48:10 +01:00