mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
nassert_raise
This commit is contained in:
parent
ec535f800a
commit
14765e6fc4
@ -393,6 +393,26 @@ ptr() {
|
|||||||
return _global_ptr;
|
return _global_ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: Notify::assert_failure
|
||||||
|
// Access: Public
|
||||||
|
// Description: This function is not intended to be called directly
|
||||||
|
// by user code. It's called from the nassertr() and
|
||||||
|
// assertv() macros when an assertion test fails; it
|
||||||
|
// handles the job of printing the warning message and
|
||||||
|
// deciding what to do about it.
|
||||||
|
//
|
||||||
|
// If this function returns true, the calling function
|
||||||
|
// should return out of its function; if it returns
|
||||||
|
// false, the calling function should ignore the
|
||||||
|
// assertion.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
bool Notify::
|
||||||
|
assert_failure(const string &expression, int line,
|
||||||
|
const char *source_file) {
|
||||||
|
return assert_failure(expression.c_str(), line, source_file);
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: Notify::assert_failure
|
// Function: Notify::assert_failure
|
||||||
// Access: Public
|
// Access: Public
|
||||||
|
@ -77,6 +77,8 @@ PUBLISHED:
|
|||||||
public:
|
public:
|
||||||
static ios_fmtflags get_literal_flag();
|
static ios_fmtflags get_literal_flag();
|
||||||
|
|
||||||
|
bool assert_failure(const string &expression, int line,
|
||||||
|
const char *source_file);
|
||||||
bool assert_failure(const char *expression, int line,
|
bool assert_failure(const char *expression, int line,
|
||||||
const char *source_file);
|
const char *source_file);
|
||||||
|
|
||||||
@ -151,6 +153,8 @@ private:
|
|||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define nassert_raise(message)
|
||||||
|
|
||||||
#else // NDEBUG
|
#else // NDEBUG
|
||||||
|
|
||||||
#define nassertr(condition, return_value) \
|
#define nassertr(condition, return_value) \
|
||||||
@ -178,6 +182,8 @@ private:
|
|||||||
#define nassertr_always(condition, return_value) nassertr(condition, return_value)
|
#define nassertr_always(condition, return_value) nassertr(condition, return_value)
|
||||||
#define nassertv_always(condition) nassertv(condition)
|
#define nassertv_always(condition) nassertv(condition)
|
||||||
|
|
||||||
|
#define nassert_raise(message) Notify::ptr()->assert_failure(message, __LINE__, __FILE__)
|
||||||
|
|
||||||
|
|
||||||
#endif // NDEBUG
|
#endif // NDEBUG
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user