mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-21 03:55:24 +00:00
LibJS: Allow lexer to run without logging errors
This commit is contained in:
parent
c2f8a5fffa
commit
cdb627a516
Notes:
sideshowbarker
2024-07-19 07:53:08 +09:00
Author: https://github.com/alimpfard Commit: https://github.com/SerenityOS/serenity/commit/cdb627a516a Pull-request: https://github.com/SerenityOS/serenity/pull/1631 Reviewed-by: https://github.com/awesomekling
2 changed files with 9 additions and 1 deletions
|
@ -204,7 +204,8 @@ bool Lexer::is_numeric_literal_start() const
|
|||
void Lexer::syntax_error(const char* msg)
|
||||
{
|
||||
m_has_errors = true;
|
||||
fprintf(stderr, "Syntax Error: %s (line: %zu, column: %zu)\n", msg, m_line_number, m_line_column);
|
||||
if (m_log_errors)
|
||||
fprintf(stderr, "Syntax Error: %s (line: %zu, column: %zu)\n", msg, m_line_number, m_line_column);
|
||||
}
|
||||
|
||||
Token Lexer::next()
|
||||
|
|
|
@ -37,6 +37,12 @@ namespace JS {
|
|||
class Lexer {
|
||||
public:
|
||||
explicit Lexer(StringView source);
|
||||
Lexer(StringView source, bool log_errors)
|
||||
: Lexer(source)
|
||||
{
|
||||
m_log_errors = log_errors;
|
||||
}
|
||||
|
||||
Token next();
|
||||
bool has_errors() const { return m_has_errors; }
|
||||
|
||||
|
@ -60,6 +66,7 @@ private:
|
|||
bool m_has_errors = false;
|
||||
size_t m_line_number = 1;
|
||||
size_t m_line_column = 1;
|
||||
bool m_log_errors = true;
|
||||
|
||||
static HashMap<String, TokenType> s_keywords;
|
||||
static HashMap<String, TokenType> s_three_char_tokens;
|
||||
|
|
Loading…
Add table
Reference in a new issue