GDB (xrefs)

Classes | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/linespec.h File Reference
`#include "location.h"`
`#include "vec.h"`

Go to the source code of this file.

## Classes
struct | linespec_sals
struct | linespec_result

## Enumerations
enum | decode_line_flags { DECODE_LINE_FUNFIRSTLINE = 1, DECODE_LINE_LIST_MODE = 2 }

## Functions
std::vector< symtab_and_line > | decode_line_1 (const struct event_location *location, int flags, struct program_space *search_pspace, struct symtab *default_symtab, int default_line)
void | decode_line_full (const struct event_location *location, int flags, struct program_space *search_pspace, struct symtab *default_symtab, int default_line, struct linespec_result *canonical, const char *select_mode, const char *filter)
std::vector< symtab_and_line > | decode_line_with_current_source (const char *, int)
std::vector< symtab_and_line > | decode_line_with_last_displayed (const char *, int)
const char * | linespec_lexer_lex_keyword (const char *p)
struct line_offset | linespec_parse_line_offset (const char *string)
const char * | get_gdb_linespec_parser_quote_characters (void)
int | is_ada_operator (const char *string)
const char * | find_toplevel_char (const char *s, char c)
void | linespec_lex_to_end (const char **stringp)
void | linespec_complete (completion_tracker &tracker, const char *text, symbol_name_match_type match_type)
void | linespec_complete_function (completion_tracker &tracker, const char *function, symbol_name_match_type func_match_type, const char *source_filename)
void | linespec_complete_label (completion_tracker &tracker, const struct language_defn *language, const char *source_filename, const char *function_name, symbol_name_match_type name_match_type, const char *label_name)
CORE_ADDR | linespec_expression_to_pc (const char **exp_ptr)

## Variables
const char *const | linespec_keywords []

## Enumeration Type Documentation

## ◆ decode_line_flags

enum decode_line_flags

Enumerator
DECODE_LINE_FUNFIRSTLINE |
DECODE_LINE_LIST_MODE |

Definition at line 27 of file linespec.h.

## Function Documentation

## ◆ decode_line_1()

std::vector<symtab_and_line> decode_line_1 | ( | const struct event_location * | location,
|  | int | flags,
|  | struct program_space * | search_pspace,
|  | struct symtab * | default_symtab,
|  | int | default_line
| ) |  |

Definition at line 3346 of file linespec.c.

References current_language, do_cleanups(), event_location_to_sals(), flags, linespec_parser_delete(), linespec_parser_new(), and make_cleanup().

Referenced by decode_line_with_current_source(), decode_line_with_last_displayed(), edit_command(), gdbpy_decode_line(), info_scope_command(), list_command(), and until_break_command().

## ◆ decode_line_full()

void decode_line_full | ( | const struct event_location * | location,
|  | int | flags,
|  | struct program_space * | search_pspace,
|  | struct symtab * | default_symtab,
|  | int | default_line,
|  | struct linespec_result * | canonical,
|  | const char * | select_mode,
|  | const char * | filter
| ) |  |

Definition at line 3270 of file linespec.c.

References linespec_state::canonical, linespec_state::canonical_names, convert_results_to_lsals(), current_language, decode_line_2(), DECODE_LINE_LIST_MODE, linespec_state::default_line, linespec_state::default_symtab, do_cleanups(), event_location_to_sals(), filter_results(), flags, gdb_assert, interp_ui_out(), linespec_parser_delete(), linespec_parser_new(), make_cleanup(), multiple_symbols_all, multiple_symbols_ask, multiple_symbols_cancel, multiple_symbols_select_mode(), PARSER_STATE, linespec_result::pre_expanded, linespec_state::search_pspace, linespec_canonical_name::suffix, top_level_interpreter(), VEC(), VEC_cleanup, VEC_safe_push, and xfree().

Referenced by agent_command_1(), break_range_command(), decode_location_default(), and parse_breakpoint_sals().

## ◆ decode_line_with_current_source()

std::vector<symtab_and_line> decode_line_with_current_source | ( | const char * | ,
|  | int |
| ) |  |

Definition at line 3371 of file linespec.c.

References _, current_language, decode_line_1(), error(), flags, get_current_source_symtab_and_line(), symtab_and_line::line, string_to_event_location(), and symtab_and_line::symtab.

Referenced by clear_command(), func_command(), info_macros_command(), mi_cmd_trace_find(), select_source_symtab(), and tfind_line_command().

## ◆ decode_line_with_last_displayed()

std::vector<symtab_and_line> decode_line_with_last_displayed | ( | const char * | ,
|  | int |
| ) |  |

Definition at line 3394 of file linespec.c.

References _, current_language, decode_line_1(), error(), flags, get_last_displayed_line(), get_last_displayed_symtab(), last_displayed_sal_is_valid(), and string_to_event_location().

Referenced by info_line_command(), and jump_command().

## ◆ find_toplevel_char()

const char* find_toplevel_char | ( | const char * | s,
|  | char | c
| ) |  |

Definition at line 1286 of file linespec.c.

References CP_OPERATOR_LEN, CP_OPERATOR_STR, and scan().

Referenced by explicit_location_lex_one_function(), find_toplevel_string(), skip_op_false_positives(), and skip_quote_char().

