Tom Hvitved
ade8ff9593
C#: Add more CFG tests
2020-10-30 09:14:12 +01:00
Tom Hvitved
51f71d4e1d
C#: Fix CFG for assertions with multiple assertion arguments
2020-10-29 15:44:13 +01:00
Tom Hvitved
5cd707f17e
C#: Add CFG test for assertion with multiple assertion arguments
2020-10-29 15:44:13 +01:00
Tom Hvitved
ca4e5014ae
C#: Include compiler-generated array lengths in the CFG
2020-10-08 10:35:50 +02:00
Tom Hvitved
ce8567c64a
Merge pull request #4293 from hvitved/csharp/cfg/assertions
...
C#: Model assertions in the CFG
2020-10-08 10:32:13 +02:00
Tom Hvitved
9c503c1591
C#: Add more data/control-flow tests
2020-10-07 17:10:01 +02:00
Tom Hvitved
1a93090778
C#: Improve guards SSA logic in the context of control-flow splitting
2020-10-02 18:00:34 +02:00
Tom Hvitved
f1d6f7cd0c
C#: Model assertions in the CFG
2020-10-02 17:56:41 +02:00
Tom Hvitved
17f0ac4b20
C#: Add more CFG assertion tests
2020-10-02 15:35:33 +02:00
Tamas Vajk
48bf6d55aa
C#: Add implicit cast from array to pointer
2020-09-23 17:21:38 +02:00
Tamas Vajk
5f96c37b28
C#: Fix switch case expression types
2020-09-22 13:16:31 +02:00
Tom Hvitved
6c716331d9
C#: Skip foreach loop bodies in the CFG when the iteration expression is empty
2020-09-07 15:26:28 +02:00
Tom Hvitved
9e240b7397
C#: Add more CFG loop unrolling tests
2020-09-07 15:26:25 +02:00
Tom Hvitved
c7f776984f
C#: Add CFG tests for callables with multiple implementations
2020-09-02 10:52:05 +02:00
Tom Hvitved
b205702853
C#: Fix bug in guards logic for foreach loops
2020-08-28 15:19:11 +02:00
Tom Hvitved
ddb33c914b
C#: Add test that demonstrates issue with guards logic for foreach statements
2020-08-28 15:13:18 +02:00
Tom Hvitved
527a099a26
C#: Fix CFG for conditional method calls with out parameters
2020-07-02 13:12:53 +02:00
Tom Hvitved
090205d9e9
C#: Add CFG test for conditional call to method with out parameter
2020-07-02 13:09:40 +02:00
Tom Hvitved
7a54a90e61
C#: Fix CFG for C# 6 initializers
2020-05-20 12:01:22 +02:00
Tom Hvitved
36e29e0f75
C#: Add CFG tests for C# 6 initializers
2020-05-20 09:33:51 +02:00
Tom Hvitved
5b5f9adfc6
C#: Add missing CFG edge from generic catch block to finally block
2020-04-23 08:45:11 +02:00
Tom Hvitved
bd075a7de0
C#: Add CFG test
2020-04-23 08:45:11 +02:00
Calum Grant
bc1b2c3ead
C#: Address review comment
2020-01-07 18:39:52 +00:00
Calum Grant
359dea2c2b
C#: Fixed test output.
2020-01-07 18:39:52 +00:00
Calum Grant
a1bedf2e06
C#: Use expression flow state to determine non-null guards
2020-01-07 18:39:51 +00:00
Calum Grant
2eb29224e8
C#: Update guards tests.
2020-01-07 18:39:51 +00:00
Calum Grant
4b0a149704
C#: Update qltest output.
2019-12-06 12:41:20 +00:00
Calum Grant
fdc8abce4d
C#: Fix CFG by removing unnecessary edge.
2019-09-20 14:22:31 +01:00
Calum Grant
d696235668
C#: Updated CFG for switch statements - note that the last() predicate is incorrect.
2019-09-20 14:22:31 +01:00
Calum Grant
81110dca0a
C#: Add new test for switch statements.
2019-09-20 14:22:31 +01:00
Calum Grant
dd3fb6ca52
Merge pull request #1929 from hvitved/csharp/cfg/finally
...
C#: Fix CFG for nested `finally` blocks
2019-09-19 10:13:31 +01:00
Tom Hvitved
bb83b92c6b
C#: Autoformat
2019-09-18 12:02:59 +02:00
Tom Hvitved
5070270605
C#: Fix CFG for nested finally blocks
2019-09-12 11:44:04 +02:00
Tom Hvitved
b9fa837963
C#: Add new CFG test for try/finally
2019-09-12 11:44:04 +02:00
Tom Hvitved
3d32f3d173
C#: Restructure existing CFG tests for try/finally
2019-09-12 11:44:04 +02:00
Tom Hvitved
170621d1cc
C#: Address review comments
2019-09-09 13:38:23 +02:00
Tom Hvitved
1e7ee8ddad
C#: Loop unrolling for foreach statements
2019-09-01 10:34:51 +02:00
Tom Hvitved
1bfef706e2
C#: Add loop unrolling tests
2019-09-01 10:34:51 +02:00
Tom Hvitved
bb735c0220
C#: Teach guards library about collections
2019-09-01 10:34:51 +02:00
Calum Grant
ec61877ce8
Merge pull request #1805 from hvitved/csharp/dataflow/nested-fields
...
C#: Nested field flow
2019-08-30 10:26:10 +01:00
Calum Grant
4dd4167a5a
C#: Update test output (following merge).
2019-08-29 18:22:37 +01:00
Calum Grant
83ab044a73
C#: Update expected test output.
2019-08-29 18:12:58 +01:00
Tom Hvitved
16f40fd45a
C#: Consolidate CFG tests
2019-08-23 15:25:01 +02:00
Tom Hvitved
c5d9d74c0a
C#: Nested field flow
2019-08-23 09:25:05 +02:00
Tom Hvitved
d2f8b0bc20
C#: Handle constructors with member initializers and base() calls in CFG
2019-08-22 10:34:23 +02:00
Tom Hvitved
5d140930d0
C#: Add field initializers to CFG for constructors
...
This commit adds field initializers to the CFG for non-static constructors. For
example, in
```
class C
{
int Field1 = 0;
int Field2 = Field1 + 1;
int Field3;
public C()
{
Field3 = 2;
}
public C(int i)
{
Field3 = 3;
}
}
```
the initializer expressions `Field1 = 0` and `Field2 = Field1 + 1` are added
to the two constructors, mimicking
```
public C()
{
Field1 = 0;
Field2 = Field1 + 1;
Field3 = 2;
}
```
and
```
public C()
{
Field1 = 0;
Field2 = Field1 + 1;
Field3 = 3;
}
```
respectively. This means that we no longer have to synthesize calls, callables,
parameters, and arguments in the data flow library, so much of the work from
d1755500e4 can be simplified.
2019-08-21 16:21:38 +02:00
Tom Hvitved
eb97d7beaa
Revert "C#: Generalize CFG entry/exit nodes to include field/property initializers"
...
This reverts commit b7e732fddb .
2019-08-21 09:55:24 +02:00
Tom Hvitved
b7e732fddb
C#: Generalize CFG entry/exit nodes to include field/property initializers
2019-08-16 13:06:51 +02:00
Calum Grant
b28241ac6d
Merge pull request #1741 from hvitved/csharp/extract-field-inits
...
C#: Extract assignments for field/property initializers
2019-08-16 11:51:37 +01:00
Tom Hvitved
495e5bc628
C#: Extract assignments for field/property initializers
2019-08-15 16:18:23 +02:00