GDB (xrefs)
|
Classes | |
struct | current_string_val |
Public Attributes | |
auto_obstack | obstack |
struct parser_state * | pstate |
int | paren_depth = 0 |
int | current_token = 0 |
typed_val_int | current_int_val {} |
typed_val_float | current_float_val {} |
enum exp_opcode | current_opcode = OP_NULL |
operation_up | completion_op |
Definition at line 200 of file rust-parse.c.
|
inlineexplicit |
Definition at line 202 of file rust-parse.c.
|
inline |
Definition at line 216 of file rust-parse.c.
References expr_builder::gdbarch(), and pstate.
Referenced by get_type(), and rust_lookup_type().
|
inline |
Definition at line 255 of file rust-parse.c.
References current_token, and lex().
Referenced by parse_addr(), parse_array(), parse_array_type(), parse_field(), parse_function_type(), parse_index(), parse_maybe_type_list(), parse_paren_args(), parse_pointer_type(), parse_sizeof(), parse_slice_type(), parse_struct_expr(), and parse_tuple().
std::string rust_parser::crate_name | ( | const std::string & | name | ) |
Definition at line 360 of file rust-parse.c.
References parser_state::expression_context_block, name, pstate, and rust_crate_for_block().
Referenced by parse_path().
rust_parser::DISABLE_COPY_AND_ASSIGN | ( | rust_parser | ) |
|
inline |
Definition at line 329 of file rust-parse.c.
Referenced by parse_atom(), parse_field(), parse_path(), parse_slice_type(), parse_string(), and parse_struct_expr().
|
inline |
Definition at line 224 of file rust-parse.c.
References arch(), language_lookup_primitive_type(), name, and type.
Referenced by lex_character(), lex_number(), parse_binop(), parse_slice_type(), parse_string(), and parse_tuple().
|
inline |
Definition at line 210 of file rust-parse.c.
References expr_builder::language(), and pstate.
|
inline |
Definition at line 249 of file rust-parse.c.
References current_token, and lex_one_token().
Referenced by assume(), parse_addr(), parse_array(), parse_array_type(), parse_atom(), parse_binop(), parse_entry_point(), parse_field(), parse_function_type(), parse_paren_args(), parse_path(), parse_pointer_type(), parse_range(), parse_slice_type(), parse_struct_expr(), parse_tuple(), parse_type_list(), and require().
int rust_parser::lex_character | ( | ) |
Definition at line 618 of file rust-parse.c.
References current_int_val, get_type(), INTEGER, lex_escape(), lex_multibyte_char(), parser_state::lexptr, pstate, typed_val_int::type, typed_val_int::val, and value.
Referenced by lex_one_token().
uint32_t rust_parser::lex_escape | ( | int | is_byte | ) |
Definition at line 522 of file rust-parse.c.
References lex_hex(), parser_state::lexptr, and pstate.
Referenced by lex_character(), and lex_string().
uint32_t rust_parser::lex_hex | ( | int | min, |
int | max ) |
Definition at line 484 of file rust-parse.c.
References parser_state::lexptr, and pstate.
Referenced by lex_escape().
int rust_parser::lex_identifier | ( | ) |
Definition at line 789 of file rust-parse.c.
References COMPLETE, GDBVAR, IDENT, identifier_tokens, parser_state::lexptr, parser_state::parse_completion, parser_state::prev_lexptr, pstate, rust_identifier_start_p(), space_then_number(), and token.
Referenced by lex_one_token().
int rust_parser::lex_number | ( | ) |
Definition at line 906 of file rust-parse.c.
References current_float_val, current_int_val, DECIMAL_INTEGER, FLOAT, FLOAT_TYPE1, FLOAT_TYPE2, get_type(), INT_TEXT, INT_TYPE, INTEGER, parser_state::lexptr, NUM_SUBEXPRESSIONS, number_regex, parse_float(), gdb_mpz::pow(), pstate, rust_identifier_start_p(), gdb_mpz::set(), type, typed_val_int::type, typed_val_float::type, typed_val_int::val, and typed_val_float::val.
Referenced by lex_one_token().
int rust_parser::lex_one_token | ( | ) |
Definition at line 1061 of file rust-parse.c.
References parser_state::comma_terminates, COMPLETE, lex_character(), lex_identifier(), lex_number(), lex_operator(), lex_string(), parser_state::lexptr, paren_depth, parser_state::parse_completion, parser_state::prev_lexptr, pstate, rust_identifier_start_p(), and starts_raw_string().
Referenced by lex().
int rust_parser::lex_operator | ( | ) |
Definition at line 879 of file rust-parse.c.
References current_opcode, parser_state::lexptr, operator_tokens, pstate, and token.
Referenced by lex_one_token().
int rust_parser::lex_string | ( | ) |
Definition at line 687 of file rust-parse.c.
References BYTESTRING, convert_between_encodings(), ends_raw_string(), HOST_UTF32, lex_escape(), parser_state::lexptr, obstack, pstate, starts_raw_string(), STRING, translit_none, and value.
Referenced by lex_one_token().
struct block_symbol rust_parser::lookup_symbol | ( | const char * | name, |
const struct block * | block, | ||
const domain_enum | domain ) |
Definition at line 432 of file rust-parse.c.
References lookup_symbol(), munge_name_and_block(), name, and block_symbol::symbol.
Referenced by name_to_operation(), and rust_lookup_type().
operation_up rust_parser::name_to_operation | ( | const std::string & | name | ) |
Definition at line 1219 of file rust-parse.c.
References symbol::aclass(), type::code(), parser_state::expression_context_block, LOC_TYPEDEF, lookup_symbol(), name, type::num_fields(), pstate, rust_lookup_type(), block_symbol::symbol, symbol::type(), and VAR_DOMAIN.
Referenced by parse_path_expr(), and parse_struct_expr().
operation_up rust_parser::parse_addr | ( | ) |
Definition at line 1528 of file rust-parse.c.
References assume(), current_token, KW_MUT, lex(), and parse_atom().
Referenced by parse_atom().
operation_up rust_parser::parse_array | ( | ) |
Definition at line 1177 of file rust-parse.c.
References assume(), current_token, KW_MUT, lex(), parse_expr(), and require().
Referenced by parse_atom().
struct type * rust_parser::parse_array_type | ( | ) |
Definition at line 1663 of file rust-parse.c.
References gdb_mpz::as_integer(), assume(), current_int_val, current_token, DECIMAL_INTEGER, INTEGER, lex(), lookup_array_range_type(), parse_type(), require(), and typed_val_int::val.
Referenced by parse_type().
operation_up rust_parser::parse_atom | ( | bool | required | ) |
Definition at line 2027 of file rust-parse.c.
References BYTESTRING, COLONCOLON, current_float_val, current_int_val, current_token, DECIMAL_INTEGER, FLOAT, GDBVAR, get_string(), IDENT, INTEGER, KW_EXTERN, KW_FALSE, KW_SELF, KW_SIZEOF, KW_SUPER, KW_TRUE, lex(), parse_addr(), parse_array(), parse_atom(), parse_call(), parse_field(), parse_index(), parse_path_expr(), parse_sizeof(), parse_string(), parse_tuple(), parser_state::pop(), pstate, parser_state::push_dollar(), STRING, typed_val_int::type, typed_val_float::type, typed_val_int::val, and typed_val_float::val.
Referenced by parse_addr(), parse_atom(), and parse_binop().
operation_up rust_parser::parse_binop | ( | bool | required | ) |
Definition at line 1326 of file rust-parse.c.
References ALL_OPS, ASSIGN_PREC, COMPOUND_ASSIGN, current_opcode, current_token, get_type(), KW_AS, lex(), rustop_item::op, rustop_item::opcode, parse_atom(), parse_type(), and rustop_item::token.
Referenced by parse_range().
operation_up rust_parser::parse_call | ( | operation_up && | lhs | ) |
Definition at line 1624 of file rust-parse.c.
References parse_paren_args().
Referenced by parse_atom().
|
inline |
Definition at line 271 of file rust-parse.c.
References current_token, lex(), parse_expr(), parser_state::prev_lexptr, and pstate.
operation_up rust_parser::parse_expr | ( | ) |
Definition at line 1507 of file rust-parse.c.
References parse_range().
Referenced by parse_array(), parse_entry_point(), parse_index(), parse_paren_args(), parse_sizeof(), parse_struct_expr(), and parse_tuple().
operation_up rust_parser::parse_field | ( | operation_up && | lhs | ) |
Definition at line 1541 of file rust-parse.c.
References gdb_mpz::as_integer(), assume(), COMPLETE, completion_op, current_int_val, current_token, DECIMAL_INTEGER, get_string(), IDENT, INTEGER, lex(), parser_state::mark_struct_expression(), pstate, and typed_val_int::val.
Referenced by parse_atom().
struct type * rust_parser::parse_function_type | ( | ) |
Definition at line 1729 of file rust-parse.c.
References ARROW, assume(), current_token, KW_FN, lex(), lookup_function_type_with_arguments(), lookup_pointer_type(), parse_maybe_type_list(), and parse_type().
Referenced by parse_type().
operation_up rust_parser::parse_index | ( | operation_up && | lhs | ) |
Definition at line 1586 of file rust-parse.c.
References assume(), parse_expr(), and require().
Referenced by parse_atom().
std::vector< struct type * > rust_parser::parse_maybe_type_list | ( | ) |
Definition at line 1650 of file rust-parse.c.
References assume(), current_token, parse_type_list(), and require().
Referenced by parse_function_type(), and parse_tuple_type().
std::vector< operation_up > rust_parser::parse_paren_args | ( | ) |
Definition at line 1599 of file rust-parse.c.
References assume(), current_token, lex(), and parse_expr().
Referenced by parse_call(), and parse_tuple_struct().
std::string rust_parser::parse_path | ( | bool | for_expr | ) |
Definition at line 1821 of file rust-parse.c.
References COLONCOLON, crate_name(), current_token, get_string(), IDENT, KW_EXTERN, KW_SELF, KW_SUPER, lex(), parse_type_list(), push_back(), RSH, super_name(), and type_to_string().
Referenced by parse_path_expr(), and parse_type().
operation_up rust_parser::parse_path_expr | ( | ) |
Definition at line 1994 of file rust-parse.c.
References current_token, name_to_operation(), parse_path(), parse_struct_expr(), parse_tuple_struct(), rust_lookup_type(), and rust_tuple_struct_type_p().
Referenced by parse_atom().
struct type * rust_parser::parse_pointer_type | ( | ) |
Definition at line 1714 of file rust-parse.c.
References assume(), current_token, KW_CONST, KW_MUT, lex(), lookup_pointer_type(), and parse_type().
Referenced by parse_type().
operation_up rust_parser::parse_range | ( | ) |
Definition at line 1475 of file rust-parse.c.
References current_token, DOTDOT, DOTDOTEQ, lex(), parse_binop(), RANGE_HIGH_BOUND_DEFAULT, RANGE_HIGH_BOUND_EXCLUSIVE, and RANGE_LOW_BOUND_DEFAULT.
Referenced by parse_expr().
operation_up rust_parser::parse_sizeof | ( | ) |
Definition at line 1515 of file rust-parse.c.
References assume(), KW_SIZEOF, parse_expr(), and require().
Referenced by parse_atom().
struct type * rust_parser::parse_slice_type | ( | ) |
Definition at line 1681 of file rust-parse.c.
References assume(), current_token, get_string(), get_type(), IDENT, lex(), lookup_pointer_type(), parse_type(), require(), and rust_slice_type().
Referenced by parse_type().
operation_up rust_parser::parse_string | ( | ) |
Definition at line 1950 of file rust-parse.c.
References current_token, get_string(), get_type(), rust_lookup_type(), and STRING.
Referenced by parse_atom().
operation_up rust_parser::parse_struct_expr | ( | struct type * | type | ) |
Definition at line 1252 of file rust-parse.c.
References assume(), type::code(), current_token, DOTDOT, get_string(), IDENT, lex(), name, name_to_operation(), parse_expr(), require(), rust_tuple_struct_type_p(), and rust_tuple_type_p().
Referenced by parse_path_expr().
operation_up rust_parser::parse_tuple | ( | ) |
Definition at line 1137 of file rust-parse.c.
References assume(), current_token, get_type(), lex(), and parse_expr().
Referenced by parse_atom().
operation_up rust_parser::parse_tuple_struct | ( | struct type * | type | ) |
Definition at line 1979 of file rust-parse.c.
References parse_paren_args().
Referenced by parse_path_expr().
struct type * rust_parser::parse_tuple_type | ( | ) |
Definition at line 1757 of file rust-parse.c.
References name, obstack, parse_maybe_type_list(), rust_lookup_type(), and type_to_string().
Referenced by parse_type().
struct type * rust_parser::parse_type | ( | ) |
Definition at line 1787 of file rust-parse.c.
References COLONCOLON, current_token, IDENT, KW_EXTERN, KW_FN, KW_SELF, KW_SUPER, parse_array_type(), parse_function_type(), parse_path(), parse_pointer_type(), parse_slice_type(), parse_tuple_type(), and rust_lookup_type().
Referenced by parse_array_type(), parse_binop(), parse_function_type(), parse_pointer_type(), parse_slice_type(), and parse_type_list().
std::vector< struct type * > rust_parser::parse_type_list | ( | ) |
Definition at line 1635 of file rust-parse.c.
References current_token, lex(), and parse_type().
Referenced by parse_maybe_type_list(), and parse_path().
void rust_parser::push_back | ( | char | c | ) |
Definition at line 1123 of file rust-parse.c.
References parser_state::lexptr, parser_state::prev_lexptr, and pstate.
Referenced by parse_path().
|
inline |
Definition at line 263 of file rust-parse.c.
References current_token, and lex().
Referenced by parse_array(), parse_array_type(), parse_index(), parse_maybe_type_list(), parse_sizeof(), parse_slice_type(), and parse_struct_expr().
struct type * rust_parser::rust_lookup_type | ( | const char * | name | ) |
Definition at line 448 of file rust-parse.c.
References arch(), parser_state::expression_context_block, language_lookup_primitive_type(), lookup_symbol(), lookup_typename(), munge_name_and_block(), name, pstate, STRUCT_DOMAIN, block_symbol::symbol, type, symbol::type(), and update_innermost_block().
Referenced by name_to_operation(), parse_path_expr(), parse_string(), parse_tuple_type(), and parse_type().
std::string rust_parser::super_name | ( | const std::string & | ident, |
unsigned int | n_supers ) |
Definition at line 374 of file rust-parse.c.
References cp_find_first_component(), parser_state::expression_context_block, pstate, and block::scope().
Referenced by parse_path().
void rust_parser::update_innermost_block | ( | struct block_symbol | sym | ) |
Definition at line 474 of file rust-parse.c.
References parser_state::block_tracker, pstate, block_symbol::symbol, symbol_read_needs_frame(), and innermost_block_tracker::update().
Referenced by rust_lookup_type().
operation_up rust_parser::completion_op |
Definition at line 353 of file rust-parse.c.
Referenced by parse_field().
typed_val_float rust_parser::current_float_val {} |
Definition at line 347 of file rust-parse.c.
Referenced by lex_number(), and parse_atom().
typed_val_int rust_parser::current_int_val {} |
Definition at line 346 of file rust-parse.c.
Referenced by lex_character(), lex_number(), parse_array_type(), parse_atom(), and parse_field().
enum exp_opcode rust_parser::current_opcode = OP_NULL |
Definition at line 349 of file rust-parse.c.
Referenced by lex_operator(), and parse_binop().
int rust_parser::current_token = 0 |
Definition at line 344 of file rust-parse.c.
Referenced by assume(), lex(), parse_addr(), parse_array(), parse_array_type(), parse_atom(), parse_binop(), parse_entry_point(), parse_field(), parse_function_type(), parse_maybe_type_list(), parse_paren_args(), parse_path(), parse_path_expr(), parse_pointer_type(), parse_range(), parse_slice_type(), parse_string(), parse_struct_expr(), parse_tuple(), parse_type(), parse_type_list(), and require().
auto_obstack rust_parser::obstack |
Definition at line 335 of file rust-parse.c.
Referenced by lex_string(), and parse_tuple_type().
int rust_parser::paren_depth = 0 |
Definition at line 341 of file rust-parse.c.
Referenced by lex_one_token().
struct parser_state* rust_parser::pstate |
Definition at line 338 of file rust-parse.c.
Referenced by arch(), crate_name(), language(), lex_character(), lex_escape(), lex_hex(), lex_identifier(), lex_number(), lex_one_token(), lex_operator(), lex_string(), name_to_operation(), parse_atom(), parse_entry_point(), parse_field(), push_back(), rust_lookup_type(), super_name(), and update_innermost_block().