hoshi-lang
dev
Yet another programming language
Loading...
Searching...
No Matches
rtti.h
Go to the documentation of this file.
1
//
2
// Created by XIaokang00010 on 2025/8/15.
3
//
4
5
#ifndef HOSHI_LANG_RTTI_H
6
#define HOSHI_LANG_RTTI_H
7
8
#include <cstddef>
9
#include <cstdint>
10
11
enum class
valueType
: uint64_t {
12
integerRaw
= 0,
13
decimalRaw
,
14
booleanRaw
,
15
characterObject
,
16
stringLiteral
,
17
structObject
,
18
null
,
19
integerObject
,
20
booleanObject
,
21
decimalObject
,
22
stringObject
,
23
virtualMethod
,
24
pointerObject
,
25
interfaceObject
,
26
none
,
27
charRaw
,
28
incompleteTemplateType
,
29
foreignInt32Type
,
30
foreignFloatType
,
31
};
32
33
struct
YoiIntegerObject
;
34
struct
YoiStringObject
;
35
36
struct
YoiTypeInfo
{
37
int64_t
type_id
;
38
const
char
*
type_name
;
39
valueType
type_enum
;
40
int64_t
type_affiliate_module
;
41
int64_t
type_index
;
42
int64_t
is_array
;
43
};
44
45
struct
YoiTypeInfoObject
{
46
int64_t
gc_refcount
;
47
int64_t
type_info_struct_type_id
;
48
int64_t
type_id_object
;
49
char
*
type_name_object
;
50
int64_t
type_enum_object
;
51
int64_t
type_affiliate_module_object
;
52
int64_t
type_index_object
;
53
int64_t
is_array_object
;
54
};
55
56
extern
"C"
YoiTypeInfo
rtti_table
[];
57
58
extern
"C"
YoiTypeInfoObject
*
rtti_object_alloc
(
YoiIntegerObject
*type_id_object);
59
60
#endif
rtti_table
YoiTypeInfo rtti_table[]
Definition
rtti.h:56
rtti_object_alloc
YoiTypeInfoObject * rtti_object_alloc(YoiIntegerObject *type_id_object)
Definition
rtti.cpp:5
valueType
valueType
Definition
rtti.h:11
valueType::none
@ none
valueType::null
@ null
valueType::incompleteTemplateType
@ incompleteTemplateType
valueType::stringLiteral
@ stringLiteral
valueType::virtualMethod
@ virtualMethod
valueType::structObject
@ structObject
valueType::interfaceObject
@ interfaceObject
valueType::decimalRaw
@ decimalRaw
valueType::characterObject
@ characterObject
valueType::stringObject
@ stringObject
valueType::decimalObject
@ decimalObject
valueType::charRaw
@ charRaw
valueType::integerObject
@ integerObject
valueType::foreignInt32Type
@ foreignInt32Type
valueType::integerRaw
@ integerRaw
valueType::pointerObject
@ pointerObject
valueType::booleanObject
@ booleanObject
valueType::foreignFloatType
@ foreignFloatType
valueType::booleanRaw
@ booleanRaw
YoiIntegerObject
Definition
memory.h:25
YoiStringObject
Definition
memory.h:37
YoiTypeInfoObject
Definition
rtti.h:45
YoiTypeInfoObject::type_affiliate_module_object
int64_t type_affiliate_module_object
Definition
rtti.h:51
YoiTypeInfoObject::type_enum_object
int64_t type_enum_object
Definition
rtti.h:50
YoiTypeInfoObject::type_index_object
int64_t type_index_object
Definition
rtti.h:52
YoiTypeInfoObject::is_array_object
int64_t is_array_object
Definition
rtti.h:53
YoiTypeInfoObject::type_info_struct_type_id
int64_t type_info_struct_type_id
Definition
rtti.h:47
YoiTypeInfoObject::type_name_object
char * type_name_object
Definition
rtti.h:49
YoiTypeInfoObject::gc_refcount
int64_t gc_refcount
Definition
rtti.h:46
YoiTypeInfoObject::type_id_object
int64_t type_id_object
Definition
rtti.h:48
YoiTypeInfo
Definition
rtti.h:36
YoiTypeInfo::type_index
int64_t type_index
Definition
rtti.h:41
YoiTypeInfo::type_enum
valueType type_enum
Definition
rtti.h:39
YoiTypeInfo::type_id
int64_t type_id
Definition
rtti.h:37
YoiTypeInfo::is_array
int64_t is_array
Definition
rtti.h:42
YoiTypeInfo::type_name
const char * type_name
Definition
rtti.h:38
YoiTypeInfo::type_affiliate_module
int64_t type_affiliate_module
Definition
rtti.h:40
runtime
rtti
rtti.h
Generated by
1.9.8