GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions | Variables
extension.h File Reference
#include "mi/mi-cmds.h"
#include "gdbsupport/array-view.h"
#include "gdbsupport/gdb_optional.h"

Go to the source code of this file.

Classes

struct  ext_lang_type_printers
 
struct  xmethod_worker
 
class  scoped_disable_cooperative_sigint_handling
 

Typedefs

typedef void script_sourcer_func(const struct extension_language_defn *, FILE *stream, const char *filename)
 
typedef void objfile_script_sourcer_func(const struct extension_language_defn *, struct objfile *, FILE *stream, const char *filename)
 
typedef void objfile_script_executor_func(const struct extension_language_defn *, struct objfile *, const char *name, const char *script)
 
typedef std::unique_ptr< xmethod_workerxmethod_worker_up
 

Enumerations

enum  extension_language { EXT_LANG_NONE , EXT_LANG_GDB , EXT_LANG_PYTHON , EXT_LANG_GUILE }
 
enum  ext_lang_bt_status { EXT_LANG_BT_ERROR = -1 , EXT_LANG_BT_OK = 1 , EXT_LANG_BT_NO_FILTERS = 2 }
 
enum  frame_filter_flag {
  PRINT_LEVEL = 1 << 0 , PRINT_FRAME_INFO = 1 << 1 , PRINT_ARGS = 1 << 2 , PRINT_LOCALS = 1 << 3 ,
  PRINT_MORE_FRAMES = 1 << 4 , PRINT_HIDE = 1 << 5
}
 
enum  ext_lang_frame_args {
  NO_VALUES = PRINT_NO_VALUES , MI_PRINT_ALL_VALUES = PRINT_ALL_VALUES , MI_PRINT_SIMPLE_VALUES = PRINT_SIMPLE_VALUES , CLI_SCALAR_VALUES ,
  CLI_ALL_VALUES , CLI_PRESENCE
}
 
enum  ext_lang_bp_stop { EXT_LANG_BP_STOP_UNSET , EXT_LANG_BP_STOP_NO , EXT_LANG_BP_STOP_YES }
 
enum  ext_lang_rc { EXT_LANG_RC_OK , EXT_LANG_RC_NOP , EXT_LANG_RC_ERROR }
 

Functions

 DEF_ENUM_FLAGS_TYPE (enum frame_filter_flag, frame_filter_flags)
 
const struct extension_language_defnget_ext_lang_defn (enum extension_language lang)
 
const struct extension_language_defnget_ext_lang_of_file (const char *file)
 
int ext_lang_present_p (const struct extension_language_defn *)
 
int ext_lang_initialized_p (const struct extension_language_defn *)
 
void throw_ext_lang_unsupported (const struct extension_language_defn *)
 
enum extension_language ext_lang_kind (const struct extension_language_defn *)
 
const char * ext_lang_name (const struct extension_language_defn *)
 
const char * ext_lang_capitalized_name (const struct extension_language_defn *)
 
const char * ext_lang_suffix (const struct extension_language_defn *)
 
const char * ext_lang_auto_load_suffix (const struct extension_language_defn *)
 
script_sourcer_funcext_lang_script_sourcer (const struct extension_language_defn *)
 
objfile_script_sourcer_funcext_lang_objfile_script_sourcer (const struct extension_language_defn *)
 
objfile_script_executor_funcext_lang_objfile_script_executor (const struct extension_language_defn *)
 
bool ext_lang_auto_load_enabled (const struct extension_language_defn *)
 
void ext_lang_initialization (void)
 
void eval_ext_lang_from_control_command (struct command_line *cmd)
 
void auto_load_ext_lang_scripts_for_objfile (struct objfile *)
 
gdb::unique_xmalloc_ptr< char > apply_ext_lang_type_printers (struct ext_lang_type_printers *, struct type *)
 
int apply_ext_lang_val_pretty_printer (struct value *value, struct ui_file *stream, int recurse, const struct value_print_options *options, const struct language_defn *language)
 
enum ext_lang_bt_status apply_ext_lang_frame_filter (frame_info_ptr frame, frame_filter_flags flags, enum ext_lang_frame_args args_type, struct ui_out *out, int frame_low, int frame_high)
 
void preserve_ext_lang_values (struct objfile *, htab_t copied_types)
 
