Mathias Vorreiter Pedersen
edb29b498d
Swift: Teach 'DataFlowDispatch' about property getters, observers and setters.
2022-08-24 13:08:26 +01:00
Mathias Vorreiter Pedersen
de03fbdc49
Swift: Accept test changes.
2022-08-24 10:03:21 +01:00
Mathias Vorreiter Pedersen
6e148a4c3f
Swift: Use the inline testing framework for dataflow tests.
2022-08-23 16:31:05 +01:00
Paolo Tranquilli
9b50336e47
Swift: synthesize MethodRefExpr
...
This introduces a `MethodRefExpr` node synthesized out of
`DotSyntaxCallExpr` under the `LookupExpr` hierarchy. This means that
much like
```free_function(1, 2)```
is a `CallExpr` with `getFunction` giving a `DeclRefExpr`,
```foo.method(1, 2)```
is now a `CallExpr` with `getFunction` giving a `MethodRefExpr`.
`ApplyExpr::getStaticTarget` has been made work with it (as well as
`ConstructorRefCallExpr` which for the moment has been left where it
is), a new `MethodApplyExpr` has been introduced deriving from it,
and control and data flow libraries have adapted.
A small but was fixed in `qlgen` where the default constructor for DB
types was not correctly subtracting derived IPA types depending on the
order of definitions in `schema.yml`.
There are still some occurrences of `DotSyntaxCallExpr`, and as already
mentioned the other `SelfApply` class (`ConstructorRefCallExpr`) was
left alone. Their treatment is left for a future PR.
2022-08-19 14:48:36 +02:00
Geoffrey White
1dcc44ff2f
Swift: taintedFromLine -> tainted.
2022-08-11 11:01:05 +01:00
Geoffrey White
d16a7754e1
Swift: Take out common code.
2022-08-10 19:04:01 +01:00
Geoffrey White
d7f50eafae
Swift: Minor fixes.
2022-08-10 19:03:52 +01:00
Geoffrey White
11f45cf20c
Swift: Add expectation annotations.
2022-08-10 18:53:45 +01:00
Geoffrey White
c2ee5fe258
Swift: Add inlineExpectations test.
2022-08-10 18:47:46 +01:00
Geoffrey White
f3499e98a4
Swift: Move try, ! to dataflow.
2022-08-10 15:13:04 +01:00
Geoffrey White
6f696ccc3c
Swift: Effect of merging with main to get the AnyTryExpr fix.
2022-08-09 19:02:59 +01:00
Geoffrey White
36f410b9f7
Swift: Move taint logic from isAdditionalTaintStep to defaultAdditionalTaintStep.
2022-08-09 17:42:28 +01:00
Geoffrey White
242dc80907
Swift: Add taint test of try.
2022-08-09 17:42:25 +01:00
Geoffrey White
3bda9af97a
Swift: Add taint test of Data.
2022-08-09 17:42:24 +01:00
Geoffrey White
42c3e29a29
Swift: Add taint test of URL.
2022-08-09 17:42:23 +01:00
Geoffrey White
068ec8ea20
Swift: More tests of taint flow through Strings.
2022-08-09 16:43:07 +01:00
Geoffrey White
0141609703
Swift: Rename test.
2022-08-09 16:41:26 +01:00
Mathias Vorreiter Pedersen
05e6dd85d4
Swift: Add taint tests for flow through interpolated strings.
2022-08-04 21:57:05 +01:00
Mathias Vorreiter Pedersen
52b78b6e68
Swift: Don't assume we know the call target statically in 'TInOutUpdateNode'.
2022-08-04 21:57:04 +01:00
Robert Marsh
42929a70e8
Swift: implement LambdaCall in dataflow library
2022-06-22 17:30:54 +00:00
Mathias Vorreiter Pedersen
c049988116
Swift: Accept test changes.
2022-06-20 14:57:16 +01:00
Robert Marsh
d7f839a147
Swift: use ExitNode as CFG for InoutReturnNode
2022-06-13 15:50:30 +00:00
Robert Marsh
9f2abf3d47
Swift: more inout dataflow tests
2022-06-13 15:39:17 +00:00
Robert Marsh
755c56dafe
Swift: autoformat
2022-06-09 18:50:39 +00:00
Robert Marsh
fca1afa493
Swift: fix inout parameter conflation at return
2022-06-09 17:09:49 +00:00
Robert Marsh
8d4830cd23
Swift: make dataflow test a path-problem
2022-06-09 17:09:49 +00:00
Robert Marsh
a7663adf90
Swift: add flow through inout parameters
2022-06-09 17:09:49 +00:00
Mathias Vorreiter Pedersen
d8916568b6
Merge branch 'main' into fix-inconsistent-cfg
2022-05-30 14:07:10 +01:00
Mathias Vorreiter Pedersen
ef31aec29e
Swift: Autoformat.
2022-05-30 12:58:12 +01:00
Mathias Vorreiter Pedersen
0d8a9458c6
Merge branch 'main' into rdmarsh2/swift/dataflow-global-flow
2022-05-30 12:46:06 +01:00
Mathias Vorreiter Pedersen
73c189957d
Swift: Fix CFG inconsistencies with StmtConditions.
2022-05-27 09:58:36 +01:00
Mathias Vorreiter Pedersen
795c0110e5
Swift: Accept more test changes.
2022-05-27 09:17:52 +01:00
Robert Marsh
32e4c496f6
Swift: Dataflow through Phi nodes
2022-05-26 17:55:25 +00:00
Robert Marsh
507fdef028
Swift: add more data flow tests
2022-05-26 17:33:12 +00:00
Robert Marsh
81ac648065
Swift: flow out of calls via return statements
2022-05-26 16:58:53 +00:00
Robert Marsh
ae6d16a40f
Swift: flow into callees via params
2022-05-26 16:53:42 +00:00
Robert Marsh
aa77ea6bef
Swift: minimal tests for interprocedural flow
2022-05-25 19:24:34 +00:00
Robert Marsh
9f64622f31
Swift: data flow configurations working
2022-05-25 19:23:43 +00:00
Robert Marsh
d326b3a91c
Swift: global dataflow WIP
2022-05-25 18:54:47 +00:00
Robert Marsh
bba3564187
Swift: adjust for changes in main
2022-05-25 18:52:47 +00:00
Robert Marsh
765e1e1115
Swift: autoformat
2022-05-25 18:26:38 +00:00
Robert Marsh
cf22ade9f3
Swift: initial local data flow implementation
2022-05-25 18:26:37 +00:00