Merge pull request #2714 from lambdageek/dev/monoerror-mono_reflection_type_get_handle
[mono.git] / mono / metadata / object-internals.h
index b7da7a0bd40a0afa03ae8da85c1264659c3cdeda..f083ca8fdb4db4cb85f88d707590c19d1fcdb13b 100644 (file)
                return retval;                                                                            \
        };                              }G_STMT_END
 
+/* Use this as MONO_ARG_NULL (arg,) in functions returning void */
+#define MONO_CHECK_NULL(arg, retval)       G_STMT_START{                 \
+               if (G_UNLIKELY (arg == NULL))                                             \
+       {                                                                 \
+               MonoException *ex;                                        \
+               if (arg) {} /* check if the name exists */                \
+               ex = mono_get_exception_null_reference ();                \
+               mono_set_pending_exception (ex);                                          \
+               return retval;                                                                            \
+       };                              }G_STMT_END
+
 #define mono_string_builder_capacity(sb) sb->chunkOffset + sb->chunkChars->max_length
 #define mono_string_builder_string_length(sb) sb->chunkOffset + sb->chunkLength