return mono_metadata_parse_method_signature_full (image, NULL, 0, ptr, NULL, error);
}
-/*
+/**
* mono_metadata_signature_alloc:
- * @image: metadata context
- * @nparmas: number of parameters in the signature
+ * \param image metadata context
+ * \param nparams number of parameters in the signature
*
- * Allocate a MonoMethodSignature structure with the specified number of params.
+ * Allocate a \c MonoMethodSignature structure with the specified number of params.
* The return type and the params types need to be filled later.
* This is a Mono runtime internal function.
*
* LOCKING: Assumes the loader lock is held.
*
- * Returns: the new MonoMethodSignature structure.
+ * \returns the new \c MonoMethodSignature structure.
*/
MonoMethodSignature*
mono_metadata_signature_alloc (MonoImage *m, guint32 nparams)
return mono_metadata_signature_dup_internal (NULL, mp, sig);
}
-/*
+/**
* mono_metadata_signature_dup:
- * @sig: method signature
+ * \param sig method signature
*
- * Duplicate an existing MonoMethodSignature so it can be modified.
+ * Duplicate an existing \c MonoMethodSignature so it can be modified.
* This is a Mono runtime internal function.
*
- * Returns: the new MonoMethodSignature structure.
+ * \returns the new \c MonoMethodSignature structure.
*/
MonoMethodSignature*
mono_metadata_signature_dup (MonoMethodSignature *sig)
return mb;
}
+/**
+ * mono_mb_new:
+ */
MonoMethodBuilder *
mono_mb_new (MonoClass *klass, const char *name, MonoWrapperType type)
{
return mb;
}
+/**
+ * mono_mb_free:
+ */
void
mono_mb_free (MonoMethodBuilder *mb)
{
/**
* mono_mb_create_method:
- *
- * Create a MonoMethod from this method builder.
- * Returns: the newly created method.
- *
+ * Create a \c MonoMethod from this method builder.
+ * \returns the newly created method.
*/
MonoMethod *
mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, int max_stack)
return method;
}
+/**
+ * mono_mb_add_data:
+ */
guint32
mono_mb_add_data (MonoMethodBuilder *mb, gpointer data)
{
#ifndef DISABLE_JIT
+/**
+ * mono_mb_add_local:
+ */
int
mono_mb_add_local (MonoMethodBuilder *mb, MonoType *type)
{
return res;
}
+/**
+ * mono_mb_patch_addr:
+ */
void
mono_mb_patch_addr (MonoMethodBuilder *mb, int pos, int value)
{
mb->code [pos + 3] = (value >> 24) & 0xff;
}
+/**
+ * mono_mb_patch_addr_s:
+ */
void
mono_mb_patch_addr_s (MonoMethodBuilder *mb, int pos, gint8 value)
{
*((gint8 *)(&mb->code [pos])) = value;
}
+/**
+ * mono_mb_emit_byte:
+ */
void
mono_mb_emit_byte (MonoMethodBuilder *mb, guint8 op)
{
mb->code [mb->pos++] = op;
}
+/**
+ * mono_mb_emit_ldflda:
+ */
void
mono_mb_emit_ldflda (MonoMethodBuilder *mb, gint32 offset)
{
}
}
+/**
+ * mono_mb_emit_i4:
+ */
void
mono_mb_emit_i4 (MonoMethodBuilder *mb, gint32 data)
{
mb->pos += 8;
}
+/**
+ * mono_mb_emit_i2:
+ */
void
mono_mb_emit_i2 (MonoMethodBuilder *mb, gint16 data)
{
mono_mb_emit_i4 (mb, mono_mb_add_data (mb, data));
}
+/**
+ * mono_mb_emit_ldstr:
+ */
void
mono_mb_emit_ldstr (MonoMethodBuilder *mb, char *str)
{
mono_mb_emit_op (mb, CEE_LDSTR, str);
}
+/**
+ * mono_mb_emit_ldarg:
+ */
void
mono_mb_emit_ldarg (MonoMethodBuilder *mb, guint argnum)
{
}
}
+/**
+ * mono_mb_emit_ldarg_addr:
+ */
void
mono_mb_emit_ldarg_addr (MonoMethodBuilder *mb, guint argnum)
{
}
}
+/**
+ * mono_mb_emit_ldloc_addr:
+ */
void
mono_mb_emit_ldloc_addr (MonoMethodBuilder *mb, guint locnum)
{
}
}
+/**
+ * mono_mb_emit_ldloc:
+ */
void
mono_mb_emit_ldloc (MonoMethodBuilder *mb, guint num)
{
}
}
+/**
+ * mono_mb_emit_stloc:
+ */
void
mono_mb_emit_stloc (MonoMethodBuilder *mb, guint num)
{
}
}
+/**
+ * mono_mb_emit_icon:
+ */
void
mono_mb_emit_icon (MonoMethodBuilder *mb, gint32 value)
{
return mb->pos;
}
+/**
+ * mono_mb_emit_branch:
+ */
guint32
mono_mb_emit_branch (MonoMethodBuilder *mb, guint8 op)
{
mono_mb_emit_op (mb, CEE_CALLI, sig);
}
+/**
+ * mono_mb_emit_managed_call:
+ */
void
mono_mb_emit_managed_call (MonoMethodBuilder *mb, MonoMethod *method, MonoMethodSignature *opt_sig)
{
mono_mb_emit_op (mb, CEE_CALL, method);
}
+/**
+ * mono_mb_emit_native_call:
+ */
void
mono_mb_emit_native_call (MonoMethodBuilder *mb, MonoMethodSignature *sig, gpointer func)
{
mono_mb_emit_byte (mb, CEE_THROW);
}
+/**
+ * mono_mb_emit_exception:
+ */
void
mono_mb_emit_exception (MonoMethodBuilder *mb, const char *exc_name, const char *msg)
{
mono_mb_emit_exception_full (mb, "System", exc_name, msg);
}
+/**
+ * mono_mb_emit_add_to_local:
+ */
void
mono_mb_emit_add_to_local (MonoMethodBuilder *mb, guint16 local, gint32 incr)
{