2 * \file Definitions of getters for the fields of struct _MonoClass
4 * Copyright 2018 Microsoft
5 * Licensed under the MIT license. See LICENSE file in the project root for full license information.
8 /* No include guards - this file is meant to be included multiple times.
9 * Before including the file define the following macros:
10 * MONO_CLASS_GETTER(funcname, rettype, optref, argtype, fieldname)
12 * MONO_CLASS_OFFSET(funcname, argtype, fieldname)
15 /* Accessors for _MonoClass fields. */
16 MONO_CLASS_GETTER(m_class_get_element_class
, MonoClass
*, , MonoClass
, element_class
)
17 MONO_CLASS_GETTER(m_class_get_cast_class
, MonoClass
*, , MonoClass
, cast_class
)
18 MONO_CLASS_GETTER(m_class_get_supertypes
, MonoClass
**, , MonoClass
, supertypes
)
19 MONO_CLASS_GETTER(m_class_get_idepth
, guint16
, , MonoClass
, idepth
)
20 MONO_CLASS_GETTER(m_class_get_rank
, guint8
, , MonoClass
, rank
)
21 MONO_CLASS_GETTER(m_class_get_instance_size
, int, , MonoClass
, instance_size
)
22 MONO_CLASS_GETTER(m_class_is_inited
, gboolean
, , MonoClass
, inited
)
23 MONO_CLASS_GETTER(m_class_is_size_inited
, gboolean
, , MonoClass
, size_inited
)
24 MONO_CLASS_GETTER(m_class_is_valuetype
, gboolean
, , MonoClass
, valuetype
)
25 MONO_CLASS_GETTER(m_class_is_enumtype
, gboolean
, , MonoClass
, enumtype
)
26 MONO_CLASS_GETTER(m_class_is_blittable
, gboolean
, , MonoClass
, blittable
)
27 MONO_CLASS_GETTER(m_class_is_unicode
, gboolean
, , MonoClass
, unicode
)
28 MONO_CLASS_GETTER(m_class_was_typebuilder
, gboolean
, , MonoClass
, wastypebuilder
)
29 MONO_CLASS_GETTER(m_class_is_array_special_interface
, gboolean
, , MonoClass
, is_array_special_interface
)
30 MONO_CLASS_GETTER(m_class_is_byreflike
, gboolean
, , MonoClass
, is_byreflike
)
31 MONO_CLASS_GETTER(m_class_get_min_align
, guint8
, , MonoClass
, min_align
)
32 MONO_CLASS_GETTER(m_class_get_packing_size
, guint
, , MonoClass
, packing_size
)
33 MONO_CLASS_GETTER(m_class_is_ghcimpl
, gboolean
, , MonoClass
, ghcimpl
)
34 MONO_CLASS_GETTER(m_class_has_finalize
, gboolean
, , MonoClass
, has_finalize
)
35 #ifndef DISABLE_REMOTING
36 MONO_CLASS_GETTER(m_class_get_marshalbyref
, guint
, , MonoClass
, marshalbyref
)
37 MONO_CLASS_GETTER(m_class_get_contextbound
, guint
, , MonoClass
, contextbound
)
39 MONO_CLASS_GETTER(m_class_is_delegate
, gboolean
, , MonoClass
, delegate
)
40 MONO_CLASS_GETTER(m_class_is_gc_descr_inited
, gboolean
, , MonoClass
, gc_descr_inited
)
41 MONO_CLASS_GETTER(m_class_has_cctor
, gboolean
, , MonoClass
, has_cctor
)
42 MONO_CLASS_GETTER(m_class_has_references
, gboolean
, , MonoClass
, has_references
)
43 MONO_CLASS_GETTER(m_class_has_static_refs
, gboolean
, , MonoClass
, has_static_refs
)
44 MONO_CLASS_GETTER(m_class_has_no_special_static_fields
, gboolean
, , MonoClass
, no_special_static_fields
)
45 MONO_CLASS_GETTER(m_class_is_com_object
, gboolean
, , MonoClass
, is_com_object
)
46 MONO_CLASS_GETTER(m_class_is_nested_classes_inited
, gboolean
, , MonoClass
, nested_classes_inited
)
47 MONO_CLASS_GETTER(m_class_get_class_kind
, guint8
, , MonoClass
, class_kind
)
48 MONO_CLASS_GETTER(m_class_is_interfaces_inited
, gboolean
, , MonoClass
, interfaces_inited
)
49 MONO_CLASS_GETTER(m_class_is_simd_type
, gboolean
, , MonoClass
, simd_type
)
50 MONO_CLASS_GETTER(m_class_is_has_finalize_inited
, gboolean
, , MonoClass
, has_finalize_inited
)
51 MONO_CLASS_GETTER(m_class_is_fields_inited
, gboolean
, , MonoClass
, fields_inited
)
52 MONO_CLASS_GETTER(m_class_has_failure
, gboolean
, , MonoClass
, has_failure
)
53 MONO_CLASS_GETTER(m_class_has_weak_fields
, gboolean
, , MonoClass
, has_weak_fields
)
54 MONO_CLASS_GETTER(m_class_has_dim_conflicts
, gboolean
, , MonoClass
, has_dim_conflicts
)
55 MONO_CLASS_GETTER(m_class_get_parent
, MonoClass
*, , MonoClass
, parent
)
56 MONO_CLASS_GETTER(m_class_get_nested_in
, MonoClass
*, , MonoClass
, nested_in
)
57 MONO_CLASS_GETTER(m_class_get_image
, MonoImage
*, , MonoClass
, image
)
58 MONO_CLASS_GETTER(m_class_get_name
, const char *, , MonoClass
, name
)
59 MONO_CLASS_GETTER(m_class_get_name_space
, const char *, , MonoClass
, name_space
)
60 MONO_CLASS_GETTER(m_class_get_type_token
, guint32
, , MonoClass
, type_token
)
61 MONO_CLASS_GETTER(m_class_get_vtable_size
, int, , MonoClass
, vtable_size
)
62 MONO_CLASS_GETTER(m_class_get_interface_count
, guint16
, , MonoClass
, interface_count
)
63 MONO_CLASS_GETTER(m_class_get_interface_id
, guint32
, , MonoClass
, interface_id
)
64 MONO_CLASS_GETTER(m_class_get_max_interface_id
, guint32
, , MonoClass
, max_interface_id
)
65 MONO_CLASS_GETTER(m_class_get_interface_offsets_count
, guint16
, , MonoClass
, interface_offsets_count
)
66 MONO_CLASS_GETTER(m_class_get_interfaces_packed
, MonoClass
**, , MonoClass
, interfaces_packed
)
67 MONO_CLASS_GETTER(m_class_get_interface_offsets_packed
, guint16
*, , MonoClass
, interface_offsets_packed
)
68 MONO_CLASS_GETTER(m_class_get_interface_bitmap
, guint8
*, , MonoClass
, interface_bitmap
)
69 MONO_CLASS_GETTER(m_class_get_interfaces
, MonoClass
**, , MonoClass
, interfaces
)
70 MONO_CLASS_GETTER(m_class_get_sizes
, union _MonoClassSizes
, , MonoClass
, sizes
)
71 MONO_CLASS_GETTER(m_class_get_fields
, MonoClassField
*, , MonoClass
, fields
)
72 MONO_CLASS_GETTER(m_class_get_methods
, MonoMethod
**, , MonoClass
, methods
)
73 MONO_CLASS_GETTER(m_class_get_this_arg
, MonoType
*, &, MonoClass
, this_arg
)
74 MONO_CLASS_GETTER(m_class_get_byval_arg
, MonoType
*, &, MonoClass
, _byval_arg
)
75 MONO_CLASS_GETTER(m_class_get_gc_descr
, MonoGCDescriptor
, , MonoClass
, gc_descr
)
76 MONO_CLASS_GETTER(m_class_get_runtime_info
, MonoClassRuntimeInfo
*, , MonoClass
, runtime_info
)
77 MONO_CLASS_GETTER(m_class_get_vtable
, MonoMethod
**, , MonoClass
, vtable
)
78 MONO_CLASS_GETTER(m_class_get_infrequent_data
, MonoPropertyBag
*, &, MonoClass
, infrequent_data
)
80 /* Accessors for _MonoClassDef fields. */
81 MONO_CLASS_GETTER(m_classdef_get_klass
, MonoClass
*, &, MonoClassDef
, klass
)
82 MONO_CLASS_GETTER(m_classdef_get_flags
, guint32
, , MonoClassDef
, flags
)
83 MONO_CLASS_GETTER(m_classdef_get_first_method_idx
, guint32
, , MonoClassDef
, first_method_idx
)
84 MONO_CLASS_GETTER(m_classdef_get_first_field_idx
, guint32
, , MonoClassDef
, first_field_idx
)
85 MONO_CLASS_GETTER(m_classdef_get_method_count
, guint32
, , MonoClassDef
, method_count
)
86 MONO_CLASS_GETTER(m_classdef_get_field_count
, guint32
, , MonoClassDef
, field_count
)
87 MONO_CLASS_GETTER(m_classdef_get_next_class_cache
, MonoClass
**, &, MonoClassDef
, next_class_cache
)
89 /* Accessors for _MonoClassGtd fields. */
90 MONO_CLASS_GETTER(m_classgtd_get_klass
, MonoClassDef
*, &, MonoClassGtd
, klass
)
91 MONO_CLASS_GETTER(m_classgtd_get_generic_container
, MonoGenericContainer
*, , MonoClassGtd
, generic_container
)
92 MONO_CLASS_GETTER(m_classgtd_get_canonical_inst
, MonoType
*, &, MonoClassGtd
, canonical_inst
)
94 /* Accessors for _MonoClassGenericInst fields. */
95 MONO_CLASS_GETTER(m_classgenericinst_get_klass
, MonoClass
*, &, MonoClassGenericInst
, klass
)
96 MONO_CLASS_GETTER(m_classgenericinst_get_generic_class
, MonoGenericClass
*, , MonoClassGenericInst
, generic_class
)
98 /* Accessors for _MonoClassGenericParam fields. */
99 MONO_CLASS_GETTER(m_classgenericparam_get_klass
, MonoClass
*, &, MonoClassGenericParam
, klass
)
101 /* Accessors for _MonoClassArray fields. */
102 MONO_CLASS_GETTER(m_classarray_get_klass
, MonoClass
*, &, MonoClassArray
, klass
)
103 MONO_CLASS_GETTER(m_classarray_get_method_count
, guint32
, , MonoClassArray
, method_count
)
105 /* Accessors for _MonoClassPointer fields. */
106 MONO_CLASS_GETTER(m_classpointer_get_klass
, MonoClass
*, &, MonoClassPointer
, klass
)
108 MONO_CLASS_OFFSET(m_class_offsetof_interface_bitmap
, MonoClass
, interface_bitmap
)
109 MONO_CLASS_OFFSET(m_class_offsetof_byval_arg
, MonoClass
, _byval_arg
)
110 MONO_CLASS_OFFSET(m_class_offsetof_cast_class
, MonoClass
, cast_class
)
111 MONO_CLASS_OFFSET(m_class_offsetof_element_class
, MonoClass
, element_class
)
112 MONO_CLASS_OFFSET(m_class_offsetof_idepth
, MonoClass
, idepth
)
113 MONO_CLASS_OFFSET(m_class_offsetof_instance_size
, MonoClass
, instance_size
)
114 MONO_CLASS_OFFSET(m_class_offsetof_interface_id
, MonoClass
, interface_id
)
115 MONO_CLASS_OFFSET(m_class_offsetof_max_interface_id
, MonoClass
, max_interface_id
)
116 MONO_CLASS_OFFSET(m_class_offsetof_parent
, MonoClass
, parent
)
117 MONO_CLASS_OFFSET(m_class_offsetof_rank
, MonoClass
, rank
)
118 MONO_CLASS_OFFSET(m_class_offsetof_sizes
, MonoClass
, sizes
)
119 MONO_CLASS_OFFSET(m_class_offsetof_supertypes
, MonoClass
, supertypes
)
120 MONO_CLASS_OFFSET(m_class_offsetof_class_kind
, MonoClass
, class_kind
)