Move expression_context_* globals to parser_state
[deliverable/binutils-gdb.git] / gdb / rust-exp.y
index 9b6ca1994369a4ac107493fae5221986a4f6d92c..1b7e33e617249ef3fd5be801b69ca30fbf9e3e87 100644 (file)
@@ -1033,7 +1033,7 @@ rust_parser::concat3 (const char *s1, const char *s2, const char *s3)
 const struct rust_op *
 rust_parser::crate_name (const struct rust_op *name)
 {
-  std::string crate = rust_crate_for_block (expression_context_block);
+  std::string crate = rust_crate_for_block (pstate->expression_context_block);
   struct stoken result;
 
   gdb_assert (name->opcode == OP_VAR_VALUE);
@@ -1053,7 +1053,7 @@ rust_parser::crate_name (const struct rust_op *name)
 const struct rust_op *
 rust_parser::super_name (const struct rust_op *ident, unsigned int n_supers)
 {
-  const char *scope = block_scope (expression_context_block);
+  const char *scope = block_scope (pstate->expression_context_block);
   int offset;
 
   gdb_assert (ident->opcode == OP_VAR_VALUE);
@@ -2045,7 +2045,7 @@ rust_parser::convert_ast_to_type (const struct rust_op *operation)
     {
       const char *varname = convert_name (operation);
 
-      result = rust_lookup_type (varname, expression_context_block);
+      result = rust_lookup_type (varname, pstate->expression_context_block);
       if (result == NULL)
        error (_("No typed name '%s' in current context"), varname);
       return result;
@@ -2118,7 +2118,7 @@ rust_parser::convert_ast_to_type (const struct rust_op *operation)
 
        /* We don't allow creating new tuple types (yet), but we do
           allow looking up existing tuple types.  */
-       result = rust_lookup_type (name, expression_context_block);
+       result = rust_lookup_type (name, pstate->expression_context_block);
        if (result == NULL)
          error (_("could not find tuple type '%s'"), name);
       }
@@ -2311,7 +2311,8 @@ rust_parser::convert_ast_to_expression (const struct rust_op *operation,
            struct type *type;
            const char *varname = convert_name (operation->left.op);
 
-           type = rust_lookup_type (varname, expression_context_block);
+           type = rust_lookup_type (varname,
+                                    pstate->expression_context_block);
            if (type != NULL)
              {
                /* This is actually a tuple struct expression, not a
@@ -2372,7 +2373,7 @@ rust_parser::convert_ast_to_expression (const struct rust_op *operation,
          }
 
        varname = convert_name (operation);
-       sym = rust_lookup_symbol (varname, expression_context_block,
+       sym = rust_lookup_symbol (varname, pstate->expression_context_block,
                                  VAR_DOMAIN);
        if (sym.symbol != NULL && SYMBOL_CLASS (sym.symbol) != LOC_TYPEDEF)
          {
@@ -2391,7 +2392,8 @@ rust_parser::convert_ast_to_expression (const struct rust_op *operation,
                type = SYMBOL_TYPE (sym.symbol);
              }
            if (type == NULL)
-             type = rust_lookup_type (varname, expression_context_block);
+             type = rust_lookup_type (varname,
+                                      pstate->expression_context_block);
            if (type == NULL)
              error (_("No symbol '%s' in current context"), varname);
 
@@ -2449,7 +2451,7 @@ rust_parser::convert_ast_to_expression (const struct rust_op *operation,
          }
 
        name = convert_name (operation->left.op);
-       type = rust_lookup_type (name, expression_context_block);
+       type = rust_lookup_type (name, pstate->expression_context_block);
        if (type == NULL)
          error (_("Could not find type '%s'"), operation->left.sval.ptr);
 
@@ -2707,7 +2709,8 @@ rust_lex_tests (void)
   int i;
 
   // Set up dummy "parser", so that rust_type works.
-  struct parser_state ps (&rust_language_defn, target_gdbarch ());
+  struct parser_state ps (&rust_language_defn, target_gdbarch (),
+                         nullptr, 0);
   rust_parser parser (&ps);
 
   rust_lex_test_one (&parser, "", 0);
This page took 0.025623 seconds and 4 git commands to generate.