Tom Hvitved
af38a2b9c5
Merge branch 'master' into csharp/autoformat/tests
2018-12-20 20:59:10 +01:00
Tom Hvitved
231465143d
C#: Autoformat QL tests
2018-12-20 10:19:59 +01:00
Tom Hvitved
e2f271bddb
C#: Add more guard implication steps
2018-12-14 12:03:32 +00:00
Tom Hvitved
4739a6334e
C#: Fix a bug and generalize guards implication logic
2018-12-03 15:33:00 +01:00
Tom Hvitved
ab9aa7d338
C#: Teach guards library about conditional assignments
...
For example, in
```
void M(object x)
{
var y = x != null ? "" : null;
if (y != null)
x.ToString();
}
```
the guard `y != null` implies that the guard `x != null` must be true.
2018-11-30 17:41:36 +01:00
Tom Hvitved
80144a00c8
C#: Update nullness analyses
...
Port the SSA-based logic from the Java nullness analyses.
2018-11-30 17:41:31 +01:00
calumgrant
08f5c2b6a6
Merge pull request #567 from hvitved/csharp/guards-splitting
...
C#: Account for split SSA definitions in guards library
2018-11-30 14:57:57 +00:00
Tom Hvitved
a12a72e90f
C#: Fix bug in guards library when the guarded expression is in a loop
...
Follow-up on 03e69e9945 .
2018-11-29 15:53:03 +01:00
Tom Hvitved
3eb163f656
C#: Account for split SSA definitions in guards library
...
On 03e69e9945 , I updated the guards library to account
for control flow graph splitting. However, the logic that relates SSA qualifiers for
the guard and the guarded expression was not updated accordingly.
2018-11-28 20:00:13 +01:00
Tom Hvitved
1a25f0a068
C#: Add test for guard inside a split CFG block
2018-11-28 19:59:05 +01:00
Tom Hvitved
03e69e9945
C#: Make guards library work with CFG splitting
2018-11-23 15:20:33 +01:00
Tom Hvitved
228189db5a
C#: Add tests for guards inside split CFG blocks
2018-11-23 15:20:27 +01:00
Tom Hvitved
29f163fd4e
C#: Fix guards implications logic
2018-11-08 20:21:34 +01:00
Tom Hvitved
e4aa196c37
C#: Teach guards library about custom null guards
2018-11-08 20:21:34 +01:00
Tom Hvitved
a5dfc10197
C#: Add tests for custom null guards
2018-11-08 20:21:34 +01:00
Tom Hvitved
5921a9ea51
C#: Teach guards library about assertions
2018-11-08 20:21:34 +01:00
Tom Hvitved
0fb7ddc956
C#: Add assertion guard tests
2018-11-08 20:21:34 +01:00
Tom Hvitved
2d25a04a2e
C#: Add test for guard implications logic
2018-11-05 16:47:10 +01:00
Tom Hvitved
f5e6b79add
C#: Address review comments
2018-11-05 16:14:15 +01:00
Tom Hvitved
e76e448953
C#: Unify logic in guards library
...
Unify the logic for Boolean/nullness/matching guards.
2018-10-30 13:15:15 +01:00
Tom Hvitved
603c3d6a43
C#: Teach null-guards library about pattern matching
2018-10-15 10:55:16 +02:00
Pavel Avgustinov
b55526aa58
QL code and tests for C#/C++/JavaScript.
2018-08-02 17:53:23 +01:00