GDB (xrefs)

Classes | Functions | Variables
scm-iterator.c File Reference
`#include "defs.h"`
`#include "guile-internal.h"`

Go to the source code of this file.

## Classes
struct | _iterator_smob

## Functions
const char * | itscm_iterator_smob_name (void)
SCM | itscm_iterator_smob_object (iterator_smob *i_smob)
SCM | itscm_iterator_smob_progress (iterator_smob *i_smob)
void | itscm_set_iterator_smob_progress_x (iterator_smob *i_smob, SCM progress)
static int | itscm_print_iterator_smob (SCM self, SCM port, scm_print_state *pstate)
static SCM | itscm_make_iterator_smob (SCM object, SCM progress, SCM next)
SCM | gdbscm_make_iterator (SCM object, SCM progress, SCM next)
int | itscm_is_iterator (SCM scm)
static SCM | gdbscm_iterator_p (SCM scm)
SCM | gdbscm_end_of_iteration (void)
int | itscm_is_end_of_iteration (SCM obj)
static SCM | gdbscm_end_of_iteration_p (SCM obj)
SCM | itscm_safe_call_next_x (SCM iter, excp_matcher_func *ok_excps)
SCM | itscm_get_iterator_arg_unsafe (SCM self, int arg_pos, const char *func_name)
static SCM | gdbscm_iterator_object (SCM self)
static SCM | gdbscm_iterator_progress (SCM self)
static SCM | gdbscm_set_iterator_progress_x (SCM self, SCM value)
static SCM | gdbscm_iterator_next_x (SCM self)
void | gdbscm_initialize_iterators (void)

## Variables
static const char | iterator_smob_name [] = "gdb:iterator"
static scm_t_bits | iterator_smob_tag
static SCM | end_of_iteration
static const scheme_function | iterator_functions []

## Function Documentation

## ◆ gdbscm_end_of_iteration()

SCM gdbscm_end_of_iteration | ( | void |  | ) |

Definition at line 189 of file scm-iterator.c.

References end_of_iteration.

Referenced by gdbscm_block_next_symbol_x(), and gdbscm_type_next_field_x().

## ◆ gdbscm_end_of_iteration_p()

static SCM gdbscm_end_of_iteration_p | ( | SCM | obj | ) |
| static

Definition at line 205 of file scm-iterator.c.

References itscm_is_end_of_iteration().

## ◆ gdbscm_initialize_iterators()

void gdbscm_initialize_iterators | ( | void |  | ) |

Definition at line 350 of file scm-iterator.c.

References end_of_iteration, gdbscm_define_functions(), gdbscm_make_smob_type(), iterator_functions, iterator_smob_name, iterator_smob_tag, and itscm_print_iterator_smob().

## ◆ gdbscm_iterator_next_x()

static SCM gdbscm_iterator_next_x | ( | SCM | self | ) |
| static

Definition at line 288 of file scm-iterator.c.

References FUNC_NAME, gdbscm_safe_call_1(), itscm_get_iterator_arg_unsafe(), and _iterator_smob::next_x.

## ◆ gdbscm_iterator_object()

static SCM gdbscm_iterator_object | ( | SCM | self | ) |
| static

Definition at line 242 of file scm-iterator.c.

References FUNC_NAME, itscm_get_iterator_arg_unsafe(), and _iterator_smob::object.

## ◆ gdbscm_iterator_p()

static SCM gdbscm_iterator_p | ( | SCM | scm | ) |
| static

Definition at line 180 of file scm-iterator.c.

References itscm_is_iterator().

## ◆ gdbscm_iterator_progress()

static SCM gdbscm_iterator_progress | ( | SCM | self | ) |
| static

Definition at line 256 of file scm-iterator.c.

References FUNC_NAME, itscm_get_iterator_arg_unsafe(), and _iterator_smob::progress.

## ◆ gdbscm_make_iterator()

SCM gdbscm_make_iterator | ( | SCM | object,
|  | SCM | progress,
|  | SCM | next
| ) |  |

Definition at line 157 of file scm-iterator.c.

References _, FUNC_NAME, gdbscm_is_procedure(), and itscm_make_iterator_smob().

Referenced by gdbscm_make_block_syms_iter(), and gdbscm_make_field_iterator().

## ◆ gdbscm_set_iterator_progress_x()

static SCM gdbscm_set_iterator_progress_x | ( | SCM | self,
|  | SCM | value
| ) |  |
| static

Definition at line 270 of file scm-iterator.c.

References FUNC_NAME, itscm_get_iterator_arg_unsafe(), and _iterator_smob::progress.

## ◆ itscm_get_iterator_arg_unsafe()

