Fix maximal munch parsing issue
This commit is contained in:
parent
e84925d5e4
commit
1b57248fc8
2 changed files with 6 additions and 3 deletions
|
|
@ -148,7 +148,8 @@ namespace
|
||||||
{
|
{
|
||||||
auto iter = detail::find_closing_bracket(stream);
|
auto iter = detail::find_closing_bracket(stream);
|
||||||
scope += detail::to_string(stream, iter);
|
scope += detail::to_string(stream, iter);
|
||||||
detail::skip(stream, ">");
|
if (!detail::skip_if(stream, ">>"))
|
||||||
|
detail::skip(stream, ">");
|
||||||
scope += ">";
|
scope += ">";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -292,8 +292,10 @@ detail::token_iterator detail::find_closing_bracket(detail::token_stream stream)
|
||||||
--paren_count;
|
--paren_count;
|
||||||
}
|
}
|
||||||
stream.bump_back();
|
stream.bump_back();
|
||||||
DEBUG_ASSERT(paren_count == 0 && stream.peek().value() == close_bracket, parse_error_handler{},
|
// only check first parameter, token might be ">>"
|
||||||
stream.cursor(), "find_closing_bracket() internal parse error");
|
DEBUG_ASSERT(paren_count == 0 && stream.peek().value()[0] == close_bracket[0],
|
||||||
|
parse_error_handler{}, stream.cursor(),
|
||||||
|
"find_closing_bracket() internal parse error");
|
||||||
return stream.cur();
|
return stream.cur();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue