Anders Schack-Mulligen
20084fb3c0
Java: Fix pruning in partialPathStep.
2019-10-08 11:28:53 +02:00
Anders Schack-Mulligen
bf14889077
Java: Refactor to improve performance.
2019-10-08 11:28:35 +02:00
Robert Marsh
b60e7c204d
C++: autoformat and accept test output
2019-10-07 14:07:25 -07:00
Calum Grant
d6bbc51996
C#: Autoformat QL.
2019-10-07 16:10:46 +01:00
Anders Schack-Mulligen
f8123679a1
Java: Qldoc updates.
2019-10-07 16:12:31 +02:00
Anders Schack-Mulligen
75ebc098bb
Java: Fix semantic merge conflict.
2019-10-07 15:42:26 +02:00
Anders Schack-Mulligen
b581e38782
Java: Autoformat and sync post rebase.
2019-10-07 15:26:39 +02:00
Tom Hvitved
ee5503146e
Add stub implementations for isUnreachableInCall()
2019-10-07 15:13:49 +02:00
Tom Hvitved
eabfa31767
Synchronize data flow files
2019-10-07 15:13:48 +02:00
semmle-qlci
fbb7747bd1
Merge pull request #2073 from hvitved/csharp/splitting-joins
...
Approved by calumgrant
2019-10-07 12:22:57 +01:00
Robert Marsh
17e14348d5
C++: sanity test for identical Chi node operands
2019-10-04 12:57:30 -07:00
Calum Grant
2706238413
C#: Update queries to use localExprFlow.
2019-10-04 16:53:02 +01:00
Calum Grant
af25536648
C#: Add localExprFlow and localExprTaint, and change notes.
2019-10-04 16:46:02 +01:00
Tom Hvitved
b55e2948be
Merge pull request #1986 from calumgrant/cs/switch-cfg
...
C#: Fix CFG for switch statements where the default case is not the last
2019-10-04 16:54:04 +02:00
Tom Hvitved
9b58d799cb
Java/C++/C#: Tweak AccessPathNil::toString()
...
Move the type annotation outside the brackets, to avoid prefixes such as
`[ : T]`.
2019-10-04 11:09:44 +02:00
Robert Marsh
6e587f3f2a
IR: Add VariableInstruction.getASTVariable
2019-10-03 13:12:06 -07:00
Robert Marsh
c1e3821ab0
IR: rename getVariable to getIRVariable
2019-10-03 13:10:49 -07:00
Calum Grant
48dee29620
Merge pull request #2021 from hvitved/csharp/local-not-disposed
...
C#: Refactor `cs/local-not-disposed` using data flow library
2019-10-03 15:21:06 +01:00
Tom Hvitved
e5380aa6a7
Merge pull request #2038 from aschackmull/java/dataflow-fixes
...
Java/C++/C#: Misc. dataflow fixes.
2019-10-02 16:39:01 +02:00
Calum Grant
eb893fbc5d
Merge pull request #2024 from hvitved/csharp/conversion-unbound
...
C#: Handle unbound types in conversion library
2019-10-02 15:36:38 +01:00
Tom Hvitved
17085dc05c
C#: Fix typo
2019-10-02 16:26:38 +02:00
Tom Hvitved
6ebefbb67d
C#: Improve a few join-orders in Splitting.qll
2019-10-02 16:23:08 +02:00
Anders Schack-Mulligen
f87cb4d6ac
Java/C++/C#: Address review comments and fix test.
2019-10-02 14:32:17 +02:00
Calum Grant
28c34ad41e
C#: Address review comments.
2019-10-02 10:42:06 +01:00
Robert Marsh
d1e2ddcf99
C#: sync unalised_ssa IR stage and add to check
2019-09-30 12:53:00 -07:00
Robert Marsh
ee3b40bd89
C#: sync changes and accept test output
2019-09-30 12:00:55 -07:00
Robert Marsh
9f20cb83c3
C++/C#: Autoformat
2019-09-30 12:00:55 -07:00
Robert Marsh
8649978a43
C++: add indexes for specific side effects
2019-09-30 12:00:53 -07:00
Robert Marsh
49088e7f09
C++: Fix formatting and dropped line
2019-09-30 12:00:53 -07:00
Robert Marsh
3d562243e4
C++: add side effects for outparams
2019-09-30 12:00:52 -07:00
Calum Grant
ad8ae35c82
Merge pull request #1956 from hvitved/csharp/get-an-out-node
...
C#: Refactor `getAnOutNode()` predicate
2019-09-30 16:58:21 +01:00
Tom Hvitved
b7595ed60e
C#: Remove duplicated class
2019-09-30 09:11:47 +02:00
Dave Bartolomeo
420713204a
C++, C#: Fix typo
2019-09-29 22:44:17 -07:00
Dave Bartolomeo
043e5f716b
C++, C#: Autoformat
2019-09-29 22:39:09 -07:00
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
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
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
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
AndreiDiaconu1
a7a5eaa23f
Address PR comments
2019-09-26 16:49:18 +01:00
Anders Schack-Mulligen
f97958296d
Java/C++/C#: Sync.
2019-09-26 17:12:08 +02: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