diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-03-13 18:23:53 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-03-15 10:48:15 -0700 |
| commit | 1dbb616e73404b789b5c85491eb905b193b9b4cb (patch) | |
| tree | a00a468952f93f8a781aaf5f38ba297271fb1181 /src/Module.zig | |
| parent | e098b287e18b8a7a4df0fdb48d32fb4376daba07 (diff) | |
| download | zig-1dbb616e73404b789b5c85491eb905b193b9b4cb.tar.gz zig-1dbb616e73404b789b5c85491eb905b193b9b4cb.zip | |
Module: handle incremental update from ZIR with AST errors
Diffstat (limited to 'src/Module.zig')
| -rw-r--r-- | src/Module.zig | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/Module.zig b/src/Module.zig index 1520a7d1b2..c47e4fc234 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -3867,6 +3867,9 @@ fn updateZirRefs(mod: *Module, file: *File, old_zir: Zir) !void { const gpa = mod.gpa; const new_zir = file.zir; + // The root decl will be null if the previous ZIR had AST errors. + const root_decl = file.root_decl.unwrap() orelse return; + // Maps from old ZIR to new ZIR, struct_decl, enum_decl, etc. Any instruction which // creates a namespace, gets mapped from old to new here. var inst_map: std.AutoHashMapUnmanaged(Zir.Inst.Index, Zir.Inst.Index) = .{}; @@ -3884,7 +3887,6 @@ fn updateZirRefs(mod: *Module, file: *File, old_zir: Zir) !void { var decl_stack: ArrayListUnmanaged(Decl.Index) = .{}; defer decl_stack.deinit(gpa); - const root_decl = file.root_decl.unwrap().?; try decl_stack.append(gpa, root_decl); file.deleted_decls.clearRetainingCapacity(); |
