1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-13 05:44:11 +02:00
Beef/BeefLibs/corlib/src/Diagnostics/Debug.bf

59 lines
1.1 KiB
Beef
Raw Normal View History

2019-08-23 11:56:54 -07:00
namespace System.Diagnostics
{
class Debug
{
#if !DEBUG
[SkipCall]
#endif
public static void Assert(bool condition)
{
if (!condition)
Internal.FatalError("Assert failed", 1);
}
#if !DEBUG
[SkipCall]
#endif
public static void Assert(bool condition, String error)
{
if (!condition)
Internal.FatalError(error, 1);
}
#if !DEBUG
[SkipCall]
#endif
public static void FatalError(String msg = "Fatal error encountered")
{
Internal.FatalError(msg, 1);
}
#if !DEBUG
[SkipCall]
#endif
public static void AssertNotStack(Object obj)
{
#if BF_ENABLE_OBJECT_DEBUG_FLAGS
if ((obj != null) && (obj.[Friend]GetFlags() & 8 != 0))
2019-08-23 11:56:54 -07:00
Internal.FatalError("Assert failed", 1);
#endif
}
static extern void Write(char8* str, int strLen);
public static void WriteLine(StringView line)
{
Write(line.Ptr, line.Length);
Write("\n", 1);
}
public static void WriteLine(StringView strFormat, params Object[] args)
{
String paramStr = scope String();
paramStr.AppendF(strFormat, params args);
paramStr.Append('\n');
Write(paramStr.Ptr, paramStr.Length);
}
}
}