diff --git a/include/xo/reader/define_xs.hpp b/include/xo/reader/define_xs.hpp index 3a740a32..bee7d24f 100644 --- a/include/xo/reader/define_xs.hpp +++ b/include/xo/reader/define_xs.hpp @@ -60,7 +60,8 @@ namespace xo { virtual void on_typedescr(TypeDescr td, exprstatestack * /*p_stack*/, rp * /*p_emit_expr*/) override; - virtual void on_colon(exprstatestack * p_stack) override; + virtual void on_colon_token(const token_type & tk, + exprstatestack * p_stack) override; virtual void on_semicolon(exprstatestack * p_stack, rp * /*p_emit_expr*/) override; virtual void on_singleassign(exprstatestack * p_stack) override; diff --git a/include/xo/reader/exprstate.hpp b/include/xo/reader/exprstate.hpp index 6e2f5481..2f0c9e6a 100644 --- a/include/xo/reader/exprstate.hpp +++ b/include/xo/reader/exprstate.hpp @@ -131,7 +131,9 @@ namespace xo { virtual void on_symbol_token(const token_type & tk, exprstatestack * p_stack, rp * p_emit_expr); - virtual void on_colon(exprstatestack * p_stack); + /** handle incoming ':' token **/ + virtual void on_colon_token(const token_type & tk, + exprstatestack * p_stack); virtual void on_semicolon(exprstatestack * p_stack, rp * p_emit_expr); virtual void on_singleassign(exprstatestack * p_stack); diff --git a/include/xo/reader/paren_xs.hpp b/include/xo/reader/paren_xs.hpp index 964b8dc3..fa63f212 100644 --- a/include/xo/reader/paren_xs.hpp +++ b/include/xo/reader/paren_xs.hpp @@ -56,7 +56,8 @@ namespace xo { virtual void on_symbol_token(const token_type & tk, exprstatestack * p_stack, rp * p_emit_expr) override; - virtual void on_colon(exprstatestack * p_stack) override; + virtual void on_colon_token(const token_type & tk, + exprstatestack * p_stack) override; virtual void on_semicolon(exprstatestack * p_stack, rp * /*p_emit_expr*/) override; virtual void on_singleassign(exprstatestack * p_stack) override; diff --git a/include/xo/reader/progress_xs.hpp b/include/xo/reader/progress_xs.hpp index 7d6a25f1..e0e2c7db 100644 --- a/include/xo/reader/progress_xs.hpp +++ b/include/xo/reader/progress_xs.hpp @@ -43,7 +43,8 @@ namespace xo { virtual void on_typedescr(TypeDescr td, exprstatestack * /*p_stack*/, rp * /*p_emit_expr*/) override; - virtual void on_colon(exprstatestack * p_stack) override; + virtual void on_colon_token(const token_type & tk, + exprstatestack * p_stack) override; virtual void on_semicolon(exprstatestack * p_stack, rp * /*p_emit_expr*/) override; virtual void on_singleassign(exprstatestack * p_stack) override; diff --git a/src/reader/define_xs.cpp b/src/reader/define_xs.cpp index 5ecb82f5..82081331 100644 --- a/src/reader/define_xs.cpp +++ b/src/reader/define_xs.cpp @@ -326,7 +326,9 @@ namespace xo { } void - define_xs::on_colon(exprstatestack * p_stack) { + define_xs::on_colon_token(const token_type & /*tk*/, + exprstatestack * p_stack) + { constexpr bool c_debug_flag = true; scope log(XO_DEBUG(c_debug_flag)); diff --git a/src/reader/exprstate.cpp b/src/reader/exprstate.cpp index b83cad6a..bb8c1a18 100644 --- a/src/reader/exprstate.cpp +++ b/src/reader/exprstate.cpp @@ -504,7 +504,9 @@ namespace xo { } void - exprstate::on_colon(exprstatestack * /*p_stack*/) { + exprstate::on_colon_token(const token_type & /*tk*/, + exprstatestack * /*p_stack*/) + { constexpr bool c_debug_flag = true; scope log(XO_DEBUG(c_debug_flag)); @@ -686,7 +688,7 @@ namespace xo { return; case tokentype::tk_colon: - this->on_colon(p_stack); + this->on_colon_token(tk, p_stack); return; case tokentype::tk_doublecolon: diff --git a/src/reader/paren_xs.cpp b/src/reader/paren_xs.cpp index f9ed033c..ebc07527 100644 --- a/src/reader/paren_xs.cpp +++ b/src/reader/paren_xs.cpp @@ -108,7 +108,8 @@ namespace xo { } void - paren_xs::on_colon(exprstatestack * /*p_stack*/) + paren_xs::on_colon_token(const token_type & /*tk*/, + exprstatestack * /*p_stack*/) { constexpr const char * c_self_name = "paren_xs::on_colon"; diff --git a/src/reader/progress_xs.cpp b/src/reader/progress_xs.cpp index 7ac56de5..32964064 100644 --- a/src/reader/progress_xs.cpp +++ b/src/reader/progress_xs.cpp @@ -82,7 +82,9 @@ namespace xo { } void - progress_xs::on_colon(exprstatestack * /*p_stack*/) { + progress_xs::on_colon_token(const token_type & /*tk*/, + exprstatestack * /*p_stack*/) + { constexpr const char * self_name = "progress_xs::on_colon"; throw std::runtime_error(tostr(self_name,