aboutsummaryrefslogtreecommitdiff
path: root/gdb/parse.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-03-24 10:28:42 -0600
committerTom Tromey <tom@tromey.com>2019-04-04 19:55:10 -0600
commit37eedb39824dc26c82a92b5515a352d7de0c9b5b (patch)
treeaaa2ca172270575273773089cbdcea2978e83ed1 /gdb/parse.c
parent73923d7eedc7ab52144308ef7e9c12cbe4341bca (diff)
downloadfsf-binutils-gdb-37eedb39824dc26c82a92b5515a352d7de0c9b5b.zip
fsf-binutils-gdb-37eedb39824dc26c82a92b5515a352d7de0c9b5b.tar.gz
fsf-binutils-gdb-37eedb39824dc26c82a92b5515a352d7de0c9b5b.tar.bz2
Make base class for parser_state
This makes a new base class, expr_builder, for parser_state. This separates the state needed to construct an expression from the state needed by the parsers. gdb/ChangeLog 2019-04-04 Tom Tromey <tom@tromey.com> * gdbarch.h, gdbarch.c: Rebuild. * gdbarch.sh (dtrace_parse_probe_argument): Change type. * stap-probe.h: (struct stap_parse_info): Replace "parser_state" with "expr_builder". * parser-defs.h (struct expr_builder): Rename from "parser_state". (parser_state): New class. * parse.c (expr_builder): Rename. (expr_builder::release): Rename. (write_exp_elt, write_exp_elt_opcode, write_exp_elt_sym) (write_exp_elt_msym, write_exp_elt_block, write_exp_elt_objfile) (write_exp_elt_longcst, write_exp_elt_floatcst) (write_exp_elt_type, write_exp_elt_intern, write_exp_string) (write_exp_string_vector, write_exp_bitstring) (write_exp_msymbol, mark_struct_expression) (write_dollar_variable) (insert_type_address_space, increase_expout_size): Replace "parser_state" with "expr_builder". * dtrace-probe.c: Replace "parser_state" with "expr_builder". * amd64-linux-tdep.c (amd64_dtrace_parse_probe_argument): Replace "parser_state" with "expr_builder".
Diffstat (limited to 'gdb/parse.c')
-rw-r--r--gdb/parse.c42
1 files changed, 21 insertions, 21 deletions
diff --git a/gdb/parse.c b/gdb/parse.c
index e2d01e9..c4c3517 100644
--- a/gdb/parse.c
+++ b/gdb/parse.c
@@ -119,7 +119,7 @@ static expression_up parse_exp_in_context (const char **, CORE_ADDR,
int, int *,
innermost_block_tracker_types);
-static void increase_expout_size (struct parser_state *ps, size_t lenelt);
+static void increase_expout_size (struct expr_builder *ps, size_t lenelt);
/* Documented at it's declaration. */
@@ -165,7 +165,7 @@ end_arglist (void)
/* See definition in parser-defs.h. */
-parser_state::parser_state (const struct language_defn *lang,
+expr_builder::expr_builder (const struct language_defn *lang,
struct gdbarch *gdbarch)
: expout_size (10),
expout (XNEWVAR (expression,
@@ -178,7 +178,7 @@ parser_state::parser_state (const struct language_defn *lang,
}
expression_up
-parser_state::release ()
+expr_builder::release ()
{
/* Record the actual number of expression elements, and then
reallocate the expression memory so that we free up any
@@ -201,7 +201,7 @@ parser_state::release ()
a register through here. */
static void
-write_exp_elt (struct parser_state *ps, const union exp_element *expelt)
+write_exp_elt (struct expr_builder *ps, const union exp_element *expelt)
{
if (ps->expout_ptr >= ps->expout_size)
{
@@ -214,7 +214,7 @@ write_exp_elt (struct parser_state *ps, const union exp_element *expelt)
}
void
-write_exp_elt_opcode (struct parser_state *ps, enum exp_opcode expelt)
+write_exp_elt_opcode (struct expr_builder *ps, enum exp_opcode expelt)
{
union exp_element tmp;
@@ -224,7 +224,7 @@ write_exp_elt_opcode (struct parser_state *ps, enum exp_opcode expelt)
}
void
-write_exp_elt_sym (struct parser_state *ps, struct symbol *expelt)
+write_exp_elt_sym (struct expr_builder *ps, struct symbol *expelt)
{
union exp_element tmp;
@@ -234,7 +234,7 @@ write_exp_elt_sym (struct parser_state *ps, struct symbol *expelt)
}
void
-write_exp_elt_msym (struct parser_state *ps, minimal_symbol *expelt)
+write_exp_elt_msym (struct expr_builder *ps, minimal_symbol *expelt)
{
union exp_element tmp;
@@ -244,7 +244,7 @@ write_exp_elt_msym (struct parser_state *ps, minimal_symbol *expelt)
}
void
-write_exp_elt_block (struct parser_state *ps, const struct block *b)
+write_exp_elt_block (struct expr_builder *ps, const struct block *b)
{
union exp_element tmp;
@@ -254,7 +254,7 @@ write_exp_elt_block (struct parser_state *ps, const struct block *b)
}
void
-write_exp_elt_objfile (struct parser_state *ps, struct objfile *objfile)
+write_exp_elt_objfile (struct expr_builder *ps, struct objfile *objfile)
{
union exp_element tmp;
@@ -264,7 +264,7 @@ write_exp_elt_objfile (struct parser_state *ps, struct objfile *objfile)
}
void
-write_exp_elt_longcst (struct parser_state *ps, LONGEST expelt)
+write_exp_elt_longcst (struct expr_builder *ps, LONGEST expelt)
{
union exp_element tmp;
@@ -274,7 +274,7 @@ write_exp_elt_longcst (struct parser_state *ps, LONGEST expelt)
}
void
-write_exp_elt_floatcst (struct parser_state *ps, const gdb_byte expelt[16])
+write_exp_elt_floatcst (struct expr_builder *ps, const gdb_byte expelt[16])
{
union exp_element tmp;
int index;
@@ -286,7 +286,7 @@ write_exp_elt_floatcst (struct parser_state *ps, const gdb_byte expelt[16])
}
void
-write_exp_elt_type (struct parser_state *ps, struct type *expelt)
+write_exp_elt_type (struct expr_builder *ps, struct type *expelt)
{
union exp_element tmp;
@@ -296,7 +296,7 @@ write_exp_elt_type (struct parser_state *ps, struct type *expelt)
}
void
-write_exp_elt_intern (struct parser_state *ps, struct internalvar *expelt)
+write_exp_elt_intern (struct expr_builder *ps, struct internalvar *expelt)
{
union exp_element tmp;
@@ -327,7 +327,7 @@ write_exp_elt_intern (struct parser_state *ps, struct internalvar *expelt)
void
-write_exp_string (struct parser_state *ps, struct stoken str)
+write_exp_string (struct expr_builder *ps, struct stoken str)
{
int len = str.length;
size_t lenelt;
@@ -369,7 +369,7 @@ write_exp_string (struct parser_state *ps, struct stoken str)
long constant, followed by the contents of the string. */
void
-write_exp_string_vector (struct parser_state *ps, int type,
+write_exp_string_vector (struct expr_builder *ps, int type,
struct stoken_vector *vec)
{
int i, len;
@@ -422,7 +422,7 @@ write_exp_string_vector (struct parser_state *ps, int type,
either end of the bitstring. */
void
-write_exp_bitstring (struct parser_state *ps, struct stoken str)
+write_exp_bitstring (struct expr_builder *ps, struct stoken str)
{
int bits = str.length; /* length in bits */
int len = (bits + HOST_CHAR_BIT - 1) / HOST_CHAR_BIT;
@@ -532,7 +532,7 @@ find_minsym_type_and_address (minimal_symbol *msymbol,
the expression. */
void
-write_exp_msymbol (struct parser_state *ps,
+write_exp_msymbol (struct expr_builder *ps,
struct bound_minimal_symbol bound_msym)
{
write_exp_elt_opcode (ps, OP_VAR_MSYM_VALUE);
@@ -545,7 +545,7 @@ write_exp_msymbol (struct parser_state *ps,
expression. This is used when completing on field names. */
void
-mark_struct_expression (struct parser_state *ps)
+mark_struct_expression (struct expr_builder *ps)
{
gdb_assert (parse_completion
&& expout_tag_completion_type == TYPE_CODE_UNDEF);
@@ -593,7 +593,7 @@ mark_completion_tag (enum type_code tag, const char *ptr, int length)
value in the value history, I.e. $$1 */
void
-write_dollar_variable (struct parser_state *ps, struct stoken str)
+write_dollar_variable (struct expr_builder *ps, struct stoken str)
{
struct block_symbol sym;
struct bound_minimal_symbol msym;
@@ -1405,7 +1405,7 @@ push_type_int (int n)
item. */
void
-insert_type_address_space (struct parser_state *pstate, char *string)
+insert_type_address_space (struct expr_builder *pstate, char *string)
{
union type_stack_elt element;
int slot;
@@ -1829,7 +1829,7 @@ exp_uses_objfile (struct expression *exp, struct objfile *objfile)
there is enough room for the elements. */
static void
-increase_expout_size (struct parser_state *ps, size_t lenelt)
+increase_expout_size (struct expr_builder *ps, size_t lenelt)
{
if ((ps->expout_ptr + lenelt) >= ps->expout_size)
{