Taus
90eccbdf76
Merge pull request #836 from markshannon/python-mutating-descriptor
...
Python: Fix up mutating-descriptor query
2019-02-08 15:10:30 +01:00
Jonas Jensen
566eafc706
Merge pull request #823 from dave-bartolomeo/dave/IdentityString
...
C++: Declaration.getIdentityString and Type.getTypeIdentityString
2019-02-08 13:16:02 +01:00
semmle-qlci
7e298cfbbe
Merge pull request #900 from esben-semmle/js/defuse-default
...
Approved by xiemaisi
2019-02-08 11:28:32 +00:00
semmle-qlci
a48594ad8e
Merge pull request #906 from asger-semmle/q-library
...
Approved by xiemaisi
2019-02-08 11:12:50 +00:00
semmle-qlci
0558b58193
Merge pull request #907 from asger-semmle/reapply-closure-modules
...
Approved by xiemaisi
2019-02-08 09:23:47 +00:00
ian-semmle
f337c9faf4
Merge pull request #888 from dave-bartolomeo/dave/Capture
...
C++: Update captures test for closure fields extractor fix
2019-02-07 22:54:01 +00:00
Dave Bartolomeo
1e7dcedcdf
C++: Fix semantic merge conflict
2019-02-07 14:32:26 -08:00
Dave Bartolomeo
283991d520
C++: Handle ProxyClass in getIdentityString()
2019-02-07 14:26:01 -08:00
Dave Bartolomeo
3414c105c6
C++: Hoist getTemplateArgument() and friends into Declaration
2019-02-07 14:26:01 -08:00
Dave Bartolomeo
1c6b14e505
C++: Remove deprecation of getFullSignature() until we can fix internal tests to use getIdentityString()
2019-02-07 14:26:01 -08:00
Dave Bartolomeo
dbe12e7d02
C++: More PR feedback
2019-02-07 14:26:01 -08:00
Dave Bartolomeo
eb7016620b
C++: Fix PR feedback
2019-02-07 14:26:00 -08:00
Dave Bartolomeo
7b54db8ca9
C++: Fix getIdentityString for TemplateParameter
2019-02-07 14:26:00 -08:00
Dave Bartolomeo
5d71d06dbc
C++: Fix test expectation
2019-02-07 14:26:00 -08:00
Dave Bartolomeo
bd4ecc3e91
C++: Declaration.getIdentityString and Type.getTypeIdentityString
...
This PR adds new predicates to `Declaration` and `Type` to get a fully-qualified canonical name for the element, suitable for debugging and dumps. It includes template parameters, cv qualifiers, function parameter and return types, and fully-qualified names for all symbols. These strings are too large to compute in productions queries, so they should be used only for dumps and debugging. Feel free to suggest better names for these predicates.
I've updated PrintAST and PrintIR to use these instead of `Function.getFullSignature()`. The biggest advantage of the new predicates is that they handle lambdas and local classes, which `getQualifiedName` and `getFullSignature` do not. This makes IR and AST dumps much more usable for real-world snapshots.
Along the way, I cleaned up some of our handling of `IntegralType` to use a single table for tracking the signed, unsigned, and canonical versions of each type. The canonical part is new, and was necessary for `getTypeIdentityString` so that `signed int` and `int` both appear as `int`.
2019-02-07 14:26:00 -08:00
semmle-qlci
87c5872bc5
Merge pull request #903 from hvitved/csharp/successor-type-qldoc
...
Approved by calumgrant
2019-02-07 19:38:58 +00:00
Tom Hvitved
0a39e8c34f
Merge pull request #905 from calumgrant/cs/trivial-cil-properties
...
C#: Use CIL analysis when determining trivial properties
2019-02-07 20:38:06 +01:00
Dave Bartolomeo
f460d2c1c3
C++: Fix another test expectation
2019-02-07 09:56:56 -08:00
Dave Bartolomeo
f2a0a86c6d
C++: Update captures test for closure fields extractor fix
2019-02-07 09:56:56 -08:00
Robert Marsh
92ba0919cc
Merge pull request #899 from Semmle/rdmarsh/cpp/IRRename-rebased
...
C++: Rename a few problematic IR APIs
2019-02-07 09:28:59 -08:00
Asger F
9dae08bbcf
JS: fix javadoc
2019-02-07 13:53:29 +00:00
Asger F
c2321045f2
TS: fix import of q.d.ts in test case
2019-02-07 12:37:54 +00:00
calum
65b3771f85
C#: Add changenote.
2019-02-07 12:10:18 +00:00
calum
8afbd2d897
C#: Extend TrivialProperty to also include CIL::TrivialProperty
2019-02-07 12:05:42 +00:00
Asger F
6cc30fe732
JS: add stats for new relations
2019-02-07 12:00:53 +00:00
Asger F
e4b230ba60
Revert "Merge pull request #897 from Semmle/revert-817-closure-modules"
...
This reverts commit 95185345fd , reversing
changes made to b8be66ec48 .
2019-02-07 11:58:38 +00:00
Tom Hvitved
ba575db93b
C#: Add QL doc to SuccessorType.qll
2019-02-07 12:09:09 +01:00
Calum Grant
383e82a3f3
Merge pull request #886 from hvitved/csharp/cfg/restructure
...
C#: Split up `ControlFlowGraph.qll` into multiple files
2019-02-07 11:06:19 +00:00
Tom Hvitved
5f027e1761
Merge pull request #860 from calumgrant/cs/library-flow
...
C#: Refactor LibraryTypeDataFlow
2019-02-07 11:52:05 +01:00
Calum Grant
4274bb136f
Merge pull request #892 from hvitved/csharp/get-arg-for-param-bad-magic
...
C#: Prevent bad magic in `getArgumentForParameter()`
2019-02-07 10:50:21 +00:00
Calum Grant
73d56e1bdb
Merge pull request #881 from hvitved/csharp/remove-get-url
...
C#: Remove `getUrl()` predicate
2019-02-07 10:47:56 +00:00
Esben Sparre Andreasen
5ad83360be
JS: move default parameter values to the DefUse graph
2019-02-07 11:41:36 +01:00
Esben Sparre Andreasen
65530c5edf
JS: add test for js/useless-comparison-test
2019-02-07 11:41:36 +01:00
Esben Sparre Andreasen
55fd948c24
JS: add test for js/trivial-conditional
2019-02-07 11:41:36 +01:00
Esben Sparre Andreasen
f956e570cb
JS: support default destructuring values in the dataflow graph
2019-02-07 11:41:36 +01:00
Esben Sparre Andreasen
687b7f0a7f
JS: exclude direct flow from the RHS in a destructuring assignment
2019-02-07 11:41:36 +01:00
Esben Sparre Andreasen
f333419bb4
JS: add defuse+dataflow tests for destructuring and default values
2019-02-07 11:24:46 +01:00
Jonas Jensen
47ad280e34
Merge pull request #842 from geoffw0/gets
...
CPP: Clean up PotentialBufferOverflow.ql, PotentiallyDangerousFunction.ql
2019-02-07 09:27:00 +01:00
semmle-qlci
b4b37b3a7b
Merge pull request #880 from esben-semmle/js/better-alert-message-1
...
Approved by xiemaisi
2019-02-07 08:01:21 +00:00
Max Schaefer
812cba0fe3
Merge pull request #828 from esben-semmle/js/vue-support-1
...
JS: basic Vue support
2019-02-07 08:00:17 +00:00
Dave Bartolomeo
f6d392089e
C++: Replace getAnOperand().(XXXOperand) with getXXXOperand()
2019-02-06 22:44:53 -08:00
Dave Bartolomeo
4c23ad100e
C++: Rename a few IR APIs
...
There are a few IR APIs that we've found to be confusingly named. This PR renames them to be more consistent within the IR and with the AST API:
`Instruction.getFunction` -> `Instruction.getEnclosingFunction`: This was especially confusing when you'd call `FunctionAddressInstruction.getFunction` to get the function whose address was taken, and wound up with the enclosing function instead.
`Instruction.getXXXOperand` -> `Instruction.getXXX`. Now that `Operand` is an exposed type, we want a way to get a specific `Operand` of an `Instruction`, but more often we want to get the definition instruction of that operand. Now, the pattern is that `getXXXOperand` returns the `Operand`, and `getXXX` is equivalent to `getXXXOperand().getDefinitionInstruction()`.
`Operand.getInstruction` -> `Operand.getUseInstruction`: More consistent with the existing `Operand.getDefinitionInstruction` predicate.
2019-02-06 22:43:49 -08:00
Robert Marsh
97c5b8ee44
Merge pull request #882 from jbj/ir-ConstantAnalysis-perf
...
C++: Speed up IR ConstantAnalysis
2019-02-06 22:29:09 -08:00
Dave Bartolomeo
1f873d0c9c
Merge pull request #890 from aeyerstaylor/more-field-overriding
...
C++: Use more field overriding in IR construction
2019-02-06 17:04:43 -08:00
Max Schaefer
95185345fd
Merge pull request #897 from Semmle/revert-817-closure-modules
...
Revert "JS: Add support for Closure modules"
2019-02-06 18:14:50 +00:00
Asger F
e46e2b2515
Revert "JS: Add support for Closure modules"
2019-02-06 17:30:45 +00:00
calum
ce7e9901cc
C#: Address review comments.
2019-02-06 17:15:43 +00:00
semmle-qlci
b8be66ec48
Merge pull request #887 from asger-semmle/jsdoc-accessors
...
Approved by xiemaisi
2019-02-06 16:30:48 +00:00
semmle-qlci
b13c11017c
Merge pull request #885 from asger-semmle/async-waterfall
...
Approved by xiemaisi
2019-02-06 16:30:17 +00:00
Esben Sparre Andreasen
235625d03a
Merge branch 'master' into js/vue-support-1
2019-02-06 16:57:16 +01:00