aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-07-18 18:34:14 -0700
committerAndrew Kelley <andrew@ziglang.org>2023-07-18 19:02:06 -0700
commit8daa8d255b84880de60dc1a86d2f1d4a89463bbc (patch)
tree59b91d81929943f420ebf5c5c1af368fe26937fd /src
parent727b371bbc53b1fcabb6c6899043da3a84195b3c (diff)
downloadzig-8daa8d255b84880de60dc1a86d2f1d4a89463bbc.tar.gz
zig-8daa8d255b84880de60dc1a86d2f1d4a89463bbc.zip
Sema: fix fn_proto_param LazySrcLoc resolution
to match source code span from merge-base.
Diffstat (limited to 'src')
-rw-r--r--src/Module.zig11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/Module.zig b/src/Module.zig
index 0467688974..ea444d3cc4 100644
--- a/src/Module.zig
+++ b/src/Module.zig
@@ -2152,8 +2152,15 @@ pub const SrcLoc = struct {
while (it.next()) |param| : (i += 1) {
if (i == fn_proto_param.param_index) {
if (param.anytype_ellipsis3) |token| return tokenToSpan(tree, token);
- if (param.name_token) |token| return tokenToSpan(tree, token);
- return nodeToSpan(tree, param.type_expr);
+ const first_token = param.comptime_noalias orelse
+ param.name_token orelse
+ tree.firstToken(param.type_expr);
+ return tokensToSpan(
+ tree,
+ first_token,
+ tree.lastToken(param.type_expr),
+ first_token,
+ );
}
}
unreachable;