Merge pull request #2580 from ItsVeryWindy/master
[mono.git] / mono / utils / mono-error-internals.h
index d16f9ef660245c8b944665b45f97c4f012c05f3d..e4f49fbad3881a91ca28601f693a795bfc3d9a41 100644 (file)
@@ -39,8 +39,11 @@ typedef struct {
 
 #define is_ok(error) ((error)->error_code == MONO_ERROR_NONE)
 
+#define return_if_nok(error) do { if (!is_ok ((error))) return; } while (0)
+#define return_val_if_nok(error,val) do { if (!is_ok ((error))) return (val); } while (0)
+
 void
-mono_error_assert_ok_pos (MonoError *error, const char* filename, int lineno);
+mono_error_assert_ok_pos (MonoError *error, const char* filename, int lineno) MONO_LLVM_INTERNAL;
 
 #define mono_error_assert_ok(e) mono_error_assert_ok_pos (e, __FILE__, __LINE__);
 
@@ -81,6 +84,9 @@ mono_error_set_out_of_memory (MonoError *error, const char *msg_format, ...);
 void
 mono_error_set_argument (MonoError *error, const char *argument, const char *msg_format, ...);
 
+void
+mono_error_set_argument_null (MonoError *oerror, const char *argument, const char *msg_format, ...);
+
 void
 mono_error_set_not_verifiable (MonoError *oerror, MonoMethod *method, const char *msg_format, ...);