Mercurial > octave
changeset 33118:8ec8df064d8f
allow comment lists to be stored in token objects
* token.h (token::m_comment_list): New member variable.
(token::token): Accept optional comment_list argument in all constructors.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sat, 02 Mar 2024 12:07:44 -0500 |
parents | 068b80d70ff6 |
children | f83d0ab96c16 |
files | libinterp/parse-tree/token.h |
diffstat | 1 files changed, 16 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/parse-tree/token.h Sat Mar 02 11:17:19 2024 -0500 +++ b/libinterp/parse-tree/token.h Sat Mar 02 12:07:44 2024 -0500 @@ -73,32 +73,32 @@ public: - token (int tv, const filepos& beg_pos, const filepos& end_pos) - : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv) + token (int tv, const filepos& beg_pos, const filepos& end_pos, comment_list *lst = nullptr) + : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv), m_comment_list (lst) { } - token (int tv, bool is_kw, const filepos& beg_pos, const filepos& end_pos) - : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv), m_type_tag (is_kw ? keyword_token : generic_token) + token (int tv, bool is_kw, const filepos& beg_pos, const filepos& end_pos, comment_list *lst = nullptr) + : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv), m_type_tag (is_kw ? keyword_token : generic_token), m_comment_list (lst) { } - token (int tv, const char *s, const filepos& beg_pos, const filepos& end_pos) - : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv), m_type_tag (string_token), m_tok_info (s) + token (int tv, const char *s, const filepos& beg_pos, const filepos& end_pos, comment_list *lst = nullptr) + : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv), m_type_tag (string_token), m_tok_info (s), m_comment_list (lst) { } - token (int tv, const std::string& s, const filepos& beg_pos, const filepos& end_pos) - : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv), m_type_tag (string_token), m_tok_info (s) + token (int tv, const std::string& s, const filepos& beg_pos, const filepos& end_pos, comment_list *lst = nullptr) + : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv), m_type_tag (string_token), m_tok_info (s), m_comment_list (lst) { } - token (int tv, const octave_value& val, const std::string& s, const filepos& beg_pos, const filepos& end_pos) - : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv), m_type_tag (numeric_token), m_tok_info (val), m_orig_text (s) + token (int tv, const octave_value& val, const std::string& s, const filepos& beg_pos, const filepos& end_pos, comment_list *lst = nullptr) + : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv), m_type_tag (numeric_token), m_tok_info (val), m_orig_text (s), m_comment_list (lst) { } - token (int tv, end_tok_type t, const filepos& beg_pos, const filepos& end_pos) - : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv), m_type_tag (ettype_token), m_tok_info (t) + token (int tv, end_tok_type t, const filepos& beg_pos, const filepos& end_pos, comment_list *lst = nullptr) + : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv), m_type_tag (ettype_token), m_tok_info (t), m_comment_list (lst) { } - token (int tv, const std::string& meth, const std::string& cls, const filepos& beg_pos, const filepos& end_pos) - : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv), m_type_tag (scls_name_token), m_tok_info (meth, cls) + token (int tv, const std::string& meth, const std::string& cls, const filepos& beg_pos, const filepos& end_pos, comment_list *lst = nullptr) + : m_beg_pos (beg_pos), m_end_pos (end_pos), m_tok_val (tv), m_type_tag (scls_name_token), m_tok_info (meth, cls), m_comment_list (lst) { } OCTAVE_DEFAULT_COPY_MOVE_DELETE (token) @@ -235,6 +235,8 @@ tok_info m_tok_info; std::string m_orig_text; + + comment_list *m_comment_list; }; OCTAVE_END_NAMESPACE(octave)