@@ -17,15 +17,17 @@ enum MunStructMemoryKind
17
17
#endif // __cplusplus
18
18
{
19
19
/**
20
- * A garbage collected struct is allocated on the heap and uses reference semantics when passed
21
- * around.
20
+ * A garbage collected struct is allocated on the heap and uses reference
21
+ * semantics when passed around.
22
22
*/
23
23
Gc ,
24
24
/**
25
- * A value struct is allocated on the stack and uses value semantics when passed around.
25
+ * A value struct is allocated on the stack and uses value semantics when
26
+ * passed around.
26
27
*
27
- * NOTE: When a value struct is used in an external API, a wrapper is created that _pins_ the
28
- * value on the heap. The heap-allocated value needs to be *manually deallocated*!
28
+ * NOTE: When a value struct is used in an external API, a wrapper is
29
+ * created that _pins_ the value on the heap. The heap-allocated value
30
+ * needs to be *manually deallocated*!
29
31
*/
30
32
Value ,
31
33
};
@@ -65,10 +67,11 @@ typedef struct MunArrayTypeId {
65
67
} MunArrayTypeId ;
66
68
67
69
/**
68
- * Represents a unique identifier for types. The runtime can use this to lookup the corresponding
69
- * [`TypeInfo`]. A [`TypeId`] is a key for a [`TypeInfo`].
70
+ * Represents a unique identifier for types. The runtime can use this to lookup
71
+ * the corresponding [`TypeInfo`]. A [`TypeId`] is a key for a [`TypeInfo`].
70
72
*
71
- * A [`TypeId`] only contains enough information to query the runtime for a [`TypeInfo`].
73
+ * A [`TypeId`] only contains enough information to query the runtime for a
74
+ * [`TypeInfo`].
72
75
*/
73
76
enum MunTypeId_Tag
74
77
#ifdef __cplusplus
@@ -127,8 +130,8 @@ typedef struct MunFunctionSignature {
127
130
} MunFunctionSignature ;
128
131
129
132
/**
130
- * Represents a function prototype. A function prototype contains the name, type signature, but
131
- * not an implementation.
133
+ * Represents a function prototype. A function prototype contains the name,
134
+ * type signature, but not an implementation.
132
135
*/
133
136
typedef struct MunFunctionPrototype {
134
137
/**
@@ -142,8 +145,8 @@ typedef struct MunFunctionPrototype {
142
145
} MunFunctionPrototype ;
143
146
144
147
/**
145
- * Represents a function definition. A function definition contains the name, type signature, and
146
- * a pointer to the implementation.
148
+ * Represents a function definition. A function definition contains the name,
149
+ * type signature, and a pointer to the implementation.
147
150
*
148
151
* `fn_ptr` can be used to call the declared function.
149
152
*/
@@ -189,7 +192,8 @@ typedef struct MunStructDefinition {
189
192
} MunStructDefinition ;
190
193
191
194
/**
192
- * Contains data specific to a group of types that illicit the same characteristics.
195
+ * Contains data specific to a group of types that illicit the same
196
+ * characteristics.
193
197
*/
194
198
enum MunTypeDefinitionData_Tag
195
199
#ifdef __cplusplus
@@ -216,16 +220,17 @@ typedef union MunTypeDefinitionData {
216
220
/**
217
221
* Represents the type declaration for a type that is exported by an assembly.
218
222
*
219
- * When multiple Mun modules reference the same type, only one module exports the type; the module
220
- * that contains the type definition. All the other Mun modules reference the type through a
221
- * [`TypeId`].
223
+ * When multiple Mun modules reference the same type, only one module exports
224
+ * the type; the module that contains the type definition. All the other Mun
225
+ * modules reference the type through a [`TypeId`].
222
226
*
223
- * The modules that defines the type exports the data to reduce the filesize of the assemblies and
224
- * to ensure only one definition exists. When linking all assemblies together the type definitions
225
- * from all assemblies are loaded and the information is shared to modules that reference the type.
227
+ * The modules that defines the type exports the data to reduce the filesize of
228
+ * the assemblies and to ensure only one definition exists. When linking all
229
+ * assemblies together the type definitions from all assemblies are loaded and
230
+ * the information is shared to modules that reference the type.
226
231
*
227
- * TODO: add support for polymorphism, enumerations, type parameters, generic type definitions, and
228
- * constructed generic types.
232
+ * TODO: add support for polymorphism, enumerations, type parameters, generic
233
+ * type definitions, and constructed generic types.
229
234
*/
230
235
typedef struct MunTypeDefinition {
231
236
/**
@@ -293,7 +298,8 @@ typedef struct MunDispatchTable {
293
298
} MunDispatchTable ;
294
299
295
300
/**
296
- * Represents a lookup table for type information. This is used for runtime linking.
301
+ * Represents a lookup table for type information. This is used for runtime
302
+ * linking.
297
303
*
298
304
* Type IDs and handles are stored separately for cache efficiency.
299
305
*/
0 commit comments