GDB (xrefs)
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | List of all members
pascal_language Class Reference

#include "p-lang.h"

Inheritance diagram for pascal_language:
language_defn

Public Member Functions

 pascal_language ()
 
const char * name () const override
 
const char * natural_name () const override
 
const std::vector< const char * > & filename_extensions () const override
 
void language_arch_info (struct gdbarch *gdbarch, struct language_arch_info *lai) const override
 
void print_type (struct type *type, const char *varstring, struct ui_file *stream, int show, int level, const struct type_print_options *flags) const override
 
void value_print (struct value *val, struct ui_file *stream, const struct value_print_options *options) const override
 
void value_print_inner (struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options) const override
 
int parser (struct parser_state *ps) const override
 
void emitchar (int ch, struct type *chtype, struct ui_file *stream, int quoter) const override
 
void printchar (int ch, struct type *chtype, struct ui_file *stream) const override
 
void printstr (struct ui_file *stream, struct type *elttype, const gdb_byte *string, unsigned int length, const char *encoding, int force_ellipses, const struct value_print_options *options) const override
 
void print_typedef (struct type *type, struct symbol *new_symbol, struct ui_file *stream) const override
 
bool is_string_type_p (struct type *type) const override
 
const char * name_of_this () const override
 
bool range_checking_on_by_default () const override
 
- Public Member Functions inherited from language_defn
 language_defn (enum language lang)
 
virtual const char * get_digit_separator () const
 
virtual void print_array_index (struct type *index_type, LONGEST index_value, struct ui_file *stream, const value_print_options *options) const
 
virtual struct valueread_var_value (struct symbol *var, const struct block *var_block, frame_info_ptr frame) const
 
virtual struct language_pass_by_ref_info pass_by_reference_info (struct type *type) const
 
virtual bool symbol_printing_suppressed (struct symbol *symbol) const
 
virtual struct typelookup_transparent_type (const char *name) const
 
virtual bool iterate_over_symbols (const struct block *block, const lookup_name_info &name, domain_enum domain, gdb::function_view< symbol_found_callback_ftype > callback) const
 
symbol_name_matcher_ftypeget_symbol_name_matcher (const lookup_name_info &lookup_name) const
 
virtual std::unique_ptr< compile_instanceget_compile_instance () const
 
virtual std::string compute_program (compile_instance *inst, const char *input, struct gdbarch *gdbarch, const struct block *expr_block, CORE_ADDR expr_pc) const
 
virtual unsigned int search_name_hash (const char *name) const
 
virtual bool sniff_from_mangled_name (const char *mangled, gdb::unique_xmalloc_ptr< char > *demangled) const
 
virtual gdb::unique_xmalloc_ptr< char > demangle_symbol (const char *mangled, int options) const
 
virtual bool can_print_type_offsets () const
 
virtual CORE_ADDR skip_trampoline (const frame_info_ptr &fi, CORE_ADDR pc) const
 
virtual char * class_name_from_physname (const char *physname) const
 
virtual const char * word_break_characters (void) const
 
virtual void collect_symbol_completion_matches (completion_tracker &tracker, complete_symbol_mode mode, symbol_name_match_type name_match_type, const char *text, const char *word, enum type_code code) const
 
virtual struct block_symbol lookup_symbol_nonlocal (const char *name, const struct block *block, const domain_enum domain) const
 
virtual gdb::unique_xmalloc_ptr< char > watch_location_expression (struct type *type, CORE_ADDR addr) const
 
virtual bool is_array_like (struct type *type) const
 
virtual struct valueto_array (struct value *val) const
 
virtual const char * struct_too_deep_ellipsis () const
 
virtual bool c_style_arrays_p () const
 
virtual char string_lower_bound () const
 
virtual struct valuevalue_string (struct gdbarch *gdbarch, const char *ptr, ssize_t len) const
 
virtual bool store_sym_names_in_linkage_form_p () const
 
virtual enum case_sensitivity case_sensitivity () const
 
