aboutsummaryrefslogtreecommitdiff
path: root/src/entity.cpp
diff options
context:
space:
mode:
authorCourtney Strachan <courtney.strachan@gmail.com>2025-10-06 02:41:44 +0100
committerGitHub <noreply@github.com>2025-10-06 02:41:44 +0100
commit6de2d6e8ca687c989bbb7806e5cbe8d791e425bf (patch)
tree03a2e0a84c7c1530215f8e3f59a7f643b39b3677 /src/entity.cpp
parentdbbe96ae5c343f0e803de6ee508207a62571534f (diff)
parent0f97382fa3e46da80705c00dfe02f3deb9562e4f (diff)
Merge branch 'odin-lang:master' into master
Diffstat (limited to 'src/entity.cpp')
-rw-r--r--src/entity.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/entity.cpp b/src/entity.cpp
index b2148aa7b..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,8 +234,13 @@ 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;
+ Type* objc_superclass;
+ Type* objc_ivar;
+ Entity*objc_context_provider;
String objc_class_name;
TypeNameObjCMetadata *objc_metadata;
} TypeName;
@@ -245,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;
@@ -258,6 +266,10 @@ struct Entity {
bool is_memcpy_like : 1;
bool uses_branch_location : 1;
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;
@@ -341,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;
}