aboutsummaryrefslogtreecommitdiff
path: root/src/Module.zig
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-07-27 15:25:21 +0300
committerVeikka Tuominen <git@vexu.eu>2022-07-27 18:27:17 +0300
commit793db63746ca044927743ee94405dad2a3f02fb8 (patch)
treeeba9986d8448894a37a262b0f4f790818c02690e /src/Module.zig
parent3818d63dd8b29596e4c3d2499463b7519258a611 (diff)
downloadzig-793db63746ca044927743ee94405dad2a3f02fb8.tar.gz
zig-793db63746ca044927743ee94405dad2a3f02fb8.zip
Sema: copy fn param ty in `zirTypeInfo`
Closes #12247
Diffstat (limited to 'src/Module.zig')
-rw-r--r--src/Module.zig10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Module.zig b/src/Module.zig
index 8bb5a94c17..7a3dc509d5 100644
--- a/src/Module.zig
+++ b/src/Module.zig
@@ -1220,6 +1220,7 @@ pub const Union = struct {
};
const node = owner_decl.relativeToNodeIndex(u.node_offset);
const node_tags = tree.nodes.items(.tag);
+ var buf: [2]Ast.Node.Index = undefined;
switch (node_tags[node]) {
.container_decl,
.container_decl_trailing,
@@ -1231,6 +1232,15 @@ pub const Union = struct {
.container_decl_arg,
.container_decl_arg_trailing,
=> return queryFieldSrc(tree.*, query, file, tree.containerDeclArg(node)),
+ .tagged_union,
+ .tagged_union_trailing,
+ => return queryFieldSrc(tree.*, query, file, tree.taggedUnion(node)),
+ .tagged_union_two,
+ .tagged_union_two_trailing,
+ => return queryFieldSrc(tree.*, query, file, tree.taggedUnionTwo(&buf, node)),
+ .tagged_union_enum_tag,
+ .tagged_union_enum_tag_trailing,
+ => return queryFieldSrc(tree.*, query, file, tree.taggedUnionEnumTag(node)),
else => unreachable,
}
}