const struct extension_language_defnget_breakpoint_cond_ext_lang (struct breakpoint *b, enum extension_language skip_lang)
 
bool breakpoint_ext_lang_cond_says_stop (struct breakpoint *)
 
void get_matching_xmethod_workers (struct type *type, const char *method_name, std::vector< xmethod_worker_up > *workers)
 
gdb::optional< std::string > ext_lang_colorize (const std::string &filename, const std::string &contents)
 
gdb::optional< std::string > ext_lang_colorize_disasm (const std::string &content, gdbarch *gdbarch)
 
gdb::optional< int > ext_lang_print_insn (struct gdbarch *gdbarch, CORE_ADDR address, struct disassemble_info *info)
 

Variables

const struct extension_language_defn extension_language_gdb
 

Typedef Documentation

◆ objfile_script_executor_func

typedef void objfile_script_executor_func(const struct extension_language_defn *, struct objfile *, const char *name, const char *script)

Definition at line 54 of file extension.h.

◆ objfile_script_sourcer_func

typedef void objfile_script_sourcer_func(const struct extension_language_defn *, struct objfile *, FILE *stream, const char *filename)

Definition at line 48 of file extension.h.

◆ script_sourcer_func

typedef void script_sourcer_func(const struct extension_language_defn *, FILE *stream, const char *filename)

Definition at line 42 of file extension.h.

◆ xmethod_worker_up

typedef std::unique_ptr<xmethod_worker> xmethod_worker_up

Definition at line 229 of file extension.h.

Enumeration Type Documentation

◆ ext_lang_bp_stop

Enumerator
EXT_LANG_BP_STOP_UNSET 
EXT_LANG_BP_STOP_NO 
EXT_LANG_BP_STOP_YES 

Definition at line 137 of file extension.h.

◆ ext_lang_bt_status

Enumerator
EXT_LANG_BT_ERROR 
EXT_LANG_BT_OK 
EXT_LANG_BT_NO_FILTERS 

Definition at line 70 of file extension.h.

◆ ext_lang_frame_args

Enumerator
NO_VALUES 
MI_PRINT_ALL_VALUES 
MI_PRINT_SIMPLE_VALUES 
CLI_SCALAR_VALUES 
CLI_ALL_VALUES 
CLI_PRESENCE 

Definition at line 113 of file extension.h.

◆ ext_lang_rc

Enumerator
EXT_LANG_RC_OK 
EXT_LANG_RC_NOP 
EXT_LANG_RC_ERROR 

Definition at line 164 of file extension.h.

◆ extension_language

Enumerator
EXT_LANG_NONE 
EXT_LANG_GDB 
EXT_LANG_PYTHON 
EXT_LANG_GUILE 

Definition at line 60 of file extension.h.

◆ frame_filter_flag

Enumerator
PRINT_LEVEL 
PRINT_FRAME_INFO 
PRINT_ARGS 
PRINT_LOCALS 
PRINT_MORE_FRAMES 
PRINT_HIDE 

Definition at line 87 of file extension.h.

Function Documentation

◆ apply_ext_lang_frame_filter()

enum ext_lang_bt_status apply_ext_lang_frame_filter ( frame_info_ptr frame,
frame_filter_flags flags,
enum ext_lang_frame_args args_type,
struct ui_out * out,
int frame_low,
int frame_high )
extern

◆ apply_ext_lang_type_printers()

gdb::unique_xmalloc_ptr< char > apply_ext_lang_type_printers ( struct ext_lang_type_printers * printers,
struct type * type )
extern

◆ apply_ext_lang_val_pretty_printer()

int apply_ext_lang_val_pretty_printer ( struct value * value,
struct ui_file * stream,
int recurse,
const struct value_print_options * options,
const struct language_defn * language )
extern

◆ auto_load_ext_lang_scripts_for_objfile()

void auto_load_ext_lang_scripts_for_objfile ( struct objfile * objfile)
extern

◆ breakpoint_ext_lang_cond_says_stop()

bool breakpoint_ext_lang_cond_says_stop ( struct breakpoint * b)
extern

◆ DEF_ENUM_FLAGS_TYPE()

DEF_ENUM_FLAGS_TYPE ( enum frame_filter_flag,
frame_filter_flags  )

