aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2023-07-31 11:37:14 +0100
committergingerBill <bill@gingerbill.org>2023-07-31 11:37:14 +0100
commit0de7df9eab9b256e0d1c8da7c9fc8c422c5ac1a7 (patch)
tree6f635a6fbc675797de0a47067165f7e54bd0abac /src/checker.cpp
parent60e509b1e066da14461b3832307065726e651153 (diff)
Improve `//+vet`; remove `using` in many places; add `//+vet !using-stmt` where necessary
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index a6b66f809..fbc550f00 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -521,6 +521,28 @@ GB_COMPARE_PROC(entity_variable_pos_cmp) {
}
+
+gb_internal u64 check_vet_flags(CheckerContext *c) {
+ AstFile *file = c->file;
+ if (file == nullptr &&
+ c->curr_proc_decl &&
+ c->curr_proc_decl->proc_lit) {
+ file = c->curr_proc_decl->proc_lit->file();
+ }
+ if (file && file->vet_flags_set) {
+ return file->vet_flags;
+ }
+ return build_context.vet_flags;
+}
+
+gb_internal u64 check_vet_flags(Ast *node) {
+ AstFile *file = node->file();
+ if (file && file->vet_flags_set) {
+ return file->vet_flags;
+ }
+ return build_context.vet_flags;
+}
+
enum VettedEntityKind {
VettedEntity_Invalid,