virtual enum array_ordering array_ordering () const
 
virtual enum macro_expansion macro_expansion () const
 
virtual const struct lang_varobj_opsvarobj_ops () const
 

Private Member Functions

void print_one_char (int c, struct ui_file *stream, int *in_quotes) const
 
void type_print_base (struct type *type, struct ui_file *stream, int show, int level, const struct type_print_options *flags) const
 
void type_print_varspec_suffix (struct type *type, struct ui_file *stream, int show, int passed_a_ptr, int demangled_args, const struct type_print_options *flags) const
 
void type_print_func_varspec_suffix (struct type *type, struct ui_file *stream, int show, int passed_a_ptr, int demangled_args, const struct type_print_options *flags) const
 
void type_print_varspec_prefix (struct type *type, struct ui_file *stream, int show, int passed_a_ptr, const struct type_print_options *flags) const
 
void print_func_args (struct type *type, struct ui_file *stream, const struct type_print_options *flags) const
 
void type_print_method_args (const char *physname, const char *methodname, struct ui_file *stream) const
 
void type_print_derivation_info (struct ui_file *stream, struct type *type) const
 

Additional Inherited Members

- Public Attributes inherited from language_defn
enum language la_language
 
- Static Public Attributes inherited from language_defn
static const struct language_defnlanguages [nr_languages]
 
- Protected Member Functions inherited from language_defn
virtual symbol_name_matcher_ftypeget_symbol_name_matcher_inner (const lookup_name_info &lookup_name) const
 

Detailed Description

Definition at line 58 of file p-lang.h.

Constructor & Destructor Documentation

◆ pascal_language()

pascal_language::pascal_language ( )
inline

Definition at line 61 of file p-lang.h.

Member Function Documentation

◆ emitchar()

void pascal_language::emitchar ( int ch,
struct type * chtype,
struct ui_file * stream,
int quoter ) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 112 of file p-lang.h.

References gdb_puts(), and print_one_char().

◆ filename_extensions()

const std::vector< const char * > & pascal_language::filename_extensions ( ) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 77 of file p-lang.h.

◆ is_string_type_p()

bool pascal_language::is_string_type_p ( struct type * type) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 141 of file p-lang.h.

References pascal_is_string_type().

◆ language_arch_info()

void pascal_language::language_arch_info ( struct gdbarch * gdbarch,
struct language_arch_info * lai ) const
overridevirtual

◆ name()

const char * pascal_language::name ( ) const
inlineoverridevirtual

◆ name_of_this()

const char * pascal_language::name_of_this ( ) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 149 of file p-lang.h.

◆ natural_name()

const char * pascal_language::natural_name ( ) const
inlineoverridevirtual

Implements language_defn.

Definition at line 72 of file p-lang.h.

◆ parser()

int pascal_language::parser ( struct parser_state * ps) const
overridevirtual

Reimplemented from language_defn.

Definition at line 3210 of file p-exp.c.

References paren_depth, parser_state::pop(), pstate, expr_builder::set_operation(), and yyparse.

◆ print_func_args()

void pascal_language::print_func_args ( struct type * type,
struct ui_file * stream,
const struct type_print_options * flags ) const
private

◆ print_one_char()

void pascal_language::print_one_char ( int c,
struct ui_file * stream,
int * in_quotes ) const
private

Definition at line 149 of file p-lang.c.

References gdb_printf(), gdb_puts(), and PRINT_LITERAL_FORM.

Referenced by emitchar(), printchar(), and printstr().

◆ print_type()

void pascal_language::print_type ( struct type * type,
const char * varstring,
struct ui_file * stream,
int show,
int level,
const struct type_print_options * flags ) const
overridevirtual

◆ print_typedef()

void pascal_language::print_typedef ( struct type * type,
struct symbol * new_symbol,
struct ui_file * stream ) const
overridevirtual

Reimplemented from language_defn.

Definition at line 86 of file p-typeprint.c.

References check_typedef(), gdb_printf(), new_symbol(), general_symbol_info::print_name(), and type_print().

