mirror of
https://github.com/ziglang/zig.git
synced 2026-01-05 13:03:25 +00:00
Merge pull request #14823 from der-teufel-programming/autodoc-quickfixes
autodoc: Add struct to tryResolveRefPath
This commit is contained in:
commit
ab2c602f34
@ -1139,9 +1139,9 @@ const NAV_MODES = {
|
||||
return exprName(switchIndex, opts);
|
||||
}
|
||||
case "fieldRef": {
|
||||
const enumObj = exprName({ type: expr.fieldRef.type }, opts);
|
||||
const field =
|
||||
getAstNode(enumObj.src).fields[expr.fieldRef.index];
|
||||
const field_idx = expr.fieldRef.index;
|
||||
const type = getType(expr.fieldRef.type);
|
||||
const field = getAstNode(type.src).fields[field_idx];
|
||||
const name = getAstNode(field).name;
|
||||
return name;
|
||||
}
|
||||
|
||||
@ -3616,6 +3616,25 @@ fn tryResolveRefPath(
|
||||
continue :outer;
|
||||
},
|
||||
},
|
||||
.@"struct" => |st| {
|
||||
for (st) |field| {
|
||||
if (std.mem.eql(u8, field.name, child_string)) {
|
||||
path[i + 1] = field.val.expr;
|
||||
continue :outer;
|
||||
}
|
||||
}
|
||||
|
||||
// if we got here, our search failed
|
||||
printWithContext(
|
||||
file,
|
||||
inst_index,
|
||||
"failed to match `{s}` in struct",
|
||||
.{child_string},
|
||||
);
|
||||
|
||||
path[i + 1] = (try self.cteTodo("match failure")).expr;
|
||||
continue :outer;
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user