Change parameters to language_defn::post_parser
authorTom Tromey <tom@tromey.com>
Wed, 16 Dec 2020 22:49:40 +0000 (15:49 -0700)
committerTom Tromey <tom@tromey.com>
Thu, 17 Dec 2020 00:35:37 +0000 (17:35 -0700)
commitc5c412054ebeb9e9c9dcbb36692b1d6235eb6106
tree312afccbb667f8e41d5ceabd6c60ef3d6f29eb2b
parentf81baa08635491ebf42c3c3609050399d8af21af
Change parameters to language_defn::post_parser

In the expression rewrite, Ada type resolution will be done at parse
time rather than in a post-parse pass.  At this point,
language_defn::post_parser will be removed.  However, for this to
work, the information available to post_parser must be made available
during the actual parse.

This patch refactors this code slightly to make this possible.  In
particular, "void_context_p" is passed to the parser_state
constructor, and the parser state is then passed to the post_parser
method.

gdb/ChangeLog
2020-12-16  Tom Tromey  <tom@tromey.com>

* rust-exp.y (rust_lex_tests): Update.
* parser-defs.h (parser_state): Add void_p parameter.
<void_context_p>: New member.
* parse.c (parse_exp_in_context): Update.
* language.h (language_defn::post_parser): Remove void_context_p,
completing, tracker parameters.  Add parser state.
* ada-lang.c (ada_language::post_parser): Update.
gdb/ChangeLog
gdb/ada-lang.c
gdb/language.h
gdb/parse.c
gdb/parser-defs.h
gdb/rust-exp.y