diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-10-26 17:51:30 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-10-26 17:51:30 +0100 |
| commit | 09d50a07349df2a5fc1c62452d0f924549db83e6 (patch) | |
| tree | 6e18e55ad5087973a8fabd28e2ec9c0b25d369ab /dev | |
| parent | f0ee6dc640d1d1f00c40bc2f58e9d6a8fd94bd2b (diff) | |
feat: new ErrorOr API for NeCTI.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev')
| -rw-r--r-- | dev/CompilerKit/Defines.h | 4 | ||||
| -rw-r--r-- | dev/CompilerKit/ErrorOr.h | 13 | ||||
| -rw-r--r-- | dev/CompilerKit/Frontend.h | 2 | ||||
| -rw-r--r-- | dev/CompilerKit/src/Backend/AssemblerAMD64.cc | 2 | ||||
| -rw-r--r-- | dev/CompilerKit/src/FrontendHelpers.cc | 2 | ||||
| -rw-r--r-- | dev/DebuggerKit/CommonCLI.inl | 2 | ||||
| -rw-r--r-- | dev/DebuggerKit/POSIXMachContract.h | 10 | ||||
| -rw-r--r-- | dev/DebuggerKit/src/NeKernelContract.cc | 10 |
8 files changed, 20 insertions, 25 deletions
diff --git a/dev/CompilerKit/Defines.h b/dev/CompilerKit/Defines.h index 36d51ef..3a62b48 100644 --- a/dev/CompilerKit/Defines.h +++ b/dev/CompilerKit/Defines.h @@ -23,10 +23,6 @@ #define NO false #endif // ifndef NO -#ifndef BOOL -#define BOOL bool -#endif // ifndef BOOL - #define SizeType size_t #define VoidPtr void* diff --git a/dev/CompilerKit/ErrorOr.h b/dev/CompilerKit/ErrorOr.h index ef6cb84..ba7b883 100644 --- a/dev/CompilerKit/ErrorOr.h +++ b/dev/CompilerKit/ErrorOr.h @@ -9,6 +9,7 @@ #pragma once +#include <CompilerKit/StringKit.h> #include <CompilerKit/Defines.h> #include <CompilerKit/ErrorID.h> #include <CompilerKit/Ref.h> @@ -24,17 +25,15 @@ class ErrorOr final { public: explicit ErrorOr(Int32 err) : mId(err) {} - - explicit ErrorOr(nullPtr Null) {} - - explicit ErrorOr(T Class) : mRef(Class) {} + explicit ErrorOr(nullPtr null) {} + explicit ErrorOr(T klass) : mRef(klass) {} ErrorOr& operator=(const ErrorOr&) = default; ErrorOr(const ErrorOr&) = default; Ref<T> Leak() { return mRef; } - Int32 Error() { return mId; } + ErrorT Error() { return mId; } Bool HasError() { return mId != NECTI_SUCCESS; } @@ -42,9 +41,9 @@ class ErrorOr final { private: Ref<T> mRef; - Int32 mId{0}; + ErrorT mId{0}; }; using ErrorOrAny = ErrorOr<voidPtr>; - +using ErrorOrString = ErrorOr<STLString>; } // namespace CompilerKit diff --git a/dev/CompilerKit/Frontend.h b/dev/CompilerKit/Frontend.h index 0f81342..efafae8 100644 --- a/dev/CompilerKit/Frontend.h +++ b/dev/CompilerKit/Frontend.h @@ -85,7 +85,7 @@ struct SyntaxLeafList final { /// \param haystack base string /// \param needle the string we search for. /// \return if we found it or not. -BOOL find_word(STLString haystack, STLString needle) noexcept; +Bool find_word(STLString haystack, STLString needle) noexcept; /// find a word within strict conditions and returns a range of it. /// \param haystack diff --git a/dev/CompilerKit/src/Backend/AssemblerAMD64.cc b/dev/CompilerKit/src/Backend/AssemblerAMD64.cc index 603b441..ec71f9b 100644 --- a/dev/CompilerKit/src/Backend/AssemblerAMD64.cc +++ b/dev/CompilerKit/src/Backend/AssemblerAMD64.cc @@ -965,7 +965,7 @@ bool CompilerKit::EncoderAMD64::WriteLine(std::string line, std::string file) { {.fName = "si", .fModRM = 0x6}, {.fName = "di", .fModRM = 7}, }; - BOOL foundInstruction = false; + Bool foundInstruction = false; for (auto& opcodeAMD64 : kOpcodesAMD64) { // strict check here diff --git a/dev/CompilerKit/src/FrontendHelpers.cc b/dev/CompilerKit/src/FrontendHelpers.cc index 37b36f7..dc81fa2 100644 --- a/dev/CompilerKit/src/FrontendHelpers.cc +++ b/dev/CompilerKit/src/FrontendHelpers.cc @@ -11,7 +11,7 @@ namespace CompilerKit { /// \param haystack base string /// \param needle the string we search for. /// \return if we found it or not. -BOOL find_word(STLString haystack, STLString needle) noexcept { +Bool find_word(STLString haystack, STLString needle) noexcept { auto index = haystack.find(needle); // check for needle validity. diff --git a/dev/DebuggerKit/CommonCLI.inl b/dev/DebuggerKit/CommonCLI.inl index cf006f5..eb56257 100644 --- a/dev/DebuggerKit/CommonCLI.inl +++ b/dev/DebuggerKit/CommonCLI.inl @@ -15,7 +15,7 @@ #define kStdOut (std::cout << kRed << "dbg: " << kWhite) -static BOOL kKeepRunning = false; +static Bool kKeepRunning = false; #ifdef DK_NEKERNEL_DEBUGGER static DebuggerKit::NeKernel::NeKernelContract kKernelDebugger; diff --git a/dev/DebuggerKit/POSIXMachContract.h b/dev/DebuggerKit/POSIXMachContract.h index 931852a..a2b507c 100644 --- a/dev/DebuggerKit/POSIXMachContract.h +++ b/dev/DebuggerKit/POSIXMachContract.h @@ -54,7 +54,7 @@ class POSIXMachContract : public DebuggerContract { POSIXMachContract(const POSIXMachContract&) = default; public: - BOOL Attach(std::string path, std::string argv, ProcessID& pid) noexcept override { + Bool Attach(std::string path, std::string argv, ProcessID& pid) noexcept override { pid = fork(); if (pid == 0) { @@ -90,7 +90,7 @@ class POSIXMachContract : public DebuggerContract { m_path = path; } - BOOL BreakAt(std::string symbol) noexcept override { + Bool BreakAt(std::string symbol) noexcept override { if (!m_path.empty() && std::filesystem::exists(m_path) && std::filesystem::is_regular_file(m_path)) { auto handle = dlopen(m_path.c_str(), RTLD_LAZY); @@ -120,7 +120,7 @@ class POSIXMachContract : public DebuggerContract { return false; } - BOOL Break() noexcept override { + Bool Break() noexcept override { task_read_t task; task_for_pid(mach_task_self(), m_pid, &task); @@ -129,7 +129,7 @@ class POSIXMachContract : public DebuggerContract { return ret == KERN_SUCCESS; } - BOOL Continue() noexcept override { + Bool Continue() noexcept override { task_read_t task; task_for_pid(mach_task_self(), m_pid, &task); @@ -138,7 +138,7 @@ class POSIXMachContract : public DebuggerContract { return ret == KERN_SUCCESS; } - BOOL Detach() noexcept override { + Bool Detach() noexcept override { this->Continue(); task_read_t task; diff --git a/dev/DebuggerKit/src/NeKernelContract.cc b/dev/DebuggerKit/src/NeKernelContract.cc index 53017d6..ae041fc 100644 --- a/dev/DebuggerKit/src/NeKernelContract.cc +++ b/dev/DebuggerKit/src/NeKernelContract.cc @@ -22,7 +22,7 @@ NeKernelContract::NeKernelContract() = default; NeKernelContract::~NeKernelContract() = default; -BOOL NeKernelContract::Attach(CompilerKit::STLString path, CompilerKit::STLString argv, +Bool NeKernelContract::Attach(CompilerKit::STLString path, CompilerKit::STLString argv, ProcessID& pid) noexcept { if (path.empty() || argv.empty()) return NO; @@ -48,7 +48,7 @@ BOOL NeKernelContract::Attach(CompilerKit::STLString path, CompilerKit::STLStrin return ret; } -BOOL NeKernelContract::BreakAt(CompilerKit::STLString symbol) noexcept { +Bool NeKernelContract::BreakAt(CompilerKit::STLString symbol) noexcept { CompilerKit::STLString pkt = Detail::kDebugMagic; pkt += ";SYM="; pkt += symbol; @@ -60,7 +60,7 @@ BOOL NeKernelContract::BreakAt(CompilerKit::STLString symbol) noexcept { return ret; } -BOOL NeKernelContract::Break() noexcept { +Bool NeKernelContract::Break() noexcept { CompilerKit::STLString pkt = Detail::kDebugMagic; pkt += ";BRK=1;\r"; @@ -68,7 +68,7 @@ BOOL NeKernelContract::Break() noexcept { return ret; } -BOOL NeKernelContract::Continue() noexcept { +Bool NeKernelContract::Continue() noexcept { CompilerKit::STLString pkt = Detail::kDebugMagic; pkt += ";CONT=1;\r"; @@ -77,7 +77,7 @@ BOOL NeKernelContract::Continue() noexcept { return NO; } -BOOL NeKernelContract::Detach() noexcept { +Bool NeKernelContract::Detach() noexcept { CompilerKit::STLString pkt = Detail::kDebugMagic; pkt += ";DTCH=1;\r"; |
