Dave Bartolomeo
bcd987cdf1
Merge from master and share value numbering
2019-09-27 17:40:43 -07:00
Dave Bartolomeo
f76334c24a
C++, C#: Share unaliased SSA files between languages
...
Most of the C# diffs are from bringing those files in sync with the latest C++ files.
2019-09-27 13:46:42 -07:00
Dave Bartolomeo
5585ccd509
C#: Fix up after merge
2019-09-27 12:33:33 -07:00
Taus
387e21e12c
Merge pull request #2044 from AlexTereshenkov/add-py-query-tag
...
Add tags tag to a Python query
2019-09-27 17:54:54 +02:00
Calum Grant
abdf7ce223
Merge pull request #2045 from AndreiDiaconu1/ircsharp-various-fixes
...
C# IR: Minor sanity fixes
2019-09-27 15:51:07 +01:00
Calum Grant
09f441a27e
Merge pull request #2009 from AndreiDiaconu1/ircsharp-rangeanalysis
...
C# IR: Add range analysis library
2019-09-27 14:27:41 +01:00
AndreiDiaconu1
c5cd5f489f
Autoformat
2019-09-27 13:07:20 +01:00
alexey
70eca91d28
Add tags tag to a Python query
2019-09-27 12:36:38 +01:00
AndreiDiaconu1
f5b31ae9f5
Static fields
...
The translation of static fields now uses `VariableAddress` instead of `FieldAddress`. This fixes the logic as well as the "field address without qualifier address" sanity check.
2019-09-27 12:21:47 +01:00
AndreiDiaconu1
21513102f7
Compiler generated constructor
...
Fixed a problem when the translating the compiler generated constructors that caused some sanity errors (since they have no body, when translating the constructor block fragmentation happened). Fixed this by skipping the translation of the body, if it does not exist (when translating a function).
2019-09-27 12:20:39 +01:00
Dave Bartolomeo
9b8b364c8f
Merge from master
2019-09-26 22:15:02 -07:00
Dave Bartolomeo
c389432922
C++, C#: Sync IRType.qll between languages
2019-09-26 22:11:24 -07:00
Dave Bartolomeo
c8d154e9cc
C#: Fix dump of IR types
2019-09-26 15:54:09 -07:00
Dave Bartolomeo
e30e163081
C#: Implement IRType
...
This commit implements the language-neutral IR type system for C#. It mostly follows the same pattern as C++, modified to fit the C# type system. All object references, pointers, and lvalues are represented as `IRAddress` types. All structs and generic parameters are implemented as `IRBlobType`. Function addresses get a single `IRFunctionAddressType`.
I had to fix a couple places in the original IR type system where I didn't realize I was still depending on language-specific types. As part of this, `CSharpType` and `CppType` now have a `hasUnspecifiedType()` predicate, which is equivalent to `hasType()`, except that it holds only for the unspecified version of the type. This predicate can go away once we remove the IR's references to the underlying `Type` objects.
All C# IR tests pass without modification, but only because this commit continues to print the name of `IRUnknownType` as `null`, and `IRFunctionAddressType` as `glval<null>`. These will be fixed separately in a subsequent commit in this PR.
2019-09-26 15:47:52 -07:00
Geoffrey White
18b28b1b57
Merge pull request #1959 from jbj/const-pmf
...
C++: Classify more expressions as constant
2019-09-26 17:13:27 +01:00
AndreiDiaconu1
a7a5eaa23f
Address PR comments
2019-09-26 16:49:18 +01:00
Calum Grant
e1594a4b0b
Merge pull request #2017 from AndreiDiaconu1/ircsharp-various
...
C# IR: Some minor additions
2019-09-26 15:02:59 +01:00
Max Schaefer
1e7b4c2989
Merge pull request #1953 from asger-semmle/typescript-call-signature-api
...
TS: Make overload index and functions signature more available
2019-09-26 12:42:04 +01:00
AndreiDiaconu1
0999780d82
Address PR comments
2019-09-26 11:51:54 +01:00
AndreiDiaconu1
3a5140c0f5
Indexers and events
...
Added test for indexers.
Added support for event accesses and added test.
2019-09-26 11:46:16 +01:00
AndreiDiaconu1
16d8d2efa1
Remove useless translation
2019-09-26 11:46:16 +01:00
jf205
47a094239c
Merge pull request #2028 from RasmusWL/learnql-fix-formatting
...
Learn QL: Minor formatting fix in python/statements-expressions
2019-09-26 10:34:31 +01:00
Asger F
c2f6855a7b
JS: Update tests
2019-09-26 10:17:58 +01:00
Asger F
cafa9edf69
JS: upgrade script, stats, version string
2019-09-26 10:17:58 +01:00
Asger F
b4f67f20af
JS: Extract types and signatures for functions
2019-09-26 10:17:58 +01:00
Asger F
999d10e1f0
JS: Use consistent indentation
2019-09-26 10:17:58 +01:00
Asger F
405d43d539
JS: Merge CallSignatureTypes test
2019-09-26 10:17:58 +01:00
Asger F
97494290de
JS: Add getOverloadIndex()
2019-09-26 10:17:58 +01:00
Asger F
8ca294ae41
JS: Merge TypeScript/CallSignatures test
2019-09-26 10:17:58 +01:00
Rasmus Wriedt Larsen
c47a4e0c44
Learn QL: Minor formatting fix in python/statements-expressions
2019-09-26 11:16:24 +02:00
Taus
3f3b0e5149
Merge pull request #2013 from RasmusWL/python-random-bag
...
Python: small improvements
2019-09-26 11:08:36 +02:00
jf205
af1bfb2f7e
Merge pull request #2025 from RasmusWL/python-fix-example-link
...
Learn QL: Fix query link in Python Points-to tutorial
2019-09-26 08:26:13 +01:00
Rasmus Wriedt Larsen
c6c565bc37
Learn QL: Fix query link in Python Points-to tutorial
2019-09-25 18:20:48 +02:00
semmle-qlci
24240177c5
Merge pull request #2023 from ian-semmle/agglit
...
Approved by jbj
2019-09-25 11:35:33 +01:00
Ian Lynagh
142e1cb9fb
C++: Implement AggregateLiteral.mayBeImpure()
2019-09-25 10:34:30 +01:00
Jonas Jensen
0aafa0b0e2
C++: Accept test changes in IR sanity queries
...
These looks harmless.
2019-09-25 08:55:55 +02:00
Jonas Jensen
67ae00f0f0
Merge pull request #2019 from zlaski-semmle/zlaski/what-buffer-function
...
Rename references to `BufferFunction` with `ArrayFunction`
2019-09-25 08:33:01 +02:00
Ziemowit Laski
a6d619cfe1
[zlaski/what-buffer-function] Rename CustomModels to Models
2019-09-24 18:17:34 -07:00
Ziemowit Laski
7e14e2a950
[zlaski/what-buffer-function] Rename references to BufferFunction to ArrayFunction.
2019-09-24 18:02:14 -07:00
Dave Bartolomeo
0e432c2405
Merge pull request #1937 from matt-gretton-dann/cpp-432-namespacembrs-unique-key
...
C++: Update test for fix to namespace members
2019-09-24 10:11:55 -07:00
AndreiDiaconu1
d6e4a2afef
Autoformat
2019-09-24 17:26:13 +01:00
Dave Bartolomeo
f5dc8ba3ce
Merge pull request #2005 from AndreiDiaconu1/ircsharp-unaliased
...
C# IR: Unaliased SSA
2019-09-24 09:05:48 -07:00
Rasmus Wriedt Larsen
752615fb56
Python: Fix doc for Expr::isDeletion
2019-09-24 16:56:07 +02:00
Rasmus Wriedt Larsen
f870b21d2f
Python: Use Builtin::special for floats ClassValue
...
We could find no reason for using `Builtin::builtin` instead of
`Builtin::special`. Since all the other base types use `special`, and the old
Object API is using `special`, let's also do that :)
2019-09-24 16:55:49 +02:00
semmle-qlci
0d3edae3fc
Merge pull request #2004 from xiemaisi/js/fix-xss-sanitisers
...
Approved by asger-semmle
2019-09-24 15:44:23 +01:00
Taus
594a50e066
Merge pull request #1955 from RasmusWL/python-modernise-explicit-return-in-init
...
Python: Modernise the `py/explicit-return-in-init` query.
2019-09-24 16:23:37 +02:00
AndreiDiaconu1
3f4713f0f5
Add tests and query
2019-09-24 14:53:12 +01:00
AndreiDiaconu1
1b47f80a7a
C# implementation
2019-09-24 14:53:12 +01:00
AndreiDiaconu1
f25602bf1c
Initial, C++ implementation
2019-09-24 14:53:12 +01:00
AndreiDiaconu1
9228cf83fa
Address PR comments
2019-09-24 14:49:09 +01:00