28 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			28 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#ifndef HX_ERROR_CODES
							 | 
						||
| 
								 | 
							
								#define HX_ERROR_CODES
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// --- Exteral constants, used inline
							 | 
						||
| 
								 | 
							
								#define HX_INVALID_CAST          Dynamic(HX_CSTRING("Invalid Cast"))
							 | 
						||
| 
								 | 
							
								#define HX_INVALID_INTERFACE     Dynamic(HX_CSTRING("Object does not implement interface"))
							 | 
						||
| 
								 | 
							
								#define HX_INDEX_OUT_OF_BOUNDS   Dynamic(HX_CSTRING("Index Out of Bounds"))
							 | 
						||
| 
								 | 
							
								#define HX_INVALID_CONSTRUCTOR   Dynamic(HX_CSTRING("Invalid constructor"))
							 | 
						||
| 
								 | 
							
								#define HX_INVALID_ENUM_CONSTRUCTOR(_enum_name, _constructor_name)      \
							 | 
						||
| 
								 | 
							
								    Dynamic(HX_CSTRING("Invalid enum constructor for ") +               \
							 | 
						||
| 
								 | 
							
								            HX_CSTRING(_enum_name) +                                    \
							 | 
						||
| 
								 | 
							
								            HX_CSTRING(": ") +                                          \
							 | 
						||
| 
								 | 
							
								            _constructor_name)
							 | 
						||
| 
								 | 
							
								#define HX_INVALID_OBJECT        Dynamic(HX_CSTRING("Invalid object"))
							 | 
						||
| 
								 | 
							
								#define HX_INVALID_ARG_COUNT     Dynamic(HX_CSTRING("Invalid Arg Count"))
							 | 
						||
| 
								 | 
							
								#define HX_NULL_FUNCTION_POINTER Dynamic(HX_CSTRING("Null Function Pointer"))
							 | 
						||
| 
								 | 
							
								#define HX_INVALID_ENUM_ARG_COUNT(_enum_name, _constructor_name, _count, _expected) \
							 | 
						||
| 
								 | 
							
								    Dynamic(HX_CSTRING("Invalid enum arg count for ") +                 \
							 | 
						||
| 
								 | 
							
								            HX_CSTRING(_enum_name) +                                    \
							 | 
						||
| 
								 | 
							
								            HX_CSTRING(".") +                                           \
							 | 
						||
| 
								 | 
							
								            _constructor_name +                                         \
							 | 
						||
| 
								 | 
							
								            HX_CSTRING(": expected ") +                                 \
							 | 
						||
| 
								 | 
							
								            ::String(_expected) +                                       \
							 | 
						||
| 
								 | 
							
								            HX_CSTRING(", got ") +                                      \
							 | 
						||
| 
								 | 
							
								            ::String(_count))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif
							 |