27 lines
804 B
Odin
27 lines
804 B
Odin
package grime
|
|
|
|
// Below should be defined per-package
|
|
|
|
ensure :: #force_inline proc(condition: bool, msg: string, location := #caller_location) -> bool {
|
|
if condition do return true
|
|
log_print( msg, LoggerLevel.Warning, location )
|
|
when ODIN_DEBUG == false do return false
|
|
else {
|
|
debug_trap()
|
|
return false
|
|
}
|
|
}
|
|
// TODO(Ed) : Setup exit codes!
|
|
fatal :: #force_inline proc(msg: string, exit_code: int = -1, location := #caller_location) {
|
|
log_print( msg, LoggerLevel.Fatal, location )
|
|
debug_trap()
|
|
process_exit( exit_code )
|
|
}
|
|
// TODO(Ed) : Setup exit codes!
|
|
verify :: #force_inline proc(condition: bool, msg: string, exit_code: int = -1, location := #caller_location) -> bool {
|
|
if condition do return true
|
|
log_print( msg, LoggerLevel.Fatal, location )
|
|
debug_trap()
|
|
process_exit( exit_code )
|
|
}
|