GDB (xrefs)
Classes | Typedefs | Functions | Variables
scm-value.c File Reference
#include "defs.h"
#include "arch-utils.h"
#include "charset.h"
#include "cp-abi.h"
#include "infcall.h"
#include "symtab.h"
#include "language.h"
#include "valprint.h"
#include "value.h"
#include "guile-internal.h"

Go to the source code of this file.

Classes

struct  _value_smob
 

Typedefs

typedef struct _value_smob value_smob
 

Functions

void gdbscm_preserve_values (const struct extension_language_defn *extlang, struct objfile *objfile, htab_t copied_types)
 
static void vlscm_remember_scheme_value (value_smob *v_smob)
 
static void vlscm_forget_value_smob (value_smob *v_smob)
 
static size_t vlscm_free_value_smob (SCM self)
 
static int vlscm_print_value_smob (SCM self, SCM port, scm_print_state *pstate)
 
static SCM vlscm_equal_p_value_smob (SCM v1, SCM v2)
 
static SCM vlscm_make_value_smob (void)
 
int vlscm_is_value (SCM scm)
 
static SCM gdbscm_value_p (SCM scm)
 
SCM vlscm_scm_from_value (struct value *value)
 
static SCM vlscm_get_value_arg_unsafe (SCM self, int arg_pos, const char *func_name)
 
static value_smobvlscm_get_value_smob_arg_unsafe (SCM self, int arg_pos, const char *func_name)
 
struct valuevlscm_scm_to_value (SCM v_scm)
 
static SCM gdbscm_make_value (SCM x, SCM rest)
 
static SCM gdbscm_make_lazy_value (SCM type_scm, SCM address_scm)
 
static SCM gdbscm_value_optimized_out_p (SCM self)
 
static SCM gdbscm_value_address (SCM self)
 
static SCM gdbscm_value_dereference (SCM self)
 
static SCM gdbscm_value_referenced_value (SCM self)
 
static SCM gdbscm_value_type (SCM self)
 
static SCM gdbscm_value_dynamic_type (SCM self)
 
static SCM vlscm_do_cast (SCM self, SCM type_scm, enum exp_opcode op, const char *func_name)
 
static SCM gdbscm_value_cast (SCM self, SCM new_type)
 
static SCM gdbscm_value_dynamic_cast (SCM self, SCM new_type)
 
static SCM gdbscm_value_reinterpret_cast (SCM self, SCM new_type)
 
static SCM gdbscm_value_field (SCM self, SCM field_scm)
 
static SCM gdbscm_value_subscript (SCM self, SCM index_scm)
 
static SCM gdbscm_value_call (SCM self, SCM args)
 
static SCM gdbscm_value_to_bytevector (SCM self)
 
static int is_intlike (struct type *type, int ptr_ok)
 
static SCM gdbscm_value_to_bool (SCM self)
 
static SCM gdbscm_value_to_integer (SCM self)
 
static SCM gdbscm_value_to_real (SCM self)
 
static SCM gdbscm_value_to_string (SCM self, SCM rest)
 
static SCM gdbscm_value_to_lazy_string (SCM self, SCM rest)
 
static SCM gdbscm_value_lazy_p (SCM self)
 
static SCM gdbscm_value_fetch_lazy_x (SCM self)
 
static SCM gdbscm_value_print (SCM self)
 
static SCM gdbscm_parse_and_eval (SCM expr_scm)
 
static SCM gdbscm_history_ref (SCM index)
 
static SCM gdbscm_history_append_x (SCM value)
 
void gdbscm_initialize_values (void)
 

Variables

static const char value_smob_name [] = "gdb:value"
 
static scm_t_bits value_smob_tag
 
static value_smobvalues_in_scheme
 
static SCM type_keyword
 
static SCM encoding_keyword
 
static SCM errors_keyword
 
static SCM length_keyword
 
static SCM error_symbol
 
static SCM escape_symbol
 
static SCM substitute_symbol
 
static const scheme_function value_functions []
 

Typedef Documentation

typedef struct _value_smob value_smob

Function Documentation

static SCM gdbscm_history_append_x ( SCM  value)
static
static SCM gdbscm_history_ref ( SCM  index)
static
void gdbscm_initialize_values ( void  )
static SCM gdbscm_make_lazy_value ( SCM  type_scm,
SCM  address_scm 
)
static
static SCM gdbscm_make_value ( SCM  x,
SCM  rest 
)
static
static SCM gdbscm_parse_and_eval ( SCM  expr_scm)
static
void gdbscm_preserve_values ( const struct extension_language_defn extlang,
struct objfile objfile,
htab_t  copied_types 
)

Definition at line 87 of file scm-value.c.

References _value_smob::next, preserve_one_value(), and _value_smob::value.

static SCM gdbscm_value_address ( SCM  self)
static
static SCM gdbscm_value_call ( SCM  self,
SCM  args 
)
static
static SCM gdbscm_value_cast ( SCM  self,
SCM  new_type 
)
static

