| ... | ... | @@ -836,20 +836,38 @@ pub const SrcLoc = struct { |
| 836 | 836 | .node_offset_var_decl_align => |node_off| { |
| 837 | 837 | const tree = try src_loc.file_scope.getTree(gpa); |
| 838 | 838 | const node = src_loc.relativeToNodeIndex(node_off); |
| 839 | | const full = tree.fullVarDecl(node).?; |
| 840 | | return tree.nodeToSpan(full.ast.align_node); |
| 839 | var buf: [1]Ast.Node.Index = undefined; |
| 840 | const align_node = if (tree.fullVarDecl(node)) |v| |
| 841 | v.ast.align_node |
| 842 | else if (tree.fullFnProto(&buf, node)) |f| |
| 843 | f.ast.align_expr |
| 844 | else |
| 845 | unreachable; |
| 846 | return tree.nodeToSpan(align_node); |
| 841 | 847 | }, |
| 842 | 848 | .node_offset_var_decl_section => |node_off| { |
| 843 | 849 | const tree = try src_loc.file_scope.getTree(gpa); |
| 844 | 850 | const node = src_loc.relativeToNodeIndex(node_off); |
| 845 | | const full = tree.fullVarDecl(node).?; |
| 846 | | return tree.nodeToSpan(full.ast.section_node); |
| 851 | var buf: [1]Ast.Node.Index = undefined; |
| 852 | const section_node = if (tree.fullVarDecl(node)) |v| |
| 853 | v.ast.section_node |
| 854 | else if (tree.fullFnProto(&buf, node)) |f| |
| 855 | f.ast.section_expr |
| 856 | else |
| 857 | unreachable; |
| 858 | return tree.nodeToSpan(section_node); |
| 847 | 859 | }, |
| 848 | 860 | .node_offset_var_decl_addrspace => |node_off| { |
| 849 | 861 | const tree = try src_loc.file_scope.getTree(gpa); |
| 850 | 862 | const node = src_loc.relativeToNodeIndex(node_off); |
| 851 | | const full = tree.fullVarDecl(node).?; |
| 852 | | return tree.nodeToSpan(full.ast.addrspace_node); |
| 863 | var buf: [1]Ast.Node.Index = undefined; |
| 864 | const addrspace_node = if (tree.fullVarDecl(node)) |v| |
| 865 | v.ast.addrspace_node |
| 866 | else if (tree.fullFnProto(&buf, node)) |f| |
| 867 | f.ast.addrspace_expr |
| 868 | else |
| 869 | unreachable; |
| 870 | return tree.nodeToSpan(addrspace_node); |
| 853 | 871 | }, |
| 854 | 872 | .node_offset_var_decl_init => |node_off| { |
| 855 | 873 | const tree = try src_loc.file_scope.getTree(gpa); |