SCM itscm_get_iterator_arg_unsafe | ( | SCM | self,
|  | int | arg_pos,
|  | const char * | func_name
| ) |  |

Definition at line 231 of file scm-iterator.c.

References iterator_smob_name, and itscm_is_iterator().

Referenced by gdbscm_block_next_symbol_x(), gdbscm_iterator_next_x(), gdbscm_iterator_object(), gdbscm_iterator_progress(), gdbscm_set_iterator_progress_x(), and gdbscm_type_next_field_x().

## ◆ itscm_is_end_of_iteration()

int itscm_is_end_of_iteration | ( | SCM | obj | ) |

Definition at line 197 of file scm-iterator.c.

References end_of_iteration.

Referenced by gdbscm_end_of_iteration_p(), and ppscm_print_children().

## ◆ itscm_is_iterator()

int itscm_is_iterator | ( | SCM | scm | ) |

Definition at line 172 of file scm-iterator.c.

References iterator_smob_tag.

Referenced by cmdscm_completer(), gdbscm_iterator_p(), itscm_get_iterator_arg_unsafe(), itscm_safe_call_next_x(), and ppscm_print_children().

## ◆ itscm_iterator_smob_name()

const char* itscm_iterator_smob_name | ( | void |  | ) |

Definition at line 88 of file scm-iterator.c.

References iterator_smob_name.

## ◆ itscm_iterator_smob_object()

SCM itscm_iterator_smob_object | ( | iterator_smob * | i_smob | ) |

Definition at line 94 of file scm-iterator.c.

References _iterator_smob::object.

Referenced by gdbscm_block_next_symbol_x(), and gdbscm_type_next_field_x().

## ◆ itscm_iterator_smob_progress()

SCM itscm_iterator_smob_progress | ( | iterator_smob * | i_smob | ) |

Definition at line 100 of file scm-iterator.c.

References _iterator_smob::progress.

Referenced by gdbscm_block_next_symbol_x(), and gdbscm_type_next_field_x().

## ◆ itscm_make_iterator_smob()

static SCM itscm_make_iterator_smob | ( | SCM | object,
|  | SCM | progress,
|  | SCM | next
| ) |  |
| static

Definition at line 139 of file scm-iterator.c.

References gdbscm_init_gsmob(), iterator_smob_name, iterator_smob_tag, _iterator_smob::next_x, _iterator_smob::object, _iterator_smob::progress, and scm_new_smob().

Referenced by gdbscm_make_iterator().

## ◆ itscm_print_iterator_smob()

static int itscm_print_iterator_smob | ( | SCM | self,
|  | SCM | port,
|  | scm_print_state * | pstate
| ) |  |
| static

Definition at line 116 of file scm-iterator.c.

References gdbscm_printf(), iterator_smob_name, _iterator_smob::next_x, _iterator_smob::object, and _iterator_smob::progress.

Referenced by gdbscm_initialize_iterators().

## ◆ itscm_safe_call_next_x()

SCM itscm_safe_call_next_x | ( | SCM | iter,
|  | excp_matcher_func * | ok_excps
| ) |  |

Definition at line 215 of file scm-iterator.c.

References gdb_assert, gdbscm_safe_call_1(), itscm_is_iterator(), and _iterator_smob::next_x.

Referenced by cmdscm_completer(), and ppscm_print_children().

## ◆ itscm_set_iterator_smob_progress_x()

void itscm_set_iterator_smob_progress_x | ( | iterator_smob * | i_smob,
|  | SCM | progress
| ) |  |

Definition at line 106 of file scm-iterator.c.

References _iterator_smob::progress.

Referenced by gdbscm_type_next_field_x().

## Variable Documentation

## ◆ end_of_iteration

SCM end_of_iteration
| static

Definition at line 85 of file scm-iterator.c.

Referenced by gdbscm_end_of_iteration(), gdbscm_initialize_iterators(), and itscm_is_end_of_iteration().

## ◆ iterator_functions

const scheme_function iterator_functions[]
| static

Definition at line 302 of file scm-iterator.c.

Referenced by gdbscm_initialize_iterators().

## ◆ iterator_smob_name

const char iterator_smob_name[] = "gdb:iterator"
| static

Definition at line 79 of file scm-iterator.c.

Referenced by gdbscm_initialize_iterators(), itscm_get_iterator_arg_unsafe(), itscm_iterator_smob_name(), itscm_make_iterator_smob(), and itscm_print_iterator_smob().

## ◆ iterator_smob_tag

scm_t_bits iterator_smob_tag
| static

Definition at line 82 of file scm-iterator.c.

Referenced by gdbscm_initialize_iterators(), itscm_is_iterator(), and itscm_make_iterator_smob().