Geoffrey White
aad77c2388
Swift: Use TypeDecl.getABaseTypeDecl().
2022-09-01 10:42:09 +01:00
Geoffrey White
8ff0a191be
Merge pull request #10254 from MathiasVP/swift-base-and-derived-on-decls
...
Swift: Add `getBaseTypeDecl` to `TypeDecl`
2022-09-01 10:35:29 +01:00
Mathias Vorreiter Pedersen
96752f0fc4
Merge pull request #10061 from geoffw0/cleartext
...
Swift: Queries for CWE-311 (originally CWE-200)
2022-09-01 09:39:58 +01:00
Mathias Vorreiter Pedersen
e294b8f74a
Swift: Add convenience member predicates to 'TypeDecl'.
2022-09-01 09:28:37 +01:00
Geoffrey White
d3250a7e16
Swift: Fix finding base classes.
2022-09-01 09:01:56 +01:00
Geoffrey White
92a927efa7
Swift: Remove special case (no longer required).
2022-09-01 08:53:51 +01:00
Tom Hvitved
d5200efef3
Merge pull request #10203 from hvitved/ssa/param-module
...
SSA: Make shared library a parameterized module
2022-09-01 09:27:05 +02:00
Geoffrey White
129ed426a0
Swift: Use allowImplicitRead as a better solution replacing one of the special flow cases.
2022-08-31 17:58:18 +01:00
Geoffrey White
c0bc0d78cc
Swift: Accept test changes after merging main (again).
2022-08-31 17:58:10 +01:00
Geoffrey White
60fad4d652
Merge remote-tracking branch 'upstream/main' into swiftcleanup
2022-08-31 16:04:39 +01:00
Geoffrey White
be88c4f171
Swift: Clean up the URL.init model.
2022-08-31 15:25:24 +01:00
Tom Hvitved
643efb3d6b
Swift: Adapt to parameterized SSA implementation
2022-08-31 11:56:24 +02:00
Tom Hvitved
760c7beb94
SSA: Sync files
2022-08-31 11:45:15 +02:00
Mathias Vorreiter Pedersen
f846c262dc
Merge pull request #10157 from MathiasVP/swift-field-flow-2
...
Swift: Add field flow
2022-08-31 10:42:00 +01:00
Paolo Tranquilli
281cd79b48
Swift: add generics to ast tests
2022-08-31 11:09:35 +02:00
Paolo Tranquilli
c0f477e5c1
Swift: reorder generic type param children in nominal types
2022-08-31 10:57:34 +02:00
Paolo Tranquilli
66e6c7bb13
Swift: make GenericTypeParamDecls children
2022-08-31 10:47:36 +02:00
Paolo Tranquilli
3ce76e6c08
Swift: preserve base order in code generation
2022-08-31 10:45:22 +02:00
Paolo Tranquilli
bb845c6d7f
Swift: rename printast.ql->printAst.ql
2022-08-31 08:55:40 +02:00
Paolo Tranquilli
742cf0a593
Swift: hide orphaned DeclRefExpr nodes
2022-08-31 08:35:00 +02:00
Paolo Tranquilli
8f09485414
Swift: enhance PrintAst testing
...
The `ParentChild` tests have been generalized to test all `PrintAst`
by factoring out `PrintAstNode` into a separate file.
The `child.ql` and `parent.ql` tests have been removed as they are
subsumed by `PrintAst.ql`. Also, a new `no_parent_child_loops` is
added to detect back edges to a root node (back edges to a non-root
node are already detected by `no_double_parents.ql`).
2022-08-31 06:54:30 +02:00
Paolo Tranquilli
cd632dcfee
Swift: minor tweaks
...
Replace string singleton with a newtype-based one, and fix some doc
comment cosmetics.
2022-08-31 06:39:35 +02:00
Mathias Vorreiter Pedersen
a4209df239
Merge branch 'main' into swift-field-flow-2
2022-08-30 18:52:23 +01:00
Geoffrey White
3e4a6be53f
Swift: Add missing test annotations.
2022-08-30 18:12:26 +01:00
Geoffrey White
430a8e141d
Swift: Fix issues.
2022-08-30 18:04:12 +01:00
Paolo Tranquilli
47b905bfaf
Swift: add PrintAst
2022-08-30 18:04:55 +02:00
Paolo Tranquilli
6914c4469c
Swift: accept tests after children changes
2022-08-30 17:36:39 +02:00
Paolo Tranquilli
4825e6b8ba
Swift: change some children
...
* made `members` children of an `IterableDeclContext`
* removed `elements` from the children of `EnumCaseDecl`, as they are
already children of the enclosing `EnumDecl`
* removed `base` from the children of `SelfApplyExpr`, as they currently
are already descendants via `getArgument(0).getExpr()`. We should
maybe consider either removing `base` from the schema and add it as
a shortcut on QL, or finish up replacing all `SelfApplyExpr` instances
with synthesized types.
2022-08-30 17:30:39 +02:00
Geoffrey White
4984d8f6f2
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2022-08-30 12:26:06 +01:00
Geoffrey White
645364e8b8
Update swift/ql/src/queries/Security/CWE-311/CleartextStorageDatabase.qhelp
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2022-08-30 12:24:49 +01:00
Paolo Tranquilli
38d65d3fae
Swift: make ConstructorDecl's name include params
...
In order to distinguish overloads of the constructor and for consistency
with other function calls, `ConstructorDecl` string representation uses
the name which includes parentheses and parameter labels.
For consistency also the destructor got the same change, which means
all `DestructorDecl`s will now show as `deinit()` rather than `deinit`.
2022-08-30 11:11:50 +02:00
Paolo Tranquilli
9102cb5d0d
Swift: make some ParentChild predicates private
2022-08-30 10:35:08 +02:00
Paolo Tranquilli
beb0472811
Swift: fix ParentChild generation
...
There was an issue in case multiple inheritance from classes with
children was involved, where indexes would overlap.
The generated code structure has been reshuffled a bit, with
`Impl::getImmediateChildOf<Class>` predicates giving 0-based children
for a given class, including those coming from bases, and the final
`Impl::getImmediateChild` disjuncting the above on final classes only.
This removes the need of `getMaximumChildrenIndex<Class>`, and also
removes the code scanning alerts.
Also, comments were fixed addressing the review.
2022-08-30 10:15:11 +02:00
Paolo Tranquilli
3f4a330658
Swift: make ParentChild::Impl module private
2022-08-29 17:35:16 +02:00
Paolo Tranquilli
20e94b8a38
Swift: add more tests for the generated parent-child relationship
2022-08-29 17:10:46 +02:00
Paolo Tranquilli
105c0d0dce
Swift: update after generated parent-child changes
2022-08-29 17:10:46 +02:00
Paolo Tranquilli
b5aad04f65
Swift: add indexes to generated parent-child library
2022-08-29 17:10:46 +02:00
Paolo Tranquilli
7b50c958f7
Swift: fix Cfg.expected
2022-08-29 17:09:42 +02:00
Paolo Tranquilli
4e453b1ac5
Swift: accept test changes
2022-08-29 14:57:03 +02:00
Paolo Tranquilli
0aecbc2a01
Swift: reorganize some children in schema.yml
2022-08-29 14:52:14 +02:00
Paolo Tranquilli
b5d18b05e2
Swift: accept new module type in tests
2022-08-26 13:52:24 +02:00
Paolo Tranquilli
ebc7432f46
Swift: implement imported_ and exported_modules
...
This has expanded the required builtin symbols.
2022-08-26 11:37:14 +02:00
Paolo Tranquilli
2e9d9cfb20
Swift: add imported modules properties to ModuleDecl
2022-08-26 11:23:02 +02:00
Geoffrey White
2d57786dae
Merge branch 'main' into cleartext
2022-08-25 23:10:36 +01:00
Geoffrey White
7fd64f1d9c
Swift: Make QL-for-QL happy.
2022-08-25 23:06:03 +01:00
Geoffrey White
926da4bedc
Swift: Query descriptions and metadata.
2022-08-25 22:52:19 +01:00
Geoffrey White
9a53a40ac6
Swift: Qhelp and examples for both queries.
2022-08-25 22:52:18 +01:00
Geoffrey White
2690732c75
Swift: Special cases to get taint flow working.
2022-08-25 22:15:19 +01:00
Geoffrey White
698a9e2e2e
Swift: Realm database support.
2022-08-25 22:15:18 +01:00
Geoffrey White
3126fb930d
Swift: Core Data support.
2022-08-25 22:15:18 +01:00