Definition at line 681 of file scm-value.c.

References FUNC_NAME, and vlscm_do_cast().

static SCM gdbscm_value_dereference ( SCM  self)
static
static SCM gdbscm_value_dynamic_cast ( SCM  self,
SCM  new_type 
)
static

Definition at line 689 of file scm-value.c.

References FUNC_NAME, and vlscm_do_cast().

static SCM gdbscm_value_dynamic_type ( SCM  self)
static
static SCM gdbscm_value_fetch_lazy_x ( SCM  self)
static
static SCM gdbscm_value_field ( SCM  self,
SCM  field_scm 
)
static
static SCM gdbscm_value_lazy_p ( SCM  self)
static
static SCM gdbscm_value_optimized_out_p ( SCM  self)
static
static SCM gdbscm_value_p ( SCM  scm)
static

Definition at line 248 of file scm-value.c.

References vlscm_is_value().

static SCM gdbscm_value_print ( SCM  self)
static
static SCM gdbscm_value_referenced_value ( SCM  self)
static
static SCM gdbscm_value_reinterpret_cast ( SCM  self,
SCM  new_type 
)
static

Definition at line 697 of file scm-value.c.

References FUNC_NAME, and vlscm_do_cast().

static SCM gdbscm_value_subscript ( SCM  self,
SCM  index_scm 
)
static
static SCM gdbscm_value_to_bool ( SCM  self)
static
static SCM gdbscm_value_to_bytevector ( SCM  self)
static
static SCM gdbscm_value_to_integer ( SCM  self)
static
static SCM gdbscm_value_to_lazy_string ( SCM  self,
SCM  rest 
)
static
static SCM gdbscm_value_to_real ( SCM  self)
static
static SCM gdbscm_value_to_string ( SCM  self,
SCM  rest 
)
static
static SCM gdbscm_value_type ( SCM  self)
static
static int is_intlike ( struct type type,
int  ptr_ok 
)
static
static SCM vlscm_do_cast ( SCM  self,
SCM  type_scm,
enum exp_opcode  op,
const char *  func_name 
)
static
static SCM vlscm_equal_p_value_smob ( SCM  v1,
SCM  v2 
)
static
static void vlscm_forget_value_smob ( value_smob v_smob)
static

Definition at line 111 of file scm-value.c.

References gdb_assert, _value_smob::next, and _value_smob::prev.

Referenced by vlscm_free_value_smob().

static size_t vlscm_free_value_smob ( SCM  self)
static

Definition at line 128 of file scm-value.c.

References _value_smob::value, value_free(), and vlscm_forget_value_smob().

Referenced by gdbscm_initialize_values().

static SCM vlscm_get_value_arg_unsafe ( SCM  self,
int  arg_pos,
const char *  func_name 
)
static

Definition at line 276 of file scm-value.c.

References value_smob_name, and vlscm_is_value().

Referenced by vlscm_get_value_smob_arg_unsafe().

static value_smob* vlscm_get_value_smob_arg_unsafe ( SCM  self,
int  arg_pos,
const char *  func_name 
)
static
int vlscm_is_value ( SCM  scm)
static SCM vlscm_make_value_smob ( void  )
static
static int vlscm_print_value_smob ( SCM  self,
SCM  port,
scm_print_state *  pstate 
)
static
static void vlscm_remember_scheme_value ( value_smob v_smob)
static

Definition at line 99 of file scm-value.c.

References _value_smob::next, _value_smob::prev, and values_in_scheme.

Referenced by vlscm_scm_from_value().

SCM vlscm_scm_from_value ( struct value value)
struct value* vlscm_scm_to_value ( SCM  v_scm)

Definition at line 300 of file scm-value.c.

References gdb_assert, _value_smob::value, and vlscm_is_value().

Referenced by vlscm_convert_typed_value_from_scheme().

Variable Documentation

SCM encoding_keyword
static
SCM error_symbol
static

Definition at line 76 of file scm-value.c.

Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().

SCM errors_keyword
static

Definition at line 72 of file scm-value.c.

Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().

SCM escape_symbol
static

Definition at line 77 of file scm-value.c.

Referenced by gdbscm_initialize_values().

SCM length_keyword
static
SCM substitute_symbol
static

Definition at line 78 of file scm-value.c.

Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().

SCM type_keyword
static

Definition at line 70 of file scm-value.c.

Referenced by gdbscm_initialize_values(), and gdbscm_make_value().

const scheme_function value_functions[]
static

Definition at line 1411 of file scm-value.c.

const char value_smob_name[] = "gdb:value"
static
scm_t_bits value_smob_tag
static

Definition at line 62 of file scm-value.c.

Referenced by gdbscm_initialize_values(), vlscm_is_value(), and vlscm_make_value_smob().

value_smob* values_in_scheme
static

Definition at line 67 of file scm-value.c.

Referenced by vlscm_remember_scheme_value().