◆ eval_ext_lang_from_control_command()

void eval_ext_lang_from_control_command ( struct command_line * cmd)
extern

◆ ext_lang_auto_load_enabled()

bool ext_lang_auto_load_enabled ( const struct extension_language_defn * extlang)
extern

◆ ext_lang_auto_load_suffix()

const char * ext_lang_auto_load_suffix ( const struct extension_language_defn * extlang)
extern

Definition at line 231 of file extension.c.

References extension_language_defn::auto_load_suffix.

Referenced by auto_load_objfile_script_1().

◆ ext_lang_capitalized_name()

const char * ext_lang_capitalized_name ( const struct extension_language_defn * extlang)
extern

◆ ext_lang_colorize()

gdb::optional< std::string > ext_lang_colorize ( const std::string & filename,
const std::string & contents )
extern

Definition at line 943 of file extension.c.

References extension_languages.

Referenced by source_cache::ensure().

◆ ext_lang_colorize_disasm()

gdb::optional< std::string > ext_lang_colorize_disasm ( const std::string & content,
gdbarch * gdbarch )
extern

Definition at line 963 of file extension.c.

References extension_languages.

Referenced by gdb_disassembler::print_insn().

◆ ext_lang_initialization()

void ext_lang_initialization ( void )
extern

Definition at line 331 of file extension.c.

References extension_languages.

Referenced by captured_main_1().

◆ ext_lang_initialized_p()

int ext_lang_initialized_p ( const struct extension_language_defn * extlang)
extern

Definition at line 159 of file extension.c.

References extension_language_ops::initialized, and extension_language_defn::ops.

Referenced by mi_cmd_list_features().

◆ ext_lang_kind()

enum extension_language ext_lang_kind ( const struct extension_language_defn * )
extern

◆ ext_lang_name()

const char * ext_lang_name ( const struct extension_language_defn * extlang)
extern

◆ ext_lang_objfile_script_executor()

objfile_script_executor_func * ext_lang_objfile_script_executor ( const struct extension_language_defn * extlang)
extern

◆ ext_lang_objfile_script_sourcer()

objfile_script_sourcer_func * ext_lang_objfile_script_sourcer ( const struct extension_language_defn * extlang)
extern

◆ ext_lang_present_p()

int ext_lang_present_p ( const struct extension_language_defn * extlang)
extern

◆ ext_lang_print_insn()

gdb::optional< int > ext_lang_print_insn ( struct gdbarch * gdbarch,
CORE_ADDR address,
struct disassemble_info * info )
extern

Definition at line 983 of file extension.c.

References extension_languages, and type::length().

Referenced by gdb_print_insn_1().

◆ ext_lang_script_sourcer()

script_sourcer_func * ext_lang_script_sourcer ( const struct extension_language_defn * extlang)
extern

◆ ext_lang_suffix()

const char * ext_lang_suffix ( const struct extension_language_defn * extlang)
extern

Definition at line 223 of file extension.c.

References extension_language_defn::suffix.

◆ get_breakpoint_cond_ext_lang()

const struct extension_language_defn * get_breakpoint_cond_ext_lang ( struct breakpoint * b,
enum extension_language skip_lang )
extern

◆ get_ext_lang_defn()

const struct extension_language_defn * get_ext_lang_defn ( enum extension_language lang)
extern

◆ get_ext_lang_of_file()

const struct extension_language_defn * get_ext_lang_of_file ( const char * file)
extern

◆ get_matching_xmethod_workers()

void get_matching_xmethod_workers ( struct type * type,
const char * method_name,
std::vector< xmethod_worker_up > * workers )
extern

Definition at line 886 of file extension.c.

References EXT_LANG_RC_ERROR, and extension_languages.

Referenced by find_method_list().

◆ preserve_ext_lang_values()

void preserve_ext_lang_values ( struct objfile * objfile,
htab_t copied_types )
extern

Definition at line 563 of file extension.c.

References extension_languages.

Referenced by preserve_values().

◆ throw_ext_lang_unsupported()

void throw_ext_lang_unsupported ( const struct extension_language_defn * extlang)
extern

Variable Documentation

◆ extension_language_gdb

const struct extension_language_defn extension_language_gdb
extern