Mathias Vorreiter Pedersen
cc25e2644f
Swift: Don't join on index in 'swift/string-length-conflation'.
2022-06-29 11:40:46 +01:00
Mathias Vorreiter Pedersen
4356155eeb
Merge branch 'main' into swift-decls-in-cfg
2022-06-29 10:03:34 +01:00
Alex Denisov
4d81206a87
Swift: teach extractor to emit build artifacts for later consumption
2022-06-29 10:58:24 +02:00
AlexDenisov
1997d6b18c
Merge pull request #9745 from github/alexdenisov/put-traps-into-a-temp-folder
...
Swift: store TRAP files in a temporary folder until the extraction is complete
2022-06-29 10:55:27 +02:00
Jeroen Ketema
55e052af26
Merge pull request #9686 from aschackmull/dataflow/no-node-scan
...
Dataflow performance: Avoid node scans
2022-06-29 10:38:56 +02:00
AlexDenisov
e1ef637c54
Update swift/extractor/SwiftExtractorConfiguration.h
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-06-29 10:16:14 +02:00
AlexDenisov
968ede3d4a
Merge pull request #9746 from github/alexdenisov/add-test-case-showing-modules-loading-issue
...
Swift: add a test case showing module loading problem
2022-06-29 10:07:56 +02:00
Paolo Tranquilli
296b8cb630
Merge pull request #9719 from github/redsun82/swift-enum-is-case
...
Swift: add EnumIsCase test
2022-06-29 09:55:20 +02:00
Alex Denisov
57811a4efc
Swift: add a test case showing module loading problem
...
Extractor fails to load separate modules that were built by another
version of an actual compiler.
2022-06-29 07:38:18 +02:00
Alex Denisov
488befb577
Swift: store TRAP files in a temporary folder until the extraction is complete
...
Currently, we have a number of assertions in the codebase and certain
assumptions about the AST. These don't always hold, sometimes leading to
a crash in the extractor.
The crashes leave incomplete TRAP files that cannot be imported into the
database.
With this change, we still get those incomplete TRAP files, but we also
get a database in the end (even thoough it is also incomplete as we
cannot import everything).
2022-06-29 07:17:06 +02:00
Mathias Vorreiter Pedersen
c2e57c3c9b
Swift: Fix 'kind' in 'swift/string-length-conflation'.
2022-06-28 22:33:28 +01:00
Mathias Vorreiter Pedersen
1a7f5db8e2
Swift: Set 'swift/string-length-conflation' to precision high and delete the placeholder query.
2022-06-28 17:01:06 +01:00
Mathias Vorreiter Pedersen
f2ae73b6be
Merge pull request #9738 from geoffw0/misc
...
Swift: Add a Locatable.getFile() shortcut similar to the one in CPP.
2022-06-28 16:44:02 +01:00
Mathias Vorreiter Pedersen
677f6dafcd
Merge pull request #9732 from github/redsun82/swift-dot-syntax-call-expr
...
Swift: add DotSyntaxCallExpr tests
2022-06-28 16:09:10 +01:00
Geoffrey White
ff06e3cb6b
Swift: Add a Locatable.getFile() shortcut similar to the one in CPP.
2022-06-28 15:49:49 +01:00
Geoffrey White
8a8a7ead9b
Swift: Add tests for ArithmeticOperation.qll.
2022-06-28 15:34:23 +01:00
Geoffrey White
a5fff9af5d
Swift: Create ArithmeticOperation.qll.
2022-06-28 15:34:15 +01:00
Geoffrey White
9e0cf62cda
Swift: Fix + simplify LogicalOperation.qll.
2022-06-28 15:33:03 +01:00
Paolo Tranquilli
363f7a88a9
Swift: fix QL warnings about overriding methods
...
The `getName` in `Type.qll` was issuing a warning in other generated
classes having a `getName` from a `name` property in `schema.yml`.
To fix the possible inconsistency, `diagnostic_name` is being renamed to
`name` in the schema. Despite the scary doc comment on
`swift::Type::getString` (namely `for use in diagnostics only`), that
seems to be the right generic naming mechanism for types, and it
coincides with the name we were extracting on types with an explicit
`name` property.
In case we find a case where `Type::getString` gives something wrong,
we can probably just patch it on that specific type class.
2022-06-28 16:30:25 +02:00
Paolo Tranquilli
5c6ac2a5f2
Swift: accept test results
2022-06-28 16:15:05 +02:00
Geoffrey White
63376da90f
Swift: Add tests for LogicalOperaion.qll.
2022-06-28 15:04:47 +01:00
Paolo Tranquilli
6ff45d3dbe
Merge main into redsun82/swift-enum-is-case
2022-06-28 16:03:38 +02:00
Paolo Tranquilli
364085a596
Swift: add DotSyntaxCallExpr tests
2022-06-28 15:44:42 +02:00
Paolo Tranquilli
7175869518
Swift: add missing newlines in trap
...
This is mostly cosmetic and for debugging, as the trap importer is
perfectly happy with trap entries on the same line without spaces
between them.
2022-06-28 15:17:18 +02:00
Paolo Tranquilli
131524d867
Swift: accept test changes
...
These are due to the changes on `toBeTested` that include canonical
types.
2022-06-28 12:16:08 +02:00
Paolo Tranquilli
68a341d72c
Swift: use createEntry in the whole type visitor
2022-06-28 12:06:19 +02:00
Paolo Tranquilli
57981384df
Swift: extract ProtocolComposition- and BuiltinType
2022-06-28 12:01:36 +02:00
Paolo Tranquilli
b41cbaec33
Swift: add possibility to add flags in tests
2022-06-28 12:01:36 +02:00
Paolo Tranquilli
f2b589743a
Swift: add possibility to collapse class hierarchy in tests
2022-06-28 12:01:36 +02:00
Paolo Tranquilli
9d97fe7f30
Swift: generalize EnumIsCaseExpr test
2022-06-27 17:22:48 +02:00
Paolo Tranquilli
7f694f3b90
Swift: add EnumIsCase test
2022-06-27 16:25:46 +02:00
Mathias Vorreiter Pedersen
41b23572f0
Merge pull request #9673 from geoffw0/stringlengthconflation2
...
Swift: String length conflation query
2022-06-27 10:29:09 +01:00
Paolo Tranquilli
41fb55a7a8
Swift: extract all ReferenceStorageTypes
2022-06-24 18:10:31 +02:00
Geoffrey White
9013d56f37
Swift: Strengthen claim about severity in the qhelp.
2022-06-24 17:09:37 +01:00
Paolo Tranquilli
fd209e57cd
Swift: extract InoutType
2022-06-24 17:29:46 +02:00
Geoffrey White
ef283d9b7a
Swift: Metadata.
2022-06-24 16:20:16 +01:00
Paolo Tranquilli
189a47e30d
Swift: extract VariadicSequenceType
2022-06-24 17:15:45 +02:00
Paolo Tranquilli
346110e8dd
Swift: extract DynamicSelfType
2022-06-24 16:49:58 +02:00
Paolo Tranquilli
4281605ba7
Swift: extract existential types
2022-06-24 16:28:18 +02:00
Paolo Tranquilli
631156dbc6
Swift: extract Nested- and PrimaryArchetypeType
2022-06-24 16:28:17 +02:00
Geoffrey White
f2ae2dbe1f
Swift: Consistency.
2022-06-24 12:28:10 +01:00
Geoffrey White
ef3d4f3242
Swift: Add qhelp and example.
2022-06-24 12:27:10 +01:00
Paolo Tranquilli
299e1af22e
Merge main into redsun82/swift-code-reorg
2022-06-24 13:06:14 +02:00
Paolo Tranquilli
80ffd81b2c
Merge pull request #9614 from github/alexdenisov/swift-extract-all-inputs-with-outputs
...
Swift: extract all output-producing source files, not only primary files
2022-06-24 12:23:36 +02:00
Paolo Tranquilli
8ca529e8d9
Swift: make Element::resolve final
...
One should only override `getResolveStep` (or `convertsFrom` for `Expr`
classes), as otherwise the resolution/conversion becomes inconsitent.
2022-06-24 10:05:58 +02:00
Paolo Tranquilli
bc44007e18
Swift: yet another fix to stub revert prevention
2022-06-24 09:40:03 +02:00
Paolo Tranquilli
a9bd784ba2
Swift: fix stub revert prevention
...
It turns out the threshold of 5 lines for stub modification detection
was too strict: in case of a long class name the QL formatter will put
the closing brace of the empty class definition on a new line, leading
to codegen fail with an error thinking the stub was modified.
On the other side of things, also adding a base to a stub class was not
being detected as a modification.
Now the modification test is slightly smarter. If the stub still marked
as generated and
* has more than 6 lines, or
* the contents does not match a regexp aproximation of a plain stub
then codegen will abort. The test will still avoid reading the whole
contents of all the stubs.
2022-06-24 09:02:40 +02:00
Geoffrey White
1a980c94a0
Swift: Query description.
2022-06-23 18:13:48 +01:00
Mathias Vorreiter Pedersen
71efffd79b
Merge pull request #9691 from rdmarsh2/rdmarsh2/swift/ssa-perf-1
...
Swift: remove check for inout params in SSA gen
2022-06-23 17:16:38 +01:00
Geoffrey White
911d30bd9a
Swift: Proper query message.
2022-06-23 17:12:02 +01:00