From 5629c13aa0b971cb13a432ea42d83e887a953ae7 Mon Sep 17 00:00:00 2001 From: Sylphrena Date: Tue, 4 Aug 2026 12:36:20 +0200 Subject: [PATCH] Fix -vet-packages not working in certain cases --- src/parser.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/parser.cpp b/src/parser.cpp index a527bc7ec..37a9a6d9f 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -6,13 +6,35 @@ gb_internal bool in_vet_packages(AstFile *file) { if (file == nullptr) { return true; } + if (file->pkg == nullptr) { return true; } + + if (file->pkg_decl == nullptr) { + return true; + } + if (build_context.vet_packages.entries.count == 0) { return true; } - return string_set_exists(&build_context.vet_packages, file->pkg->name); + + String pkg_name = {}; + + if (file->pkg->name.len > 0) { + pkg_name = file->pkg->name; + } else if (file->pkg_decl->kind == Ast_PackageDecl) { + Token name_token = file->pkg_decl->PackageDecl.name; + if (name_token.kind == Token_Ident) { + pkg_name = name_token.string; + } + } + + if (pkg_name.len == 0) { + return true; + } + + return string_set_exists(&build_context.vet_packages, pkg_name); } gb_internal u64 ast_file_vet_flags(AstFile *f) {