get_type_info
This commit is contained in:
@@ -16,32 +16,32 @@ Any :: struct
|
||||
|
||||
Type_ID :: S32
|
||||
Type_Info_Kind :: enum
|
||||
TYPE_NONE
|
||||
TYPE_S64 :: 7 // FIRST_NUMERIC
|
||||
TYPE_S32
|
||||
TYPE_S16
|
||||
TYPE_S8
|
||||
TYPE_INT
|
||||
TYPE_CHAR
|
||||
TYPE_U64
|
||||
TYPE_U32
|
||||
TYPE_U16
|
||||
TYPE_U8
|
||||
TYPE_F32
|
||||
TYPE_F64
|
||||
TYPE_POINTER
|
||||
TYPE_BOOL // LAST_NUMERIC
|
||||
TYPE_STRING
|
||||
TYPE_VOID
|
||||
TYPE_ARRAY
|
||||
TYPE_LAMBDA
|
||||
TYPE_STRUCT
|
||||
TYPE_UNION
|
||||
TYPE_ENUM
|
||||
TYPE_TYPE
|
||||
TYPE_SLICE
|
||||
TYPE_TUPLE
|
||||
TYPE_ANY
|
||||
NONE
|
||||
S64 :: 7 // FIRST_NUMERIC
|
||||
S32
|
||||
S16
|
||||
S8
|
||||
INT
|
||||
CHAR
|
||||
U64
|
||||
U32
|
||||
U16
|
||||
U8
|
||||
F32
|
||||
F64
|
||||
POINTER
|
||||
BOOL // LAST_NUMERIC
|
||||
STRING
|
||||
VOID
|
||||
ARRAY
|
||||
LAMBDA
|
||||
STRUCT
|
||||
UNION
|
||||
ENUM
|
||||
TYPE
|
||||
SLICE
|
||||
TUPLE
|
||||
ANY
|
||||
|
||||
Type_Info_Struct_Member :: struct
|
||||
name: String
|
||||
@@ -63,5 +63,10 @@ Type_Info :: struct
|
||||
lambda_arguments: *Type_Info
|
||||
lambda_return: Type_ID
|
||||
|
||||
type_infos_len: U32 #foreign
|
||||
type_infos_len: S32 #foreign
|
||||
type_infos : *Type_Info #foreign
|
||||
|
||||
get_type_info :: (id: Type_ID): *Type_Info
|
||||
if id >= type_infos_len
|
||||
return 0
|
||||
return type_infos + id
|
||||
Reference in New Issue
Block a user