Paolo Tranquilli
9a0f87434e
Swift: remove unneeded properties from InterpolatedStringLiteralExpr
...
These properties were unused in the QL library (hence the full
upgrade/downgrade compatibility).
2023-05-22 15:28:54 +02:00
Paolo Tranquilli
de03bdc235
Swift: fix hidden AST getters
...
For consistency with the C/C++ QL library, getters of AST elements
within the hidden AST should not themselves skip other hidden AST
elements.
2023-05-22 09:57:48 +02:00
Nora Dimitrijević
91a151ec2a
Swift: update tests
2023-04-26 15:47:20 +02:00
Geoffrey White
49dccaa89d
Swift: Fix other tests.
2023-04-19 14:16:24 +01:00
Alexandre Boulgakov
35a2d55d18
Swift: Extract structured keypath components.
...
Changes in swift/ql/lib are generated by swift/codegen without manual intervention.
2023-04-11 13:34:17 +01:00
Alexandre Boulgakov
2b1dea56b5
Swift: Add error query to AST tests.
...
Preexisting errors are left to be fixed later.
2023-04-11 13:34:16 +01:00
Nora Dimitrijević
c2e9ffab63
Swift: add EnumElementExpr + Pattern.getMatchingExpr()
2023-03-27 23:01:24 +02:00
Nora Dimitrijević
5419e65e01
Swift: add NamedPattern.getVarDecl()
2023-03-27 23:01:24 +02:00
Nora Dimitrijević
feb8243d5f
Swift: move BindingPattern to the hidden AST
2023-03-27 23:01:24 +02:00
Geoffrey White
f6e7837cb8
Swift: Extend the PrintAST test as well.
2023-03-10 18:28:11 +00:00
Geoffrey White
8624098318
Swift: sync identical files.
2023-02-10 15:24:57 +00:00
Geoffrey White
224bc9381a
Swift: Fix ConditionElement.toString().
2023-02-09 21:15:36 +00:00
Alex Denisov
712c25e6f4
Swift: extract availability info
2023-02-07 14:26:39 +01:00
Nora Dimitrijević
50e5b29eb7
Swift: all Callables can have captures [codegen'd]
2023-02-02 11:56:51 +01:00
Nora Dimitrijević
d230431006
Swift: extract closure captures (codegen'd part)
2023-02-02 11:35:49 +01:00
Nora Dimitrijević
f3ebb6e03b
Swift: MethodLookupExpr.getMethodRef() [codegen'd]
...
This refactors SelfApplyExpr.getFunction() as MethodLookupExpr().getMethodRef().
This is simpler, because we are not hiding DeclRefExprs or reinventing hidden AST resolution.
2022-12-20 23:09:02 -05:00
Nora Dimitrijević
15d5674d12
Swift: update .expected files based on last commit
2022-12-14 14:28:00 -05:00
Paolo Tranquilli
7645d4d928
Swift: remove ModuleDecl from PrintAst test
2022-12-08 17:31:48 +01:00
Nora Dimitrijević
91edeacb9f
Swift: update .expected test files
2022-11-29 19:39:48 +01:00
Paolo Tranquilli
d3ff4908e6
Merge branch 'main' into redsun82/swift-error-element
2022-11-11 14:05:47 +01:00
Paolo Tranquilli
41977d1dbb
Swift: implement extraction of new properties
2022-11-11 12:49:48 +01:00
Paolo Tranquilli
3de650e19d
Swift: make toBeTested and shouldPrint propagate to children
2022-11-11 12:49:18 +01:00
Paolo Tranquilli
f5b198b8b7
Swift: fix dangling test reference
2022-11-10 17:50:22 +01:00
Paolo Tranquilli
552c5249ac
Merge pull request #11131 from github/redsun82/swift-incomplete-ast
...
Swift: deal with incomplete ASTs
2022-11-08 14:01:58 +01:00
Paolo Tranquilli
450a4a04af
Swift: add incomplete ast test
...
The test was inspired by locally running the query against files in
https://github.com/apple/swift/tree/main/test/Parse
A query for missing elements was also added to the AST tests, expecting
nothing to be found.
2022-11-08 11:46:07 +01:00
Tony Torralba
4411852e59
Add BitwiseOperation.qll
2022-11-08 11:33:10 +01:00
Paolo Tranquilli
21adcca065
Swift: add bitwise ops to PrintAst test
2022-11-08 08:53:36 +01:00
Paolo Tranquilli
c8cb30f76e
Swift: refactor StmtVisitor to use translations
...
Also make `visit` in `SwiftDispatcher` work on `const` pointers.
Also, fixed a bug where the guard of a `CaseLabelItem` was not being
extracted, hence the test updates.
2022-11-03 18:16:53 +01:00
Paolo Tranquilli
4702271102
Swift: add cfg.swift to AST tests
2022-11-03 18:16:53 +01:00
Paolo Tranquilli
69dfdf5a34
Swift: fix IfConfigDecl in QL libraries
...
This fixes `IfConfigDecl` for both the AST printer and control flow
libraries.
It turns out that the active lements of an `IfConfigDecl` are already
listed in the enclosing scope (like a `BraceStmt`), so they should not
be listed as children, and `IfConfigDecl` can be jsut a leaf in the
control flow.
2022-09-21 12:12:55 +02:00
Paolo Tranquilli
2234070bfe
Swift: ...and accept the test
2022-09-02 15:36:46 +02:00
Paolo Tranquilli
c842ae40f6
Swift: make node properties consistent with other languages
2022-09-02 15:31:37 +02:00
Paolo Tranquilli
e3e9774956
Swift: print conversions similarly to C++
2022-09-02 15:31:37 +02:00
Paolo Tranquilli
30049f622d
Swift: move new code down in tests
2022-08-31 11:38:32 +02:00
Paolo Tranquilli
aa54e4bb46
Swift: add some typing information to PrintAst
2022-08-31 11:31:15 +02:00
Paolo Tranquilli
a237f691b5
Swift: show conversions in PrintAst
...
This also showcases the customizability of the `PrintAst` infrastructure
resting on generated code.
2022-08-31 11:28:17 +02:00
Paolo Tranquilli
281cd79b48
Swift: add generics to ast tests
2022-08-31 11:09:35 +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
Paolo Tranquilli
47b905bfaf
Swift: add PrintAst
2022-08-30 18:04:55 +02:00