mirror of
https://github.com/ziglang/zig.git
synced 2026-01-30 03:03:46 +00:00
Zcu: allow node_offset_var_decl_* source location for function declarations
This commit is contained in:
parent
eac87ea8d6
commit
58b8b1ac2a
30
src/Zcu.zig
30
src/Zcu.zig
@ -836,20 +836,38 @@ pub const SrcLoc = struct {
|
||||
.node_offset_var_decl_align => |node_off| {
|
||||
const tree = try src_loc.file_scope.getTree(gpa);
|
||||
const node = src_loc.relativeToNodeIndex(node_off);
|
||||
const full = tree.fullVarDecl(node).?;
|
||||
return tree.nodeToSpan(full.ast.align_node);
|
||||
var buf: [1]Ast.Node.Index = undefined;
|
||||
const align_node = if (tree.fullVarDecl(node)) |v|
|
||||
v.ast.align_node
|
||||
else if (tree.fullFnProto(&buf, node)) |f|
|
||||
f.ast.align_expr
|
||||
else
|
||||
unreachable;
|
||||
return tree.nodeToSpan(align_node);
|
||||
},
|
||||
.node_offset_var_decl_section => |node_off| {
|
||||
const tree = try src_loc.file_scope.getTree(gpa);
|
||||
const node = src_loc.relativeToNodeIndex(node_off);
|
||||
const full = tree.fullVarDecl(node).?;
|
||||
return tree.nodeToSpan(full.ast.section_node);
|
||||
var buf: [1]Ast.Node.Index = undefined;
|
||||
const section_node = if (tree.fullVarDecl(node)) |v|
|
||||
v.ast.section_node
|
||||
else if (tree.fullFnProto(&buf, node)) |f|
|
||||
f.ast.section_expr
|
||||
else
|
||||
unreachable;
|
||||
return tree.nodeToSpan(section_node);
|
||||
},
|
||||
.node_offset_var_decl_addrspace => |node_off| {
|
||||
const tree = try src_loc.file_scope.getTree(gpa);
|
||||
const node = src_loc.relativeToNodeIndex(node_off);
|
||||
const full = tree.fullVarDecl(node).?;
|
||||
return tree.nodeToSpan(full.ast.addrspace_node);
|
||||
var buf: [1]Ast.Node.Index = undefined;
|
||||
const addrspace_node = if (tree.fullVarDecl(node)) |v|
|
||||
v.ast.addrspace_node
|
||||
else if (tree.fullFnProto(&buf, node)) |f|
|
||||
f.ast.addrspace_expr
|
||||
else
|
||||
unreachable;
|
||||
return tree.nodeToSpan(addrspace_node);
|
||||
},
|
||||
.node_offset_var_decl_init => |node_off| {
|
||||
const tree = try src_loc.file_scope.getTree(gpa);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user