aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2021-12-30 20:49:02 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-01-02 13:16:17 -0700
commit0ad2a99675d331c686847a7b2a84feddfcce6573 (patch)
treeba1b08642950fd481e95bb0cd198ada0176850f5 /src/main.zig
parentdbd0a2c35d590752dfa586a816f2870e4bcb3200 (diff)
downloadzig-0ad2a99675d331c686847a7b2a84feddfcce6573.tar.gz
zig-0ad2a99675d331c686847a7b2a84feddfcce6573.zip
stage2: CacheMode.whole: trigger loading zig source files
Previously the code asserted source files were already loaded, but this is not the case when cached ZIR is loaded. Now it will trigger .zig source code to be loaded for the purposes of hashing the source for `CacheMode.whole`. This additionally refactors stat_size, stat_inode, and stat_mtime fields into using the `Cache.File.Stat` struct.
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig34
1 files changed, 18 insertions, 16 deletions
diff --git a/src/main.zig b/src/main.zig
index 6f55e46eb1..4747772b8a 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -3664,9 +3664,7 @@ pub fn cmdFmt(gpa: Allocator, arena: Allocator, args: []const []const u8) !void
.zir_loaded = false,
.sub_file_path = "<stdin>",
.source = source_code,
- .stat_size = undefined,
- .stat_inode = undefined,
- .stat_mtime = undefined,
+ .stat = undefined,
.tree = tree,
.tree_loaded = true,
.zir = undefined,
@@ -3860,9 +3858,11 @@ fn fmtPathFile(
.zir_loaded = false,
.sub_file_path = file_path,
.source = source_code,
- .stat_size = stat.size,
- .stat_inode = stat.inode,
- .stat_mtime = stat.mtime,
+ .stat = .{
+ .size = stat.size,
+ .inode = stat.inode,
+ .mtime = stat.mtime,
+ },
.tree = tree,
.tree_loaded = true,
.zir = undefined,
@@ -4458,9 +4458,7 @@ pub fn cmdAstCheck(
.zir_loaded = false,
.sub_file_path = undefined,
.source = undefined,
- .stat_size = undefined,
- .stat_inode = undefined,
- .stat_mtime = undefined,
+ .stat = undefined,
.tree = undefined,
.zir = undefined,
.pkg = undefined,
@@ -4485,9 +4483,11 @@ pub fn cmdAstCheck(
file.sub_file_path = file_name;
file.source = source;
file.source_loaded = true;
- file.stat_size = stat.size;
- file.stat_inode = stat.inode;
- file.stat_mtime = stat.mtime;
+ file.stat = .{
+ .size = stat.size,
+ .inode = stat.inode,
+ .mtime = stat.mtime,
+ };
} else {
const stdin = io.getStdIn();
const source = readSourceFileToEndAlloc(arena, &stdin, null) catch |err| {
@@ -4496,7 +4496,7 @@ pub fn cmdAstCheck(
file.sub_file_path = "<stdin>";
file.source = source;
file.source_loaded = true;
- file.stat_size = source.len;
+ file.stat.size = source.len;
}
file.pkg = try Package.create(gpa, null, file.sub_file_path);
@@ -4609,9 +4609,11 @@ pub fn cmdChangelist(
.zir_loaded = false,
.sub_file_path = old_source_file,
.source = undefined,
- .stat_size = stat.size,
- .stat_inode = stat.inode,
- .stat_mtime = stat.mtime,
+ .stat = .{
+ .size = stat.size,
+ .inode = stat.inode,
+ .mtime = stat.mtime,
+ },
.tree = undefined,
.zir = undefined,
.pkg = undefined,