File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -9,9 +9,15 @@ Mangling
9
9
--------
10
10
::
11
11
12
- mangled-name ::= '$s' global
12
+ mangled-name ::= '$s' global // Swift stable mangling
13
+ mangled-name ::= '_T0' global // Swift 4.0
14
+ mangled-name ::= '$S' global // Swift 4.2
13
15
14
- All Swift-mangled names begin with this prefix.
16
+ All Swift-mangled names begin with a common prefix. Since Swift 4.0, the
17
+ compiler has used variations of the mangling described in this document, though
18
+ pre-stable versions may not exactly conform to this description. By using
19
+ distinct prefixes, tools can attempt to accommodate bugs and version variations
20
+ in pre-stable versions of Swift.
15
21
16
22
The basic mangling scheme is a list of 'operators' where the operators are
17
23
structured in a post-fix order. For example the mangling may start with an
@@ -20,8 +26,6 @@ identifier has to be interpreted::
20
26
21
27
4Test3FooC // The trailing 'C' says that 'Foo' is a class in module 'Test'
22
28
23
-
24
-
25
29
Operators are either identifiers or a sequence of one or more characters,
26
30
like ``C `` for class.
27
31
All operators share the same name-space. Important operators are a single
You can’t perform that action at this time.
0 commit comments