mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 07:30:19 +00:00
AK+LibC: Add TODO() as an alternative to ASSERT_NOT_REACHED()
I've been using this in the new HTML parser and it makes it much easier to understand the state of unfinished code branches. TODO() is for places where it's okay to end up but we need to implement something there. ASSERT_NOT_REACHED() is for places where it's not okay to end up, and something has gone wrong.
This commit is contained in:
parent
cfbd95f42a
commit
1ef5d609d9
Notes:
sideshowbarker
2024-07-19 05:57:51 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/1ef5d609d93
6 changed files with 4 additions and 11 deletions
|
@ -36,6 +36,7 @@
|
|||
# define ASSERT assert
|
||||
# define ASSERT_NOT_REACHED() assert(false)
|
||||
# define RELEASE_ASSERT assert
|
||||
# define TODO ASSERT_NOT_REACHED
|
||||
# endif
|
||||
# endif
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
|
||||
#define ASSERT_NOT_REACHED() fprintf(stderr, "\033[31;1mASSERT_NOT_REACHED\033[0m\n");
|
||||
#define RELEASE_ASSERT ASSERT
|
||||
#define TODO ASSERT_NOT_REACHED
|
||||
|
||||
#include <AK/Function.h>
|
||||
#include <AK/NonnullRefPtrVector.h>
|
||||
|
|
|
@ -47,3 +47,4 @@
|
|||
} while (0)
|
||||
#define ASSERT_INTERRUPTS_DISABLED() ASSERT(!(cpu_flags() & 0x200))
|
||||
#define ASSERT_INTERRUPTS_ENABLED() ASSERT(cpu_flags() & 0x200)
|
||||
#define TODO ASSERT_NOT_REACHED
|
||||
|
|
|
@ -51,5 +51,6 @@ __attribute__((noreturn)) void __assertion_failed(const char* msg);
|
|||
} while (0)
|
||||
#define ASSERT assert
|
||||
#define RELEASE_ASSERT assert
|
||||
#define TODO ASSERT_NOT_REACHED
|
||||
|
||||
__END_DECLS
|
||||
|
|
|
@ -39,11 +39,6 @@
|
|||
#include <LibWeb/Parser/HTMLDocumentParser.h>
|
||||
#include <LibWeb/Parser/HTMLToken.h>
|
||||
|
||||
#define TODO() \
|
||||
do { \
|
||||
ASSERT_NOT_REACHED(); \
|
||||
} while (0)
|
||||
|
||||
#define PARSE_ERROR() \
|
||||
do { \
|
||||
dbg() << "Parse error! " << __PRETTY_FUNCTION__ << " @ " << __LINE__; \
|
||||
|
|
|
@ -37,12 +37,6 @@
|
|||
#define CONSUME_NEXT_INPUT_CHARACTER \
|
||||
current_input_character = next_codepoint();
|
||||
|
||||
#define TODO() \
|
||||
do { \
|
||||
dbg() << "[TODO: " << state_name(m_state) << "] '" << (char)current_input_character.value() << "'"; \
|
||||
ASSERT_NOT_REACHED(); \
|
||||
} while (0)
|
||||
|
||||
#define SWITCH_TO(new_state) \
|
||||
do { \
|
||||
will_switch_to(State::new_state); \
|
||||
|
|
Loading…
Reference in a new issue