changeset 33293:e4450472a9db

allow invalid token objects * token.h (token::token): Provide default constructor. (token::token_type): New enum value, invalid_token. (token::m_tok_id): Default to -1.
author John W. Eaton <jwe@octave.org>
date Tue, 02 Apr 2024 13:10:59 -0400
parents 2e840d58dba7
children 561b46657d4c
files libinterp/parse-tree/token.h
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/parse-tree/token.h	Thu Mar 28 13:00:25 2024 -0400
+++ b/libinterp/parse-tree/token.h	Tue Apr 02 13:10:59 2024 -0400
@@ -43,6 +43,7 @@
 
   enum token_type
   {
+    invalid_token,
     generic_token,
     keyword_token,
     string_token,
@@ -73,6 +74,10 @@
 
 public:
 
+  token ()
+    : m_type_tag (invalid_token)
+  { }
+
   token (int id, const filepos& beg_pos, const filepos& end_pos, comment_list *lst = nullptr)
     : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_id (id), m_comment_list (lst)
   { }
@@ -153,7 +158,7 @@
   filepos m_beg_pos;
   filepos m_end_pos;
 
-  int m_tok_id;
+  int m_tok_id {-1};
 
   token_type m_type_tag {generic_token};