Skip to content

Commit f7de0ab

Browse files
committed
Swift: Fix BuiltinFixedArrayType mangling
1 parent 5eb8db0 commit f7de0ab

File tree

3 files changed

+9
-64
lines changed

3 files changed

+9
-64
lines changed

swift/extractor/mangler/SwiftMangler.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,14 @@ SwiftMangledName SwiftMangler::visitBuiltinType(const swift::BuiltinType* type)
202202
return initMangled(type) << type->getTypeName(buffer, /* prependBuiltinNamespace= */ false);
203203
}
204204

205+
SwiftMangledName SwiftMangler::visitBuiltinFixedArrayType(
206+
const swift::BuiltinFixedArrayType* type) {
207+
auto ret = visitBuiltinType(type);
208+
ret << fetch(type->getSize());
209+
ret << fetch(type->getElementType());
210+
return ret;
211+
}
212+
205213
SwiftMangledName SwiftMangler::visitAnyGenericType(const swift::AnyGenericType* type) {
206214
auto ret = initMangled(type);
207215
auto decl = type->getDecl();
@@ -240,9 +248,6 @@ SwiftMangledName SwiftMangler::visitAnyFunctionType(const swift::AnyFunctionType
240248
if (flags.isNonEphemeral()) {
241249
ret << "_nonephermeral";
242250
}
243-
if (flags.isIsolated()) {
244-
ret << "_isolated";
245-
}
246251
if (flags.isSending()) {
247252
ret << "_sending";
248253
}

swift/extractor/mangler/SwiftMangler.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ class SwiftMangler : private swift::TypeVisitor<SwiftMangler, SwiftMangledName>,
7171
SwiftMangledName visitModuleType(const swift::ModuleType* type);
7272
SwiftMangledName visitTupleType(const swift::TupleType* type);
7373
SwiftMangledName visitBuiltinType(const swift::BuiltinType* type);
74+
SwiftMangledName visitBuiltinFixedArrayType(const swift::BuiltinFixedArrayType* type);
7475
SwiftMangledName visitAnyGenericType(const swift::AnyGenericType* type);
7576

7677
// shouldn't be required, but they forgot to link `NominalType` to its direct superclass

swift/ql/test/extractor-tests/generated/type/BuiltinType/BuiltinType.expected

Lines changed: 0 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -3,69 +3,8 @@
33
| Builtin.FPIEEE32 | BuiltinFloatType | getName: | FPIEEE32 | getCanonicalType: | Builtin.FPIEEE32 |
44
| Builtin.FPIEEE64 | BuiltinFloatType | getName: | FPIEEE64 | getCanonicalType: | Builtin.FPIEEE64 |
55
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<4, Int> |
6-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<N, T> |
7-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
8-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<count, Element> |
9-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<4, Int> |
10-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<N, T> |
11-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
12-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<count, Element> |
13-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<4, Int> |
14-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<N, T> |
15-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
16-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<count, Element> |
17-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<4, Int> |
18-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<N, T> |
19-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
20-
| Builtin.FixedArray<4, Int> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<count, Element> |
21-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<4, Int> |
22-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<N, T> |
23-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
24-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<count, Element> |
25-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<4, Int> |
266
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<N, T> |
27-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
28-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<count, Element> |
29-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<4, Int> |
30-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<N, T> |
31-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
32-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<count, Element> |
33-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<4, Int> |
34-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<N, T> |
35-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
36-
| Builtin.FixedArray<N, T> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<count, Element> |
37-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<4, Int> |
38-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<N, T> |
39-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
40-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<count, Element> |
41-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<4, Int> |
42-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<N, T> |
43-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
44-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<count, Element> |
45-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<4, Int> |
46-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<N, T> |
477
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
48-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<count, Element> |
49-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<4, Int> |
50-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<N, T> |
51-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
52-
| Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<count, Element> |
53-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<4, Int> |
54-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<N, T> |
55-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
56-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<4, Int> | getCanonicalType: | Builtin.FixedArray<count, Element> |
57-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<4, Int> |
58-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<N, T> |
59-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
60-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<N, T> | getCanonicalType: | Builtin.FixedArray<count, Element> |
61-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<4, Int> |
62-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<N, T> |
63-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
64-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<\u03c4_0_0, \u03c4_0_1> | getCanonicalType: | Builtin.FixedArray<count, Element> |
65-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<4, Int> |
66-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<N, T> |
67-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<\u03c4_0_0, \u03c4_0_1> |
68-
| Builtin.FixedArray<count, Element> | BuiltinFixedArrayType | getName: | FixedArray<count, Element> | getCanonicalType: | Builtin.FixedArray<count, Element> |
698
| Builtin.IntLiteral | BuiltinIntegerLiteralType | getName: | IntLiteral | getCanonicalType: | Builtin.IntLiteral |
709
| Builtin.Job | BuiltinJobType | getName: | Job | getCanonicalType: | Builtin.Job |
7110
| Builtin.NativeObject | BuiltinNativeObjectType | getName: | NativeObject | getCanonicalType: | Builtin.NativeObject |

0 commit comments

Comments
 (0)