3#ifndef SYMS_TYPE_GRAPH_C
4#define SYMS_TYPE_GRAPH_C
17 graph->address_size = address_size;
19 graph->content_buckets.buckets =
22 graph->usid_buckets.buckets =
25 graph->usid_buckets.bucket_counts =
28 graph->name_buckets.buckets =
101 graph->type_void = result;
111 graph->type_bool = result;
121 graph->type_u8 = result;
131 graph->type_u16 = result;
141 graph->type_u32 = result;
151 graph->type_u64 = result;
161 graph->type_u128 = result;
171 graph->type_s8 = result;
181 graph->type_s16 = result;
191 graph->type_s32 = result;
201 graph->type_s64 = result;
211 graph->type_s128 = result;
221 graph->type_f32 = result;
231 graph->type_f64 = result;
453 array->mems = members;
466 node = node->next, mem += 1){
487 mem->
off = byte_size;
489 mem->
type = node->type;
503 node = node->next, mem += 1){
511 mem->
type = node->type;
630 place->usid_node->type = node;
642 array->mems = members;
659 array->enum_members = members;
729 if (
lres->unique != 0 &&
rres->unique != 0){
757 if (
lres->array_count ==
rres->array_count &&
765 if (
lres->proc.param_count ==
rres->proc.param_count &&
1012 switch (type->kind){
1050 if (type->proc.param_count == 0){
1055 SYMS_U64 param_count = type->proc.param_count;
1061 if (i + 1 < param_count){
1204 if (node->usid.uid == params->
uid){
1279 if (
direct->byte_size != 0){
1401 switch (node->
kind){
1459 if (sig.
uid == params->
uid){
1539 result = node->type;
1590 result = node->type;
1627 SYMS_U64 result = bits ^ (bits << 32);
1641 if (node->name_ptr == name_ptr){
1642 result = &node->chain;
1662 if (node->name_ptr == name_ptr){
1681 match->chain.count += 1;
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition syms_base.h:402
Definition syms_debug_info.h:346
Definition syms_debug_info.h:341
SYMS_String8 name
Definition syms_debug_info.h:342
Definition syms_debug_info.h:325
Definition syms_debug_info.h:334
SYMS_SymbolIDArray param_type_ids
Definition syms_debug_info.h:336
SYMS_SymbolID this_type_id
Definition syms_debug_info.h:338
SYMS_SymbolID return_type_id
Definition syms_debug_info.h:337
SYMS_UnitID uid
Definition syms_debug_info.h:335
Definition syms_debug_info.h:130
Definition syms_base.h:306
Definition syms_base.h:296
Definition syms_data_structures.h:20
SYMS_SymbolID * ids
Definition syms_debug_info.h:229
SYMS_U64 count
Definition syms_debug_info.h:230
Definition syms_type_graph.h:63
Definition syms_type_graph.h:68
Definition syms_type_graph.h:18
Definition syms_type_graph.h:12
Definition syms_type_graph.h:46
SYMS_TypeContentNode ** buckets
Definition syms_type_graph.h:47
Definition syms_type_graph.h:39
Definition syms_type_graph.h:153
Definition syms_debug_info.h:264
Definition syms_type_graph.h:103
Definition syms_type_graph.h:88
SYMS_U32 off
Definition syms_type_graph.h:93
SYMS_MemKind kind
Definition syms_type_graph.h:89
struct SYMS_TypeNode * type
Definition syms_type_graph.h:95
SYMS_String8 name
Definition syms_type_graph.h:92
SYMS_U32 virtual_off
Definition syms_type_graph.h:94
SYMS_MemFlags flags
Definition syms_type_graph.h:91
SYMS_MemVisibility visibility
Definition syms_type_graph.h:90
Definition syms_type_graph.h:80
SYMS_TypeNameNode ** buckets
Definition syms_type_graph.h:81
Definition syms_type_graph.h:74
Definition syms_type_graph.h:108
SYMS_U64 param_count
Definition syms_type_graph.h:144
struct SYMS_TypeNode::@2314::@2316 bits
SYMS_U32 count
Definition syms_type_graph.h:138
struct SYMS_TypeNode::@2314::@2317 proc
struct SYMS_TypeNode * direct_type
Definition syms_type_graph.h:121
void * lazy_ptr
Definition syms_type_graph.h:149
SYMS_U64 array_count
Definition syms_type_graph.h:133
SYMS_U64 byte_size
Definition syms_type_graph.h:114
struct SYMS_TypeNode ** params
Definition syms_type_graph.h:143
struct SYMS_TypeNode * this_type
Definition syms_type_graph.h:126
SYMS_TypeModifiers mods
Definition syms_type_graph.h:130
SYMS_String8 name
Definition syms_type_graph.h:113
SYMS_TypeUniqueInfo * unique
Definition syms_type_graph.h:117
SYMS_TypeKind kind
Definition syms_type_graph.h:112
SYMS_U32 off
Definition syms_type_graph.h:137
Definition syms_type_graph.h:180
SYMS_MapAndUnit * type_map
Definition syms_type_graph.h:188
SYMS_UnitSetAccel * unit_set
Definition syms_type_graph.h:183
SYMS_UnitID uid
Definition syms_type_graph.h:185
SYMS_DbgAccel * dbg
Definition syms_type_graph.h:182
SYMS_UnitAccel * unit
Definition syms_type_graph.h:184
SYMS_String8 data
Definition syms_type_graph.h:181
Definition syms_type_graph.h:57
SYMS_U64 * bucket_counts
Definition syms_type_graph.h:59
SYMS_TypeUSIDNode ** buckets
Definition syms_type_graph.h:58
Definition syms_type_graph.h:51
Definition syms_type_graph.h:29
struct SYMS_TypeUSIDNode * usid_node
Definition syms_type_graph.h:30
Definition syms_type_graph.h:98
SYMS_USID usid
Definition syms_type_graph.h:99
SYMS_SrcCoord src_coord
Definition syms_type_graph.h:100
Definition syms_debug_info.h:244
Definition syms_debug_info.h:239
Definition syms_debug_info.h:234
SYMS_UnitID uid
Definition syms_debug_info.h:235
SYMS_SymbolID sid
Definition syms_debug_info.h:236
Definition syms_debug_info.h:79
SYMS_UnitFeatures features
Definition syms_debug_info.h:80
SYMS_API SYMS_String8 syms_string_list_join(SYMS_Arena *arena, SYMS_String8List *list, SYMS_StringJoin *join_ptr)
Definition syms_base.c:315
SYMS_API SYMS_ArenaTemp syms_get_scratch(SYMS_Arena **conflicts, SYMS_U64 conflict_count)
Definition syms_base.c:694
SYMS_API SYMS_B32 syms_string_match(SYMS_String8 a, SYMS_String8 b, SYMS_StringMatchFlags flags)
Definition syms_base.c:210
SYMS_API SYMS_U64 syms_hash_djb2(SYMS_String8 string)
Definition syms_base.c:40
SYMS_API void syms_arena_temp_end(SYMS_ArenaTemp temp)
Definition syms_base.c:689
SYMS_API SYMS_String8 syms_str8(SYMS_U8 *str, SYMS_U64 size)
Definition syms_base.c:169
SYMS_API SYMS_String8 syms_push_string_copy(SYMS_Arena *arena, SYMS_String8 string)
Definition syms_base.c:353
SYMS_API void syms_string_list_push(SYMS_Arena *arena, SYMS_String8List *list, SYMS_String8 string)
Definition syms_base.c:282
SYMS_API SYMS_String8 syms_string_from_u64(SYMS_Arena *arena, SYMS_U64 x)
Definition syms_base.c:521
SYMS_API SYMS_String8 syms_str8_skip_chop_whitespace(SYMS_String8 str)
Definition syms_base.c:190
SYMS_API SYMS_ArenaTemp syms_arena_temp_begin(SYMS_Arena *arena)
Definition syms_base.c:682
#define syms_true
Definition syms_base.h:105
#define SYMS_StackPush(f, n)
Definition syms_base.h:227
#define syms_push_array(a, T, c)
Definition syms_base.h:561
#define syms_memzero_struct(s)
Definition syms_base.h:161
#define SYMS_AlignPow2(a, b)
Definition syms_base.h:187
#define syms_false
Definition syms_base.h:104
#define SYMS_API
Definition syms_base.h:29
#define SYMS_ARRAY_SIZE(x)
Definition syms_base.h:144
#define SYMS_ASSERT(x)
Definition syms_base.h:125
SYMS_S32 SYMS_B32
Definition syms_base.h:99
#define syms_push_array_zero(a, T, c)
Definition syms_base.h:564
#define SYMS_MAX(a, b)
Definition syms_base.h:180
#define syms_string_from_enum_value(enum_type, value)
Definition syms_base.h:461
#define syms_str8_lit(s)
Definition syms_base.h:483
#define SYMS_QueuePush(f, l, n)
Definition syms_base.h:220
#define syms_release_scratch
Definition syms_base.h:567
uint32_t SYMS_U32
Definition syms_crt_overrides.h:38
uint64_t SYMS_U64
Definition syms_crt_overrides.h:39
#define syms_memmove
Definition syms_crt_overrides.h:65
#define SYMS_U64
Definition syms_crt_overrides.h:54
uint8_t SYMS_U8
Definition syms_crt_overrides.h:36
SYMS_API SYMS_String8 syms_string_cons(SYMS_Arena *arena, SYMS_StringCons *cons, SYMS_String8 string)
Definition syms_data_structures.c:10
SYMS_API SYMS_USID syms_make_usid(SYMS_UnitID uid, SYMS_SymbolID sid)
Definition syms_debug_info.c:22
SYMS_API SYMS_B32 syms_type_kind_is_enum(SYMS_TypeKind kind)
Definition syms_debug_info.c:103
SYMS_API SYMS_B32 syms_type_kind_is_forward(SYMS_TypeKind kind)
Definition syms_debug_info.c:109
SYMS_API SYMS_TypeKind syms_type_kind_main_from_fwd(SYMS_TypeKind kind)
Definition syms_debug_info.c:48
SYMS_API SYMS_B32 syms_type_kind_is_basic(SYMS_TypeKind kind)
Definition syms_debug_info.c:60
SYMS_API SYMS_B32 syms_type_kind_is_basic_or_enum(SYMS_TypeKind kind)
Definition syms_debug_info.c:66
SYMS_API SYMS_B32 syms_type_kind_is_record(SYMS_TypeKind kind)
Definition syms_debug_info.c:97
@ SYMS_SizeInterpretation_ByteCount
Definition syms_debug_info.h:207
@ SYMS_SizeInterpretation_ResolveForwardReference
Definition syms_debug_info.h:209
SYMS_U64 SYMS_SymbolID
Definition syms_debug_info.h:215
@ SYMS_MemKind_VTablePtr
Definition syms_debug_info.h:312
@ SYMS_MemKind_StaticMethod
Definition syms_debug_info.h:311
@ SYMS_MemKind_VBaseClassPtr
Definition syms_debug_info.h:314
@ SYMS_MemKind_StaticData
Definition syms_debug_info.h:309
@ SYMS_MemKind_NestedType
Definition syms_debug_info.h:315
@ SYMS_MemKind_Method
Definition syms_debug_info.h:310
@ SYMS_MemKind_DataField
Definition syms_debug_info.h:308
@ SYMS_MemKind_BaseClass
Definition syms_debug_info.h:313
#define SYMS_Arena
Definition syms_default_arena.h:61
#define SYMS_ProfEnd()
Definition syms_dev.h:212
#define SYMS_ProfBegin(str)
Definition syms_dev.h:209
SYMS_API SYMS_USIDList syms_usid_list_from_string(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_MapAndUnit *map_and_unit, SYMS_String8 string)
Definition syms_parser.c:1452
SYMS_API SYMS_SymbolKind syms_symbol_kind_from_sid(SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:749
SYMS_API SYMS_U64 syms_mem_count_from_mems(SYMS_MemsAccel *mems)
Definition syms_parser.c:980
SYMS_API SYMS_UnitInfo syms_unit_info_from_uid(SYMS_UnitSetAccel *unit_set, SYMS_UnitID uid)
Definition syms_parser.c:542
SYMS_API SYMS_SigInfo syms_sig_info_from_type_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:1300
SYMS_API SYMS_SigInfo syms_sig_info_from_mem_number(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_MemsAccel *mems, SYMS_U64 n)
Definition syms_parser.c:1046
SYMS_API SYMS_MemsAccel * syms_mems_accel_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID id)
Definition syms_parser.c:957
SYMS_API SYMS_USID syms_type_from_mem_number(SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_MemsAccel *mems, SYMS_U64 n)
Definition syms_parser.c:1023
SYMS_API SYMS_String8 syms_symbol_name_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:771
SYMS_API SYMS_TypeInfo syms_type_info_from_sid(SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID id)
Definition syms_parser.c:794
SYMS_API SYMS_MemInfo syms_mem_info_from_number(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_MemsAccel *mems, SYMS_U64 n)
Definition syms_parser.c:1000
SYMS_API SYMS_EnumMemberArray syms_enum_member_array_from_sid(SYMS_Arena *arena, SYMS_String8 data, SYMS_DbgAccel *dbg, SYMS_UnitAccel *unit, SYMS_SymbolID sid)
Definition syms_parser.c:1137
SYMS_API SYMS_U64 syms_type_content_hash(SYMS_String8 data)
Definition syms_type_graph.c:1523
SYMS_API SYMS_U64 syms_type_name_hash(SYMS_U8 *ptr)
Definition syms_type_graph.c:1624
SYMS_API SYMS_TypeNode * syms_type_auto_casted_from_type_nodes(SYMS_TypeGraph *graph, SYMS_TypeNode *l, SYMS_TypeNode *r)
Definition syms_type_graph.c:811
SYMS_API SYMS_TypeNode * syms_type_u8(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:117
SYMS_API SYMS_EnumMemberArray syms_type_enum_members_from_type(SYMS_TypeGraph *graph, SYMS_TypeNode *node)
Definition syms_type_graph.c:73
SYMS_API SYMS_TypeNode * syms_type_void(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:97
SYMS_API SYMS_TypeMember * syms_type_equip_mems_pre_allocate(SYMS_TypeGraph *graph, SYMS_TypeNode *node, SYMS_U64 member_count)
Definition syms_type_graph.c:637
SYMS_API SYMS_TypeNode * syms_type_u32(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:137
SYMS_API SYMS_TypeNode * syms_type_promoted_from_type_node(SYMS_TypeGraph *graph, SYMS_TypeNode *c)
Definition syms_type_graph.c:797
SYMS_API SYMS_EnumMember * syms_type_equip_enum_mems_pre_allocate(SYMS_TypeGraph *graph, SYMS_TypeNode *node, SYMS_U64 member_count)
Definition syms_type_graph.c:654
SYMS_API SYMS_TypeNode * syms_type_cons_mod(SYMS_TypeGraph *graph, SYMS_TypeNode *type, SYMS_TypeModifiers mods)
Definition syms_type_graph.c:269
SYMS_API void syms_type_cons_record_with_members(SYMS_TypeGraph *graph, SYMS_TypeNode *node, SYMS_TypeKind kind, SYMS_String8 name, SYMS_TypeConsMemberList *list)
Definition syms_type_graph.c:439
SYMS_API void syms_type_rhs_string_from_type__internal(SYMS_Arena *arena, SYMS_TypeNode *type, SYMS_String8List *out, SYMS_U32 precedence_level)
Definition syms_type_graph.c:1010
SYMS_API SYMS_TypeNode * syms_type_cons_array(SYMS_TypeGraph *graph, SYMS_TypeNode *type, SYMS_U64 count)
Definition syms_type_graph.c:319
SYMS_API SYMS_TypeNode * syms_type_from_usid_buckets(SYMS_TypeUSIDBuckets *buckets, SYMS_USID usid)
Definition syms_type_graph.c:1579
SYMS_API SYMS_B32 syms_type_members_are_equipped(SYMS_TypeGraph *graph, SYMS_TypeNode *node)
Definition syms_type_graph.c:82
SYMS_API void syms_type_lhs_string_from_type(SYMS_Arena *arena, SYMS_TypeNode *type, SYMS_String8List *out)
Definition syms_type_graph.c:877
SYMS_API SYMS_TypeNode * syms_type_s128(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:207
SYMS_API SYMS_TypeNode * syms_type_cons_typedef(SYMS_TypeGraph *graph, SYMS_String8 name, SYMS_TypeNode *type, SYMS_TypeUniqueInfo *unique_opt)
Definition syms_type_graph.c:581
SYMS_API SYMS_TypeNode * syms_type_f32(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:217
SYMS_API SYMS_TypeUniqueInfo syms_type_unique_from_usid_src_coord(SYMS_USID usid, SYMS_SrcCoord *src_coord_opt)
Definition syms_type_graph.c:681
SYMS_API SYMS_U64 syms_type_usid_hash(SYMS_USID usid)
Definition syms_type_graph.c:1573
SYMS_API SYMS_TypeNode * syms_type_cons_basic(SYMS_TypeGraph *graph, SYMS_TypeKind basic_kind, SYMS_U64 size, SYMS_String8 name)
Definition syms_type_graph.c:240
SYMS_API SYMS_TypeNode * syms_type_from_dbg_sid(SYMS_TypeGraph *graph, SYMS_TypeParseParams *params, SYMS_SymbolID sid)
Definition syms_type_graph.c:1082
SYMS_API void syms_type_lhs_string_from_type_skip_return(SYMS_Arena *arena, SYMS_TypeNode *type, SYMS_String8List *out)
Definition syms_type_graph.c:891
SYMS_API SYMS_TypeNode * syms_type_cons_record_defer_members(SYMS_TypeGraph *graph, SYMS_TypeKind kind, SYMS_String8 name, SYMS_U64 byte_size, SYMS_TypeUniqueInfo *unique_opt)
Definition syms_type_graph.c:541
SYMS_API void syms_type_graph_init(SYMS_TypeGraph *graph, SYMS_Arena *graph_arena, SYMS_StringCons *graph_string_cons, SYMS_U64 address_size)
Definition syms_type_graph.c:10
SYMS_API void syms_type_cons_mem_push(SYMS_Arena *arena, SYMS_TypeConsMemberList *list, SYMS_String8 name, SYMS_TypeNode *type)
Definition syms_type_graph.c:429
SYMS_API SYMS_String8 syms_type_content_insert(SYMS_Arena *arena, SYMS_TypeContentBuckets *buckets, SYMS_String8 key, SYMS_TypeNode *type)
Definition syms_type_graph.c:1549
SYMS_API SYMS_String8 syms_type_string_from_type(SYMS_Arena *arena, SYMS_TypeNode *type)
Definition syms_type_graph.c:864
SYMS_API SYMS_TypeNode * syms_type_resolve_enum_to_basic(SYMS_TypeGraph *graph, SYMS_TypeNode *t)
Definition syms_type_graph.c:788
SYMS_API SYMS_TypeUSIDPlaceHolder syms_type_usid_place_holder_insert(SYMS_TypeGraph *graph, SYMS_USID usid)
Definition syms_type_graph.c:621
SYMS_API SYMS_TypeChain * syms_type_chain_from_name_buckets(SYMS_TypeNameBuckets *buckets, SYMS_U8 *name_ptr)
Definition syms_type_graph.c:1632
SYMS_API SYMS_TypeNode * syms_type_s8(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:167
SYMS_API SYMS_TypeNode * syms_type_u64(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:147
SYMS_API SYMS_TypeNode * syms_type_from_dbg_sid__rec(SYMS_TypeGraph *graph, SYMS_TypeParseParams *params, SYMS_SymbolID sid)
Definition syms_type_graph.c:1095
SYMS_API SYMS_TypeNode * syms_type_cons_enum_defer_members(SYMS_TypeGraph *graph, SYMS_String8 name, SYMS_TypeNode *underlying_type, SYMS_TypeUniqueInfo *unique_opt)
Definition syms_type_graph.c:561
SYMS_API SYMS_TypeNode * syms_type_from_usid(SYMS_TypeGraph *graph, SYMS_USID usid)
Definition syms_type_graph.c:44
SYMS_API SYMS_TypeNode * syms_type_cons_mem_ptr(SYMS_TypeGraph *graph, SYMS_TypeNode *container, SYMS_TypeNode *type)
Definition syms_type_graph.c:377
SYMS_API SYMS_TypeNode * syms_type_u128(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:157
SYMS_API SYMS_TypeUSIDNode * syms_type_usid_insert(SYMS_Arena *arena, SYMS_TypeUSIDBuckets *buckets, SYMS_USID key, SYMS_TypeNode *type)
Definition syms_type_graph.c:1600
SYMS_API SYMS_TypeNode * syms_type_cons_proc(SYMS_TypeGraph *graph, SYMS_TypeNode *ret_type, SYMS_TypeNode *this_type, SYMS_TypeNode **param_types, SYMS_U64 param_count)
Definition syms_type_graph.c:345
SYMS_API SYMS_TypeUniqueInfo * syms_type_unique_copy(SYMS_Arena *arena, SYMS_TypeUniqueInfo *unique_opt)
Definition syms_type_graph.c:671
SYMS_API SYMS_TypeNode * syms_type_s64(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:197
SYMS_API SYMS_TypeNode * syms_type_bool(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:107
SYMS_API void syms_type_name_insert(SYMS_Arena *arena, SYMS_TypeNameBuckets *buckets, SYMS_U8 *name_ptr, SYMS_TypeNode *type)
Definition syms_type_graph.c:1652
SYMS_API SYMS_TypeNode * syms_type_cons_fwd(SYMS_TypeGraph *graph, SYMS_TypeKind kind, SYMS_String8 name, SYMS_TypeNode *type, SYMS_TypeUniqueInfo *unique_opt)
Definition syms_type_graph.c:601
SYMS_API SYMS_TypeNode * syms_type_s16(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:177
SYMS_API SYMS_TypeNode * syms_type_from_content_buckets(SYMS_TypeContentBuckets *buckets, SYMS_String8 data)
Definition syms_type_graph.c:1529
SYMS_API SYMS_TypeMemberArray syms_type_members_from_type(SYMS_TypeGraph *graph, SYMS_TypeNode *node)
Definition syms_type_graph.c:64
SYMS_API void syms_type_rhs_string_from_type(SYMS_Arena *arena, SYMS_TypeNode *type, SYMS_String8List *out)
Definition syms_type_graph.c:884
SYMS_API SYMS_TypeNode * syms_type_s32(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:187
SYMS_API SYMS_TypeNode * syms_type_u16(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:127
SYMS_API SYMS_TypeNode * syms_type_cons_ptr(SYMS_TypeGraph *graph, SYMS_TypeKind ptr_kind, SYMS_TypeNode *type)
Definition syms_type_graph.c:295
SYMS_API SYMS_TypeNode * syms_type_resolved(SYMS_TypeNode *type)
Definition syms_type_graph.c:695
SYMS_API void syms_type_equip_members_from_dbg(SYMS_TypeGraph *graph, SYMS_TypeParseParams *params, SYMS_TypeNode *node)
Definition syms_type_graph.c:1389
SYMS_API void syms_type_lhs_string_from_type__internal(SYMS_Arena *arena, SYMS_TypeNode *type, SYMS_String8List *out, SYMS_U32 precedence_level, SYMS_B32 skip_return)
Definition syms_type_graph.c:898
SYMS_API SYMS_TypeNode * syms_type_f64(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:227
SYMS_API SYMS_TypeNode * syms_type_cons_record_stub(SYMS_TypeGraph *graph)
Definition syms_type_graph.c:420
SYMS_API SYMS_TypeNode * syms_type_cons_bitfield(SYMS_TypeGraph *graph, SYMS_TypeNode *underlying_type, SYMS_U32 bitoff, SYMS_U32 bitcount)
Definition syms_type_graph.c:407
SYMS_API SYMS_B32 syms_type_node_match(SYMS_TypeNode *l, SYMS_TypeNode *r)
Definition syms_type_graph.c:706
SYMS_API void syms_type_usid_place_holder_replace(SYMS_TypeGraph *graph, SYMS_TypeUSIDPlaceHolder *place, SYMS_TypeNode *node)
Definition syms_type_graph.c:628
SYMS_API SYMS_String8 syms_type_string_cons(SYMS_TypeGraph *graph, SYMS_String8 name)
Definition syms_type_graph.c:38
SYMS_API SYMS_TypeChain syms_type_from_name(SYMS_TypeGraph *graph, SYMS_String8 name)
Definition syms_type_graph.c:50
SYMS_READ_ONLY SYMS_GLOBAL SYMS_TypeNode syms_type_node_nil
Definition syms_type_graph.h:194
#define SYMS_TYPE_GRAPH_TABLE_BUCKET_COUNT
Definition syms_type_graph.h:36
Definition syms_parser.h:48