diff options
| author | gingerBill <bill@gingerbill.org> | 2023-07-31 11:37:14 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2023-07-31 11:37:14 +0100 |
| commit | 0de7df9eab9b256e0d1c8da7c9fc8c422c5ac1a7 (patch) | |
| tree | 6f635a6fbc675797de0a47067165f7e54bd0abac /src/checker.cpp | |
| parent | 60e509b1e066da14461b3832307065726e651153 (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.cpp | 22 |
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, |