semmle-qlci
fbb7747bd1
Merge pull request #2073 from hvitved/csharp/splitting-joins
...
Approved by calumgrant
2019-10-07 12:22:57 +01:00
Tom Hvitved
8ba94140b1
C#: Use containing type instead of containing method in local function TRAP label
...
This is in order to handle the case where the enclosing callable of a local
function is a lambda expression.
2019-10-06 21:05:34 +02:00
Tom Hvitved
28021d6715
C#: Add test for local function in lambda
2019-10-06 20:50:24 +02: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
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
Calum Grant
39f550b6d2
Merge pull request #2054 from hvitved/csharp/autobuilder/log-cleanup
...
C#: Cleanup more files after failed autobuilder attempt
2019-10-01 15:55:58 +01:00
Calum Grant
b4da63b3f2
Merge pull request #2061 from hvitved/csharp/local-function-label
...
C#: Prepend enclosing method in local function TRAP labels
2019-10-01 15:19:04 +01:00
Jonas Jensen
7434702958
Merge pull request #1735 from rdmarsh2/rdmarsh/cpp/ir-dataflow-def-by-ref-2
...
C++: side effect IR instructions for pointer arguments
2019-10-01 11:35:19 +02:00
Tom Hvitved
413926f675
C#: Prepend enclosing method in local function TRAP labels
2019-10-01 10:25:18 +02: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
Tom Hvitved
4f2ca11d2c
C#: Suppress cs/similar-file alerts
2019-09-30 19:26:02 +02: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
c18d0430de
C#: Cleanup more files after failed autobuilder attempt
2019-09-30 12:08:25 +02:00
Tom Hvitved
b7595ed60e
C#: Remove duplicated class
2019-09-30 09:11:47 +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
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
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
Tom Hvitved
7f18f35f31
C#: Update test
2019-09-25 21:20:45 +02:00
Tom Hvitved
3da438bb84
C#: Handle unbound types in conversion library
...
A constructed type, `C<T>`, where `T` is the type parameter of `C`, is represented
in the database as the corresponding unbound generict type `C<>`. Consequently, the
type conversion library, which only considers `ConstructedType`s, does not handle
all implicit conversions. For example, in
```
interface I<in T1, T2> where T1 : C
```
there should be an implicit conversion from `I<C, T2>` to `I<T1, T2>` (=`I<>`).
2019-09-25 16:24:38 +02:00
Tom Hvitved
c810776413
C#: Update reference conversion test
2019-09-25 15:14:21 +02:00
Tom Hvitved
5a198a39df
C#: Autoformat
2019-09-25 11:52:19 +02:00
Tom Hvitved
afdb788333
C#: Refactor cs/local-not-disposed using data flow library
2019-09-25 09:33:39 +02:00
Tom Hvitved
665564f809
C#: Add more tests for cs/local-not-disposed
2019-09-25 09:33:39 +02:00
AndreiDiaconu1
d6e4a2afef
Autoformat
2019-09-24 17:26:13 +01: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
AndreiDiaconu1
a86a15d280
Fix problem with IsExpr
...
The translation of `IsExpr` created a sanity check to fail since it generated
a Phi node that had only one source: if a variable was declared as part of the `IsExpr`, a conditional branch was generated, and the variable was defined only in the true successor; this has been changes so that the declaration happens before the conditional branch, and the variable is uninitialized (this removed the need for the `isInitializedByElement` predicate from `TranslatedDeclarationBase`, so that has been removed) and only the assignment happens in the true successor block (so now the two inputs of the Phi node are the result of the `Uninitialized` instruction and the `Store` instruction from the true successor block).
2019-09-23 17:37:50 +01:00
AndreiDiaconu1
17e6b80a34
Added C# implementation
2019-09-23 17:31:24 +01:00
AndreiDiaconu1
1dab4e0e26
Initial commit, C++ files
2019-09-23 17:31:24 +01:00