◆ printchar()

void pascal_language::printchar ( int ch,
struct type * chtype,
struct ui_file * stream ) const
overridevirtual

Reimplemented from language_defn.

Definition at line 176 of file p-lang.c.

References gdb_puts(), and print_one_char().

Referenced by printstr().

◆ printstr()

void pascal_language::printstr ( struct ui_file * stream,
struct type * elttype,
const gdb_byte * string,
unsigned int length,
const char * encoding,
int force_ellipses,
const struct value_print_options * options ) const
overridevirtual

◆ range_checking_on_by_default()

bool pascal_language::range_checking_on_by_default ( ) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 154 of file p-lang.h.

◆ type_print_base()

void pascal_language::type_print_base ( struct type * type,
struct ui_file * stream,
int show,
int level,
const struct type_print_options * flags ) const
private

◆ type_print_derivation_info()

void pascal_language::type_print_derivation_info ( struct ui_file * stream,
struct type * type ) const
private

◆ type_print_func_varspec_suffix()

void pascal_language::type_print_func_varspec_suffix ( struct type * type,
struct ui_file * stream,
int show,
int passed_a_ptr,
int demangled_args,
const struct type_print_options * flags ) const
private

◆ type_print_method_args()

void pascal_language::type_print_method_args ( const char * physname,
const char * methodname,
struct ui_file * stream ) const
private

Definition at line 123 of file p-typeprint.c.

References gdb_putc(), and gdb_puts().

Referenced by type_print_base(), and type_print_varspec_suffix().

◆ type_print_varspec_prefix()

void pascal_language::type_print_varspec_prefix ( struct type * type,
struct ui_file * stream,
int show,
int passed_a_ptr,
const struct type_print_options * flags ) const
private

◆ type_print_varspec_suffix()

void pascal_language::type_print_varspec_suffix ( struct type * type,
struct ui_file * stream,
int show,
int passed_a_ptr,
int demangled_args,
const struct type_print_options * flags ) const
private

◆ value_print()

void pascal_language::value_print ( struct value * val,
struct ui_file * stream,
const struct value_print_options * options ) const
overridevirtual

◆ value_print_inner()

void pascal_language::value_print_inner ( struct value * val,
struct ui_file * stream,
int recurse,
const struct value_print_options * options ) const
overridevirtual

Reimplemented from language_defn.

Definition at line 67 of file p-valprint.c.

References value::address, value_print_options::addressprint, type::arch(), check_typedef(), type::code(), common_val_print(), value::contents_for_printing(), current_language, demangle, extract_unsigned_integer(), type::field(), value_print_options::format, fprintf_styled(), fputs_styled(), gdb_printf(), gdb_puts(), generic_value_print(), get_array_bounds(), get_discrete_bounds(), get_print_max_chars(), type::index_type(), type::is_stub(), type::length(), field::loc_bitpos(), lookup_minimal_symbol_by_pc(), lookup_symbol_search_name(), metadata_style, bound_minimal_symbol::minsym, p_decorations, paddress(), pascal_is_string_type(), pascal_object_is_vtbl_member(), pascal_object_is_vtbl_ptr_type(), pascal_object_print_value_fields(), value_print_options::prettyformat, print_address_demangle(), general_symbol_info::print_name(), print_spaces(), print_type_scalar(), print_unpacked_pointer(), printstr(), read_memory(), general_symbol_info::search_name(), value_print_options::stop_print_at_null, cli_style_option::style(), block_symbol::symbol, value_print_options::symbol_print, type::target_type(), field::type(), symbol::type(), value::type(), type_byte_order(), TYPE_CODE_UNDEF, value_print_options::unionprint, unpack_pointer(), val_print_string(), bound_minimal_symbol::value_address(), value_at(), value_bit_index(), value_print_array_elements(), value_print_scalar_formatted(), VAR_DOMAIN, VTBL_FNADDR_OFFSET, value_print_options::vtblprint, xfree(), and xmalloc().


The documentation for this class was generated from the following files: