aboutsummaryrefslogtreecommitdiff
path: root/src/entity.cpp
diff options
context:
space:
mode:
authorMichael Lee <leecommamichael@gmail.com>2025-12-23 16:12:53 -0600
committerGitHub <noreply@github.com>2025-12-23 16:12:53 -0600
commit550e57aba977ff766e5ab38a4c13a8dc18d55992 (patch)
tree6704ea53d838f7d7427e5bf6faa1d586378869b3 /src/entity.cpp
parent729d0a8e8ace759d5d1358b14b20e19f68f44ff0 (diff)
parent57352d9933785097e21c282807f5e845ec8f6d85 (diff)
Merge branch 'odin-lang:master' into core-image-tga
Diffstat (limited to 'src/entity.cpp')
-rw-r--r--src/entity.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/entity.cpp b/src/entity.cpp
index 6c0aa6ace..2b21fdcac 100644
--- a/src/entity.cpp
+++ b/src/entity.cpp
@@ -164,6 +164,7 @@ struct Entity {
u64 id;
std::atomic<u64> flags;
std::atomic<EntityState> state;
+ std::atomic<i32> min_dep_count;
Token token;
Scope * scope;
Type * type;
@@ -233,6 +234,7 @@ struct Entity {
} Variable;
struct {
Type * type_parameter_specialization;
+ Type * original_type_for_parapoly;
String ir_mangled_name;
bool is_type_alias;
bool objc_is_implementation;
@@ -249,6 +251,8 @@ struct Entity {
String link_name;
String link_prefix;
String link_suffix;
+ String objc_selector_name;
+ Entity *objc_class;
DeferredProcedure deferred_procedure;
struct GenProcsData *gen_procs;
@@ -264,6 +268,8 @@ struct Entity {
bool is_anonymous : 1;
bool no_sanitize_address : 1;
bool no_sanitize_memory : 1;
+ bool is_objc_impl_or_import : 1;
+ bool is_objc_class_method : 1;
} Procedure;
struct {
Array<Entity *> entities;
@@ -347,7 +353,7 @@ gb_internal Entity *alloc_entity(EntityKind kind, Scope *scope, Token token, Typ
entity->type = type;
entity->id = 1 + global_entity_id.fetch_add(1);
if (token.pos.file_id) {
- entity->file = thread_safe_get_ast_file_from_id(token.pos.file_id);
+ entity->file = thread_unsafe_get_ast_file_from_id(token.pos.file_id);
}
return entity;
}