summaryrefslogtreecommitdiffhomepage
path: root/public/frameworks/KernelTest.fwrk/headers/SourceLocation.h
diff options
context:
space:
mode:
Diffstat (limited to 'public/frameworks/KernelTest.fwrk/headers/SourceLocation.h')
-rw-r--r--public/frameworks/KernelTest.fwrk/headers/SourceLocation.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/public/frameworks/KernelTest.fwrk/headers/SourceLocation.h b/public/frameworks/KernelTest.fwrk/headers/SourceLocation.h
new file mode 100644
index 00000000..6507864b
--- /dev/null
+++ b/public/frameworks/KernelTest.fwrk/headers/SourceLocation.h
@@ -0,0 +1,36 @@
+/* ========================================
+
+ Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
+
+======================================== */
+
+#pragma once
+
+#include <CoreFoundation.fwrk/headers/Object.h>
+#include <CoreFoundation.fwrk/headers/String.h>
+#include <KernelTest.fwrk/headers/Foundation.h>
+
+class KTSourceLocation;
+
+/// ================================================================================
+/// @brief SourceLocation class for Kernel Test Framework.
+/// ================================================================================
+class KTSourceLocation final CF_OBJECT {
+ public:
+ explicit KTSourceLocation() = delete;
+ ~KTSourceLocation() override = default;
+
+ LIBSYS_COPY_DELETE(KTSourceLocation);
+
+ public:
+ KTSourceLocation(const Char*, const SInt32 = 0UL);
+
+ CF::CFString File();
+ SInt32 Line();
+
+ CF::CFString operator()();
+
+ private:
+ CF::CFString mFile{4096};
+ SInt32 mLine{0U};
+}; \ No newline at end of file