aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-02-18 16:12:21 +0000
committergingerBill <bill@gingerbill.org>2022-02-18 16:12:21 +0000
commit5f8137025d0abb946c186dc01271495cf839a871 (patch)
treea2ee8ce2a95f963c695211d3f49e49ec638c677a /src/checker.cpp
parent1843d522173a646786a226320e1443d43591fbca (diff)
Use `try_to_add_package_dependency`
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index 81e6f256e..f8aa8d45b 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -733,12 +733,25 @@ void add_package_dependency(CheckerContext *c, char const *package_name, char co
String n = make_string_c(name);
AstPackage *p = get_core_package(&c->checker->info, make_string_c(package_name));
Entity *e = scope_lookup(p->scope, n);
- e->flags |= EntityFlag_Used;
GB_ASSERT_MSG(e != nullptr, "%s", name);
GB_ASSERT(c->decl != nullptr);
+ e->flags |= EntityFlag_Used;
+ add_dependency(c->info, c->decl, e);
+}
+
+void try_to_add_package_dependency(CheckerContext *c, char const *package_name, char const *name) {
+ String n = make_string_c(name);
+ AstPackage *p = get_core_package(&c->checker->info, make_string_c(package_name));
+ Entity *e = scope_lookup(p->scope, n);
+ if (e == nullptr) {
+ return;
+ }
+ GB_ASSERT(c->decl != nullptr);
+ e->flags |= EntityFlag_Used;
add_dependency(c->info, c->decl, e);
}
+
void add_declaration_dependency(CheckerContext *c, Entity *e) {
if (e == nullptr) {
return;