Michael Nebel
581824a9b4
C#/Java/Ruby/Swift: Fix various typos.
2022-08-24 09:58:53 +02:00
Michael Nebel
9b16192a7f
Swift: Re-factor CsvValidation into a separate file.
2022-08-24 09:58:52 +02:00
Michael Nebel
54e85ff903
Swift: Remove some of the copied (and dead) language specific (to C#) code from swift.
2022-08-24 09:58:52 +02:00
Michael Nebel
8db454aa15
Swift: Sync files and make dummy negative summary implementation.
2022-08-24 09:58:52 +02:00
Paolo Tranquilli
2fc88d5f8e
Swift: add module to Decl and remove forward traps
...
Add module context to all declarations. As keeping the `std::variant`s
required slightly more work for this, and we intended to remove them
any way, this is done in this change.
For background, we put those in as we were not extracting all modules at
the time, so we were missing some DB ids that we put back in by adding
the "defining" traps not only in the trap file related to the defining
module but also to the one where the declaration was used. Since then
we fixed module extraction, so this should not be needed any more.
2022-08-23 16:53:07 +02:00
Paolo Tranquilli
f0ec43b04c
Swift: remove getMethodDeclaration
...
`getStaticTarget` gives the same result.
2022-08-19 15:37:49 +02:00
Paolo Tranquilli
66459b81da
Swift: use field in MethodApplyExpr
...
Also rename `getMethod` to `getMethodDeclaration` to clear up possible
confusion with `getFunction`.
2022-08-19 15:31:00 +02:00
Paolo Tranquilli
e3f86a9eb0
Swift: fix QL warning
2022-08-19 15:03:18 +02: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
Erik Krogh Kristensen
4f93f2b9ba
Merge pull request #10076 from erik-krogh/ql-for-ql-fixes
...
various QL-for-QL fixes
2022-08-18 15:46:48 +02:00
Tom Hvitved
355c1f5959
Merge pull request #10035 from hvitved/ssa/phi-reads
...
SSA: Improve use-use calculation using "phi read nodes"
2022-08-17 13:43:00 +02:00
erik-krogh
dbbba32579
revert change to generated swift code
2022-08-17 13:34:22 +02:00
erik-krogh
2e44fba67d
add explicit this
2022-08-17 13:33:31 +02:00
Paolo Tranquilli
9cd2ae2fd1
Swift: rename Synth conversion functions
2022-08-16 16:54:33 +02:00
Tom Hvitved
7395587244
Sync files
2022-08-16 14:07:39 +02:00
Paolo Tranquilli
98819f64da
Merge branch 'main' into redsun82/swift-first-prototype-of-generated-ipa-layer
2022-08-16 14:05:44 +02:00
Mathias Vorreiter Pedersen
cbb1108f6e
Swift: Fix SSA for calls to getter functions.
2022-08-16 11:48:46 +01:00
Paolo Tranquilli
5bad696b41
Swift: remove unused no-parameter constructors
2022-08-16 09:09:00 +02:00
Paolo Tranquilli
1365d0911d
Swift: generalize synth constructors
...
Now all types get a default synth constructor.
2022-08-15 16:12:19 +02:00
Paolo Tranquilli
8ba330a886
Swift: rename conversion predicates
2022-08-15 15:04:39 +02:00
Paolo Tranquilli
ace92d0958
Swift: rename Db to Raw
2022-08-15 14:54:21 +02:00
Paolo Tranquilli
9347030611
Swift: rename Ipa to Synth
2022-08-15 14:31:17 +02:00
Anders Schack-Mulligen
a3fb54c9de
Merge pull request #10007 from aschackmull/dataflow/source-node-identity
...
Dataflow: Fix identification of source PathNodes in the presence of source-to-source flow
2022-08-15 10:39:17 +02:00
Paolo Tranquilli
176009ca88
Merge branch 'main' into redsun82/swift-first-prototype-of-generated-ipa-layer
2022-08-15 10:18:41 +02:00
Erik Krogh Kristensen
73df8e4c7d
Merge pull request #9832 from erik-krogh/misspellings
...
Fix lots of misspellings
2022-08-11 12:43:26 +02:00
erik-krogh
c778b38a77
delete the dead TypeRepr files
2022-08-11 10:56:58 +02:00
erik-krogh
a5239bc1e8
fix one more misspelling in swift
2022-08-11 10:27:20 +02:00
Erik Krogh Kristensen
887f6557ed
fix common misspellings throughout github/codeql
2022-08-10 23:21:41 +02:00
Geoffrey White
6ffe5fcaed
Swift: Comment some other cases.
2022-08-10 15:46:32 +01:00
Geoffrey White
537caf85f2
Swift: Fix cartesian product.
2022-08-10 15:46:30 +01:00
Geoffrey White
e09e64ee85
Swift: Restrict taint flow through + to strings.
2022-08-10 15:46:28 +01:00
Geoffrey White
f3499e98a4
Swift: Move try, ! to dataflow.
2022-08-10 15:13:04 +01:00
Anders Schack-Mulligen
abad133ab5
Dataflow: Fix identification of source PathNodes in the presence of source-to-source flow.
2022-08-10 15:02:56 +02:00
Geoffrey White
efcc696e6e
Merge branch 'main' into defaulttaint
2022-08-09 18:59:36 +01:00
Geoffrey White
36f410b9f7
Swift: Move taint logic from isAdditionalTaintStep to defaultAdditionalTaintStep.
2022-08-09 17:42:28 +01:00
Mathias Vorreiter Pedersen
06fecf3869
Swift: Include 'any!' in the the CFG tree for 'any' expressions.
2022-08-09 15:12:31 +01:00
Anders Schack-Mulligen
aa3655678e
Merge pull request #9823 from aschackmull/dataflow/stage-module
...
Dataflow: Replace stage duplication with parameterised modules.
2022-08-08 10:56:32 +02:00
Mathias Vorreiter Pedersen
f2767eb03a
Merge pull request #9972 from MathiasVP/swift-taint-through-interpolated-strings
...
Swift: Taint through interpolated strings
2022-08-05 15:55:35 +01:00
Robert Marsh
10710e27df
Merge pull request #9978 from MathiasVP/swift-fix-mad
...
Swift: Fix flow summaries for methods
2022-08-05 09:53:16 -04:00
Mathias Vorreiter Pedersen
6cfeb24d94
Swift: More comments.
2022-08-05 13:30:45 +01:00
Mathias Vorreiter Pedersen
69564d2192
Swift: Add a couple of standard Comment subclasses.
2022-08-05 11:48:29 +01:00
Mathias Vorreiter Pedersen
a302570349
Merge branch 'main' into swift-taint-through-interpolated-strings
2022-08-05 11:17:54 +01:00
Mathias Vorreiter Pedersen
24c9ab8015
Swift: Fix MaD for methods
2022-08-05 10:52:28 +01:00
Alex Denisov
5e69adb0a9
Swift: extract comments
2022-08-05 11:50:48 +02:00
Mathias Vorreiter Pedersen
1c8090fa04
Merge pull request #9964 from geoffw0/cwe95
...
Swift: Query for CWE-79 / CWE-95
2022-08-05 10:38:33 +01:00
Anders Schack-Mulligen
3d47875b60
Dataflow: Generate shorter RA/DIL names.
2022-08-05 11:00:56 +02:00
Anders Schack-Mulligen
d3dcc3ce3a
Dataflow: Sync.
2022-08-05 11:00:56 +02:00
Mathias Vorreiter Pedersen
2f13c65ad7
Update swift/ql/lib/codeql/swift/controlflow/internal/ControlFlowGraphImpl.qll
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2022-08-04 22:45:45 +01:00
Mathias Vorreiter Pedersen
9c48ce1bf2
Swift: Flow (1) through the internal function calls generated by the compiler during string interpolation, and (2) out of the internal 'TapExpr' and into the interpolated string result.
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