Przeglądaj źródła

LibCpp: Return empty TranslationUnit from Parser::parse() if no tokens exist

Fixes #5704.
Fixes #5825.
Fixes #5827.
Linus Groh 4 lat temu
rodzic
commit
6c8185151e
1 zmienionych plików z 2 dodań i 0 usunięć
  1. 2 0
      Userland/Libraries/LibCpp/Parser.cpp

+ 2 - 0
Userland/Libraries/LibCpp/Parser.cpp

@@ -75,6 +75,8 @@ void Parser::initialize_program_tokens(const StringView& program)
 NonnullRefPtr<TranslationUnit> Parser::parse()
 {
     SCOPE_LOGGER();
+    if (m_tokens.is_empty())
+        return create_root_ast_node({}, {});
     auto unit = create_root_ast_node(m_tokens.first().start(), m_tokens.last().end());
     while (!done()) {
         if (match_comment()) {