## ◆ get_gdb_linespec_parser_quote_characters()

const char* get_gdb_linespec_parser_quote_characters | ( | void |  | ) |

Definition at line 4656 of file linespec.c.

Referenced by explicit_location_lex_one(), and explicit_location_lex_one_function().

## ◆ is_ada_operator()

int is_ada_operator | ( | const char * | string | ) |

Definition at line 504 of file linespec.c.

References ada_opname_table, ada_opname_map::decoded, ada_opname_map::encoded, and startswith().

Referenced by explicit_location_lex_one_function(), linespec_lexer_lex_string(), and parse_linespec().

## ◆ linespec_complete()

void linespec_complete | ( | completion_tracker & | tracker,
|  | const char * | text,
|  | symbol_name_match_type | match_type
| ) |  |

Definition at line 2999 of file linespec.c.

References completion_tracker::add_completion(), completion_tracker::advance_custom_word_point_by(), CATCH, complete_label(), complete_linespec_component(), ls_parser::complete_what, completion_tracker::completes_to_completion_word(), ls_parser::completion_quote_char, ls_parser::completion_quote_end, ls_parser::completion_tracker, ls_parser::completion_word, current_language, completion_tracker::discard_completions(), do_cleanups(), END_CATCH, find_linespec_symbols(), FUNCTION, completion_tracker::have_completions(), KEYWORD, LABEL, ls_parser::lexer, linespec_keywords, linespec_parser_delete(), linespec_parser_new(), make_cleanup(), NOTHING, parse_linespec(), PARSER_EXPLICIT, PARSER_RESULT, PARSER_STATE, PARSER_STREAM, completion_tracker::quote_char(), RETURN_MASK_ERROR, ls_parser::saved_arg, completion_tracker::set_quote_char(), string_find_incomplete_keyword_at_end(), TRY, and VEC().

Referenced by complete_address_and_linespec_locations().

## ◆ linespec_complete_function()

void linespec_complete_function | ( | completion_tracker & | tracker,
|  | const char * | function,
|  | symbol_name_match_type | func_match_type,
|  | const char * | source_filename
| ) |  |

Definition at line 2848 of file linespec.c.

References collect_file_symbol_completion_matches(), collect_symbol_completion_matches(), and LINESPEC.

Referenced by collect_explicit_location_matches(), complete_linespec_component(), and linespec_parse_basic().

## ◆ linespec_complete_label()

void linespec_complete_label | ( | completion_tracker & | tracker,
|  | const struct language_defn * | language,
|  | const char * | source_filename,
|  | const char * | function_name,
|  | symbol_name_match_type | name_match_type,
|  | const char * | label_name
| ) |  |

Definition at line 2960 of file linespec.c.

References CATCH, complete_label(), convert_explicit_location_to_linespec(), do_cleanups(), END_CATCH, LINE_OFFSET_UNKNOWN, linespec_parser_delete(), linespec_parser_new(), make_cleanup(), PARSER_RESULT, PARSER_STATE, RETURN_MASK_ERROR, and TRY.

Referenced by collect_explicit_location_matches().

## ◆ linespec_expression_to_pc()

CORE_ADDR linespec_expression_to_pc | ( | const char ** | exp_ptr | ) |

Definition at line 3442 of file linespec.c.

References _, current_program_space, program_space::executing_startup, NOT_FOUND_ERROR, parse_to_comma_and_eval(), throw_error(), and value_as_address().

Referenced by event_location_to_sals(), and string_to_event_location_basic().

## ◆ linespec_lex_to_end()

void linespec_lex_to_end | ( | const char ** | stringp | ) |

Definition at line 2815 of file linespec.c.

References current_language, do_cleanups(), ls_parser::lexer, linespec_lexer_consume_token(), linespec_lexer_peek_token(), linespec_parser_delete(), linespec_parser_new(), LSTOKEN_COMMA, LSTOKEN_EOI, LSTOKEN_KEYWORD, make_cleanup(), PARSER_STREAM, ls_parser::saved_arg, and token.

Referenced by new_linespec_location().

## ◆ linespec_lexer_lex_keyword()

const char* linespec_lexer_lex_keyword | ( | const char * | p | ) |

Definition at line 456 of file linespec.c.

References IF_KEYWORD_INDEX, linespec_keywords, and skip_spaces().

Referenced by explicit_location_lex_one(), explicit_location_lex_one_function(), is_closing_quote_enclosed(), linespec_lexer_lex_one(), linespec_lexer_lex_string(), and string_to_explicit_location().

## ◆ linespec_parse_line_offset()

struct line_offset linespec_parse_line_offset | ( | const char * | string | ) |

Definition at line 1745 of file linespec.c.

References _, error(), LINE_OFFSET_MINUS, LINE_OFFSET_NONE, LINE_OFFSET_PLUS, line_offset::offset, line_offset::sign, and string.

Referenced by bppy_init(), linespec_parse_basic(), mi_cmd_break_insert_1(), and string_to_explicit_location().

## Variable Documentation

## ◆ linespec_keywords

const char* const linespec_keywords[]

Definition at line 251 of file linespec.c.

Referenced by collect_explicit_location_matches(), complete_explicit_location(), complete_linespec_component(), linespec_complete(), linespec_lexer_lex_keyword(), and location_completer().