Tom Hvitved
c5c80204d5
C#: Rework flow summary implementation
2021-03-24 11:27:01 +01:00
Tom Hvitved
6d6150d051
C#: Change some data-flow toString()s
2021-03-23 16:42:58 +01:00
Tom Hvitved
3c26779f40
Merge pull request #5415 from tamasvajk/feature/async-flow
...
C#: add store step for return statements inside async methods
2021-03-23 13:59:19 +01:00
Tamas Vajk
cd820917bc
Remove duplicate yield return entries from global dataflow test
2021-03-16 21:28:58 +01:00
Tamas Vajk
2541e9cb6a
C#: Handle async data flow in expression bodied callables
2021-03-16 16:32:47 +01:00
Tamas Vajk
732ef92830
C#: add store step for return statements inside async methods
2021-03-16 15:18:00 +01:00
Tamas Vajk
c684b74b3d
C#: Add async dataflow tests
2021-03-16 14:46:16 +01:00
Tom Hvitved
a373a523f6
Data flow: Move C# lambda flow logic into shared library
2021-03-16 13:49:32 +01:00
Tom Hvitved
e1e4016a5c
C#: Fix missing delegate flow
2021-03-16 13:16:23 +01:00
Tom Hvitved
29c6d22163
C#: Add test exposing missing delegate flow
2021-03-16 13:16:23 +01:00
Tom Hvitved
25adcfc39d
C#: Fix missing phi flow
2021-03-16 13:16:23 +01:00
Tom Hvitved
e092b31791
C#: Add test exposing missing phi flow
2021-03-16 13:16:23 +01:00
Tamas Vajk
27048191c8
C#: Add dataflow test for tuple-positional pattern
2021-03-12 17:14:24 +01:00
Tamas Vajk
0defad77dd
C#: Add tuple data flow in patterns
2021-03-09 09:14:24 +01:00
Tom Hvitved
80a7b52f38
C#: Convert data-flow test queries to path-problems
2021-03-09 09:14:24 +01:00
Tom Hvitved
0698bdd907
C#: Restrict tuple read/store steps to tuple deconstructions/constructions
2021-03-09 09:14:24 +01:00
Tamas Vajk
6d409a0050
Fix failing tests
2021-03-09 09:14:24 +01:00
Tamas Vajk
d05a733109
Add more test cases
2021-03-09 09:14:23 +01:00
Tamas Vajk
0ca4bf4267
C#: WIP: Add tuple data flow
2021-03-09 09:14:23 +01:00
Tamas Vajk
6205ec233c
Fix more failing tests
2021-03-02 09:21:24 +01:00
Tom Hvitved
ac67c67ad7
Merge pull request #4998 from hvitved/csharp/shared-base-pre-ssa
...
C#: Use shared SSA implementation for `{Pre,Base}Ssa`
2021-02-26 11:29:07 +01:00
Tom Hvitved
bed66203c1
C#: Use shared SSA implementation for BaseSsa
2021-02-23 14:06:27 +01:00
Tom Hvitved
b0ee508f10
C#: Use shared SSA implementation for PreSsa
2021-02-23 14:06:27 +01:00
Tamas Vajk
7761774f88
Add record .ctor to property data flow summary
2021-02-12 19:54:52 +01:00
Tom Hvitved
6a6644b5c2
C#: Adjust data-flow for with expressions
...
In `x with { Foo = bar }`, instead of having a single data-flow step
`x => x with { Foo = bar }`
we now have two steps:
`x => { Foo = bar }`
and
`{ Foo = bar } => x with { Foo = bar }`
Moreover, `clearsContent` now targets the object initializer instead of the
whole `with` expression, which means that it will only apply to values carried
over from the old object and not those explicitly stored into the new object.
2021-02-12 19:54:52 +01:00
Tamas Vajk
dd9b1d52b5
C#: Initial data-flow for with expressions
2021-02-12 19:54:52 +01:00
Tamás Vajk
1fd244923b
Merge pull request #5052 from tamasvajk/feature/fnptr-df
...
C#: Add data flow 'getARuntimeTarget' predicate to 'FunctionPointerCall'
2021-02-04 08:51:03 +01:00
Tamas Vajk
7d62e33feb
C#: Rework function pointer/delegate call DF
2021-02-01 13:40:03 +01:00
Tamás Vajk
aa35fcafeb
Merge pull request #5018 from tamasvajk/feature/csharp9-binary-pattern-cfg
...
C#: Extract 'and' and 'or' patterns
2021-02-01 09:17:52 +01:00
Tamas Vajk
91152d3a65
Add additional tests to delegate call data flow
2021-01-29 12:02:11 +01:00
Tamas Vajk
191962f64c
C#: Add data flow 'getARuntimeTarget' predicate to 'FunctionPointerCall'
2021-01-29 12:01:38 +01:00
Tom Hvitved
6ee5cdf2b2
C#: Simpler data-flow modelling of parameters
2021-01-28 10:34:47 +01:00
Tamas Vajk
669e207600
Fix sign analysis expected file
2021-01-27 16:40:56 +01:00
Tom Hvitved
6ffeaf8c2a
C#: Adjust flow into phi nodes
2021-01-25 15:44:37 +01:00
Tom Hvitved
38b0f743cb
C#: Add test that illustrates problem with flow through phi nodes
2021-01-25 14:20:27 +01:00
Tom Hvitved
2a8060102d
C#: Split up SSA implementation
2021-01-19 10:52:50 +01:00
Tom Hvitved
63f76b1b43
C#: Uniform treatment of all SSA definitions
2021-01-07 15:16:44 +01:00
Tom Hvitved
8d77f4bac9
C#: Remove ImplicitUntrackedDefinition
2021-01-07 15:16:39 +01:00
Tom Hvitved
c571e42cd5
C#: Move internal CFG logic into separate file
2020-11-21 19:49:17 +01:00
Tom Hvitved
94deed39a2
C#: Represent all expressions in post-order in the CFG
2020-11-12 20:04:48 +01:00
Tom Hvitved
202f7f07ec
C#: Update modulus analysis tests
2020-11-12 20:04:48 +01:00
Tom Hvitved
c5abf29dfc
C#: Update flow-summary test
2020-11-03 20:28:42 +01:00
Tamás Vajk
7c3964a388
Merge pull request #4543 from tamasvajk/feature/configureawait
...
C#: Add flow summary for 'Task.ConfigureAwait()'
2020-10-28 10:42:44 +01:00
Tom Hvitved
03a36760b8
C#: Add data-flow test for ConfigureAwait()
2020-10-27 10:23:39 +01:00
Tamas Vajk
342a711296
C#: Add flow summary for 'Task.ConfigureAwait()'
2020-10-27 10:23:39 +01:00
Tom Hvitved
212b49f3dc
Merge pull request #4416 from hvitved/csharp/dataflow/tuples
...
C#: Add flow summaries for `System.[Value]Tuple`
2020-10-26 13:48:24 +01:00
Tom Hvitved
492b1141ef
Merge pull request #4445 from hvitved/csharp/sign-analysis-cfg
...
C#: Use CFG nodes instead of AST nodes in sign/modulus analysis
2020-10-26 09:45:38 +01:00
Tom Hvitved
d48a6a5555
C#: Update expected test output
2020-10-16 09:04:58 +02:00
Tom Hvitved
8728017328
C#: Increase fieldFlowBranchLimit in test
...
68014fd3bf means that more accessors are properly
extracted, and consequently the calls to `get_Item` in the test have more dispatch
targets. Increasing `fieldFlowBranchLimit` makes the test pass again.
2020-10-15 10:40:19 +02:00
Tom Hvitved
91806da2fa
C#: Address review comments
2020-10-14 14:15:34 +02:00