Jeroen Ketema
2022dd833e
Swift: Address review comments
2025-10-27 10:48:02 +01:00
Jeroen Ketema
06d0d48416
Swift: Work around assertion failures in mangler
2025-10-24 14:37:55 +02:00
Jeroen Ketema
300b5b15e7
Swift: Mangle function type lifetimes
2025-10-24 14:37:46 +02:00
Jeroen Ketema
2ef8bb0c53
Swift: Make extractor compile with Swift 6.2
2025-10-24 14:37:42 +02:00
Jeroen Ketema
c74fca929a
Swift: Support TypeValueExpr and IntegerType
2025-05-02 14:47:56 +02:00
Jeroen Ketema
36672f44b9
Swift: Take inverses into account when mangling ProtocolCompositionTypes
2025-04-23 17:10:55 +02:00
Paolo Tranquilli
7834a3d9e4
Swift: expand mangling of ExistentialMetatypeType
2025-04-23 17:10:55 +02:00
Jeroen Ketema
4fc5a73bac
Swift: Update mangling of OpenedArchetypeType
2025-04-23 17:10:54 +02:00
Paolo Tranquilli
1ac47a892b
Swift: make extractor compile again after 6.1 upgrade
2025-04-23 17:10:54 +02:00
Paolo Tranquilli
02a0021a26
Swift: tweak mangling of extensions
2024-11-06 08:40:12 +01:00
Paolo Tranquilli
7f3745cfcd
Swift: fix @isolated(any) DB inconsistencies
2024-10-31 06:22:06 +01:00
Paolo Tranquilli
3877eb8bc9
Swift: tentatively fix type mangling
2024-10-30 17:08:20 +01:00
Paolo Tranquilli
d3fb2543d2
Swift: try out new builds
2024-10-30 12:26:34 +01:00
Alex Denisov
e865c3cbd3
Swift: extract parameter packs
2023-11-10 10:20:14 +01:00
Alexandre Boulgakov
0dafe2d757
Swift: Mangle ArchetypeTypes with different superclasses in different extensions.
2023-08-02 15:18:52 +01:00
Alexandre Boulgakov
3e7a7fe54e
Swift: Mangle ArchetypeTypes with different constraints in different extensions.
2023-07-28 21:39:52 +01:00
Alexandre Boulgakov
30615308b4
Swift: Mangle AssociatedTypeDecl.
2023-06-28 13:09:09 +01:00
Alexandre Boulgakov
b807d005ec
Swift: Add missing #include.
2023-06-28 12:50:01 +01:00
Alexandre Boulgakov
4ed90d5234
Swift: Remove AbstractTypeParamDecl mangling.
...
AbstractTypeParamDecl itself was removed in 36b3f0ee12 .
2023-06-28 12:34:01 +01:00
Paolo Tranquilli
c612a7a16b
Revert "Swift: deduplicate accessors and params correctly"
...
This reverts commit bab4eeeb55 .
2023-06-12 17:14:20 +02:00
Paolo Tranquilli
bab4eeeb55
Swift: deduplicate accessors and params correctly
2023-06-12 16:48:03 +02:00
Paolo Tranquilli
edb822279b
Swift: update comments to the mangler
2023-05-31 10:12:31 +02:00
Paolo Tranquilli
70ff401f21
Swift: replace internal swift mangler with our own
...
Our mangler is split in two version:
* `SwiftTrapMangler`, with the same behaviour as the previous
`SwiftMangler`, constructing mangled names with trap label references
* `SwiftRecursiveMangler` that replaces trap label references with
recursive calls to its own `mangle` functions, effectively rolling out
the entire chain of references
The latter is used to create lazy trap file names. Hashing is used to
avoid excessively long filenames.
2023-05-31 09:52:20 +02:00
Paolo Tranquilli
2183d380db
Swift: implement review suggestions
2023-05-30 10:30:44 +02:00
Paolo Tranquilli
15047368e8
Swift: add a warning to unmangled types
2023-05-26 15:12:21 +02:00
Paolo Tranquilli
3f7c4dec25
Swift: add a header comment to SwiftMangler
2023-05-26 15:05:40 +02:00
Paolo Tranquilli
7adcd0d043
Swift: small tweak to visitBuiltinType
2023-05-02 10:45:43 +02:00
Paolo Tranquilli
87c73879cb
Swift: add explanation to getExtensionIndex
2023-05-02 10:45:43 +02:00
Paolo Tranquilli
826d7c7dbe
Swift: preload extension indexes
...
Finding each extension declaration separately within its parent seemed
to create an `O(n^2)` noticeable performance problem. This is solved
by preloading indexes and storing them in a map, so as to iterate
through the parent of an extension only once per parent instead of once
per extension.
2023-05-02 10:45:43 +02:00
Paolo Tranquilli
146591934a
Swift: clean up SwiftMangler
2023-05-02 10:45:43 +02:00
Paolo Tranquilli
f6a6958c03
Swift: mangle ParameterizedProtocolType
2023-05-02 10:45:43 +02:00
Alex Denisov
92c20be038
Swift: change indexing for extension declarations to make them more stable
2023-05-02 10:45:42 +02:00
Alex Denisov
6c954eae3c
Swift: handle isolated types
2023-05-02 10:45:42 +02:00
Paolo Tranquilli
dfbc248e78
Swift: mangle opened archetype and fix global actor
2023-05-02 10:45:42 +02:00
Paolo Tranquilli
0aed7d56c2
Swift: more mangling
2023-05-02 10:45:42 +02:00
Paolo Tranquilli
2592129d83
Swift: mangle remaining unmangled types appearing during test run
2023-05-02 10:45:42 +02:00
Paolo Tranquilli
c8ca6057d3
Swift: mangle several new things
2023-05-02 10:45:40 +02:00
Paolo Tranquilli
4ac91ea1b2
Swift: mangle function types, type paramters, metatypes, dependent member types
2023-05-02 10:39:46 +02:00
Paolo Tranquilli
b6146478dc
Swift: mangle nominal and bound generic types
2023-05-02 09:49:48 +02:00
Paolo Tranquilli
1274aaaf9c
Swift: mangle GenericTypeDecl
2023-05-02 09:49:48 +02:00
Paolo Tranquilli
476cf72710
Swift: mangle AnyGenericType
2023-05-02 09:49:48 +02:00
Paolo Tranquilli
348bc964be
Swift: turn current decl mangling into visitor
2023-05-02 09:49:48 +02:00
Paolo Tranquilli
b269bd5010
Swift: mangle builtin and tuple types
2023-05-02 09:49:48 +02:00
Alex Denisov
125aab8107
Swift: rework fetching and dispatching
...
* visiting now happens in a later stage than fetching labels. While
fetching a list of entities to be visited is created, and then acted
upon in actual extraction. This partially flattens the recursive
nature of `fetchLabel` into a loop inside `SwiftVisitor::extract`.
Recursion in `fetchLabel` will only happen on labels fetched while
naming an entity (calling into `SwiftMangler`).
* The choice whether to name a declaration or type has been moved from
the translators to `SwiftMangler`. Acting on this choice is contained
in `SwiftDispatcher::createLabel`.
* The choice whether to emit a body of a declaration has been moved from
`DeclTranslator` to the dispatcher. This choice is also contained in
`SwiftDispatcher::createLabel`.
* The simple functionality of the `LabelStore` has been moved to the
`SwiftDispatcher` as well.
2023-04-25 11:15:27 +02:00
Paolo Tranquilli
cc608f764d
Swift: add missing include
2023-03-14 11:23:33 +01:00
Alex Denisov
1283bcb860
Swift: mangle builtin types
2023-03-07 17:45:08 +01:00
Alex Denisov
7f3e7224df
Swift: introduce type mangling
2023-03-03 16:28:41 +01:00
Alex Denisov
97d5401118
Swift: extract mangler into a separate class
2023-02-28 15:29:44 +01:00