Tom Hvitved
d333ffb57a
C#: Update to netcoreapp2.2
2019-06-17 13:21:00 +02:00
Tom Hvitved
f408a6ddfc
Merge pull request #1404 from calumgrant/cs/dispose-not-called-on-throw
...
C#: Improvement to cs/dispose-not-called-on-throw
2019-06-17 11:25:16 +02:00
Tom Hvitved
e70f17f260
C#: Remove uses of deprecated ControlFlowGraph module
2019-06-17 10:23:23 +02:00
semmle-qlci
03cf8ef94f
Merge pull request #1422 from hvitved/csharp/switch-expr-completion
...
Approved by calumgrant
2019-06-17 08:33:43 +01:00
Tom Hvitved
97d2813666
C#: Refactor last predicate
...
- Split up the `last` predicate into a non-recursive part `lastNonRec` and a recursive
part `last`.
- Almost all syntactic constructs have a very simple `last` definition; a set of
disjuncts with exactly one recursive call -- those are defined in `lastNonRec`.
- `try` statements and (last) `catch` clauses require multiple recursive calls in
the same disjunct, and are therefore handled in the `last` predicate (as before).
- The benefit is that we only need to take care of the join order in the recursive
call (for non-`try`/`catch` statements) in one place (the predicate `lastRec`),
so we can get rid of many `nomagic`'ed `last`-specialisations.
2019-06-17 09:28:56 +02:00
Denis Levin
da2422cb17
Addressed code review comments
2019-06-14 18:25:17 -07:00
Calum Grant
1e7ce8cd31
Merge pull request #1451 from hvitved/csharp/element-preds
...
C#: Move two predicates from `csharp/Element.qll` to `dotnet/Element.qll`
2019-06-14 16:21:28 +01:00
Tom Hvitved
f56c1df732
C#: Remove deprecated predicates
2019-06-14 13:26:24 +02:00
Calum Grant
8354f813f7
Merge pull request #1419 from hvitved/csharp/stubs
...
C#: Improvements to `Stubs.qll`
2019-06-13 14:17:24 +01:00
Tom Hvitved
8c8929a702
C#: Move two predicates from csharp/Element.qll to dotnet/Element.qll
2019-06-13 13:00:18 +02:00
Tom Hvitved
946be967f8
C#: Break up a big cached stage into multiple stages
...
- Add `Caching.qll` for controlling caching across multiple files.
- Move `isUncertainRefCall()` out of cached module in `Assignable.qll` to avoid
collapsing with CFG stage.
- Remove dependency on `AlwaysNullExpr` in `NullValue::getAnExpr()` to avoid
collapsing with CFG stage.
- Avoid caching pre-SSA library as it should only be used during the CFG construction
stage.
2019-06-12 16:05:45 +02:00
Tom Hvitved
8e38511aeb
C#: Address review comments
2019-06-12 13:21:49 +02:00
Calum Grant
02875721df
C#: Address review comment.
2019-06-12 09:50:03 +01:00
Calum Grant
d055c85ff0
C#: Exclude case from cs/dispose-not-called-on-throw where the disposable is disposed by a UsingStmt, even when explicitly disposed.
2019-06-11 15:20:27 +01:00
Calum Grant
b9d2fc3380
C#: DB upgrade script and stats.
2019-06-11 15:04:39 +01:00
Calum Grant
40481fbf9d
C#: Make SuppressNullableWarningExpr a nonNullValue, and add a test.
2019-06-11 12:45:50 +01:00
Calum Grant
d48ce859eb
C#: Implement nullable warning suppression expressions.
2019-06-11 12:12:29 +01:00
Calum Grant
fc0e34100a
Merge pull request #1397 from hvitved/csharp/lgtm-alerts-suite
...
C#: Make `csharp-alerts-lgtm` a stub
2019-06-10 18:24:41 +01:00
Tom Hvitved
17aad4b0a5
C#: Fix CFG for switch expressions in Boolean/nullness contexts
2019-06-07 15:39:33 +02:00
Tom Hvitved
e538d8e9ac
C#: Add CFG tests for switch expression in Boolean/nullness context
2019-06-07 15:39:28 +02:00
Tom Hvitved
7c802ada40
C#: Improvements to Stubs.qll
...
- Handle keywords.
- Handle `const` fields.
- Handle type parameter constraints.
2019-06-07 14:50:33 +02:00
Calum Grant
c88359b9c7
C#: Fix test.
2019-06-05 09:42:48 +01:00
Calum Grant
9678f8eaba
C#: Fix control flow graph for using declaration statements.
2019-06-04 18:10:49 +01:00
Calum Grant
20752c80c9
C#: Address review comments
2019-06-04 18:10:49 +01:00
Calum Grant
f1bb8b893b
C#: Fix test.
2019-06-04 18:10:49 +01:00
Calum Grant
73c2898666
C#: Minor edits.
2019-06-04 18:10:49 +01:00
Calum Grant
5679a72f37
C#: DB Upgrade script
2019-06-04 18:10:49 +01:00
Calum Grant
d6fac7bfb7
C#: Delete file.
2019-06-04 18:10:49 +01:00
Calum Grant
fa89d2b845
C#: Update stats and test output.
2019-06-04 18:10:49 +01:00
Calum Grant
923fbe4c9e
C#: Implement QL model for using declarations, introducing UsingBlockStmt and a UsingDeclStmt.
2019-06-04 18:10:49 +01:00
Calum Grant
15cd1d274a
C#: Implement using declaration statements.
2019-06-04 18:10:49 +01:00
Calum Grant
ac3a06f77b
C#: Implement null coalescing assignment operator
2019-06-04 18:10:49 +01:00
Calum Grant
599a5b1eef
C#: Make @local_function @modifiable, make LocalFunction extend Modifiable, and extract modifiers for local functions.
2019-06-04 18:10:49 +01:00
Tom Hvitved
ba0aab963f
C#: Make csharp-alerts-lgtm a stub
2019-06-04 15:26:16 +02:00
Tom Hvitved
2d0554a7ee
C#: Address review comments
2019-06-03 16:00:22 +02:00
Tom Hvitved
f95dd6bb35
Guard tests
2019-06-03 16:00:22 +02:00
Tom Hvitved
25cb01ffea
C#: Handle discard variable declarations in switch expressions
2019-06-03 15:50:41 +02:00
Tom Hvitved
8c1cab2d03
C#: Simplify extraction of is expressions and case statements
2019-06-03 15:50:41 +02:00
Calum Grant
032a6b1c7c
Merge pull request #1375 from hvitved/csharp/switch-expr-guard
...
C#: Switch expression guards
2019-06-03 11:15:10 +01:00
Calum Grant
5b8c6d4789
Merge pull request #1377 from hvitved/csharp/useless-upcast
...
C#: Teach `cs/useless-upcast` about disambiguating constructor calls
2019-05-31 06:51:39 +01:00
Calum Grant
59a006e59e
Merge pull request #1368 from hvitved/csharp/cil-nullness
...
CIL: Account for multiple `VariableUpdate::getSource()`s in nullness analysis
2019-05-29 20:55:08 +01:00
Tom Hvitved
6b99e1a1bf
C#: Teach cs/useless-upcast about disambiguating constructor calls
2019-05-29 15:16:08 +02:00
Tom Hvitved
d8482083b9
C#: Add tests for disambiguated constructor calls
2019-05-29 15:14:30 +02:00
Tom Hvitved
884ef4c960
Merge pull request #1362 from calumgrant/cs/cs8/testing
...
C#: Various small C#8 features
2019-05-29 14:00:43 +02:00
Tom Hvitved
c68dfb9d68
C#: Switch expression guards
2019-05-29 13:50:42 +02:00
Tom Hvitved
23ce5bc7bf
Merge pull request #1353 from calumgrant/cs/diagnostic-queries3
...
C#: Add internal queries for extractor and compiler diagnostics
2019-05-29 10:26:41 +02:00
Tom Hvitved
428ad72694
C#: Improve performance of always[Not]NullMethod()
2019-05-29 09:34:54 +02:00
Calum Grant
1b264f73b4
C#: Fix test settings.
2019-05-29 08:15:51 +01:00
Calum Grant
573646fe6a
C#: Various C#8 features:
...
- Async streams (test only)
- Unmanaged generic structs (extractor support)
- Alternate interpolated strings (test only)
- static local function (test only)
2019-05-29 08:12:11 +01:00
Calum Grant
85f275ce73
Merge pull request #1347 from hvitved/csharp/dataflow/this-flow
...
C#: Data flow through `this` parameter
2019-05-28 19:58:01 +01:00