GDB (xrefs)

Classes | Macros | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/dictionary.c File Reference
`#include "defs.h"`
`#include <ctype.h>`
`#include "gdb_obstack.h"`
`#include "symtab.h"`
`#include "buildsym.h"`
`#include "dictionary.h"`
`#include "safe-ctype.h"`

Go to the source code of this file.

## Classes
struct | dict_vector
struct | dictionary_hashed
struct | dictionary_hashed_expandable
struct | dictionary_linear
struct | dictionary_linear_expandable
struct | dictionary

## Macros
#define | DICT_VECTOR(d) (d)->vector
#define | DICT_LANGUAGE(d) (d)->language
#define | DICT_HASHED_NBUCKETS(d) (d)->data.hashed.nbuckets
#define | DICT_HASHED_BUCKETS(d) (d)->data.hashed.buckets
#define | DICT_HASHED_BUCKET(d, i) DICT_HASHED_BUCKETS (d) [i]
#define | DICT_HASHED_EXPANDABLE_NSYMS(d) (d)->data.hashed_expandable.nsyms
#define | DICT_LINEAR_NSYMS(d) (d)->data.linear.nsyms
#define | DICT_LINEAR_SYMS(d) (d)->data.linear.syms
#define | DICT_LINEAR_SYM(d, i) DICT_LINEAR_SYMS (d) [i]
#define | DICT_LINEAR_EXPANDABLE_CAPACITY(d) (d)->data.linear_expandable.capacity
#define | DICT_EXPANDABLE_INITIAL_CAPACITY 10
#define | DICT_HASHTABLE_SIZE(n) ((n)/5 + 1)
#define | DICT_ITERATOR_DICT(iter) (iter)->dict
#define | DICT_ITERATOR_INDEX(iter) (iter)->index
#define | DICT_ITERATOR_CURRENT(iter) (iter)->current

## Enumerations
enum | dict_type { DICT_HASHED, DICT_HASHED_EXPANDABLE, DICT_LINEAR, DICT_LINEAR_EXPANDABLE }

## Functions
static void | add_symbol_nonexpandable (struct dictionary *dict, struct symbol *sym)
static void | free_obstack (struct dictionary *dict)
static struct symbol * | iterator_first_hashed (const struct dictionary *dict, struct dict_iterator *iterator)
static struct symbol * | iterator_next_hashed (struct dict_iterator *iterator)
static struct symbol * | iter_match_first_hashed (const struct dictionary *dict, const lookup_name_info &name, struct dict_iterator *iterator)
static struct symbol * | iter_match_next_hashed (const lookup_name_info &name, struct dict_iterator *iterator)
static int | size_hashed (const struct dictionary *dict)
static void | free_hashed_expandable (struct dictionary *dict)
static void | add_symbol_hashed_expandable (struct dictionary *dict, struct symbol *sym)
static int | size_hashed_expandable (const struct dictionary *dict)
static struct symbol * | iterator_first_linear (const struct dictionary *dict, struct dict_iterator *iterator)
static struct symbol * | iterator_next_linear (struct dict_iterator *iterator)
static struct symbol * | iter_match_first_linear (const struct dictionary *dict, const lookup_name_info &name, struct dict_iterator *iterator)
static struct symbol * | iter_match_next_linear (const lookup_name_info &name, struct dict_iterator *iterator)
static int | size_linear (const struct dictionary *dict)
static void | free_linear_expandable (struct dictionary *dict)
static void | add_symbol_linear_expandable (struct dictionary *dict, struct symbol *sym)
static struct symbol * | iterator_hashed_advance (struct dict_iterator *iter)
static void | insert_symbol_hashed (struct dictionary *dict, struct symbol *sym)
static void | expand_hashtable (struct dictionary *dict)
struct dictionary * | dict_create_hashed (struct obstack *obstack, enum language language, const struct pending *symbol_list)
struct dictionary * | dict_create_hashed_expandable (enum language language)
struct dictionary * | dict_create_linear (struct obstack *obstack, enum language language, const struct pending *symbol_list)
struct dictionary * | dict_create_linear_expandable (enum language language)
void | dict_free (struct dictionary *dict)
void | dict_add_symbol (struct dictionary *dict, struct symbol *sym)
void | dict_add_pending (struct dictionary *dict, const struct pending *symbol_list)
struct symbol * | dict_iterator_first (const struct dictionary *dict, struct dict_iterator *iterator)
struct symbol * | dict_iterator_next (struct dict_iterator *iterator)
struct symbol * | dict_iter_match_first (const struct dictionary *dict, const lookup_name_info &name, struct dict_iterator *iterator)
struct symbol * | dict_iter_match_next (const lookup_name_info &name, struct dict_iterator *iterator)
int | dict_size (const struct dictionary *dict)
int | dict_empty (struct dictionary *dict)
unsigned int | default_search_name_hash (const char *string0)

## Variables
static const struct dict_vector | dict_hashed_vector
static const struct dict_vector | dict_hashed_expandable_vector
static const struct dict_vector | dict_linear_vector
static const struct dict_vector | dict_linear_expandable_vector

## Macro Definition Documentation

## ◆ DICT_EXPANDABLE_INITIAL_CAPACITY

#define DICT_EXPANDABLE_INITIAL_CAPACITY 10

Definition at line 203 of file dictionary.c.

Referenced by dict_create_hashed_expandable(), and dict_create_linear_expandable().

## ◆ DICT_HASHED_BUCKET

#define DICT_HASHED_BUCKET | ( |  | d,
|  |  | i
| ) |  | DICT_HASHED_BUCKETS (d) [i]

Definition at line 188 of file dictionary.c.

Referenced by iter_match_first_hashed(), and iterator_hashed_advance().

## ◆ DICT_HASHED_BUCKETS

#define DICT_HASHED_BUCKETS | ( |  | d | ) | (d)->data.hashed.buckets

Definition at line 187 of file dictionary.c.

Referenced by dict_create_hashed(), dict_create_hashed_expandable(), expand_hashtable(), free_hashed_expandable(), and insert_symbol_hashed().

## ◆ DICT_HASHED_EXPANDABLE_NSYMS

#define DICT_HASHED_EXPANDABLE_NSYMS | ( |  | d | ) | (d)->data.hashed_expandable.nsyms

Definition at line 190 of file dictionary.c.

Referenced by add_symbol_hashed_expandable(), dict_create_hashed_expandable(), and size_hashed_expandable().

## ◆ DICT_HASHED_NBUCKETS

#define DICT_HASHED_NBUCKETS | ( |  | d | ) | (d)->data.hashed.nbuckets

Definition at line 186 of file dictionary.c.

Referenced by add_symbol_hashed_expandable(), dict_create_hashed(), dict_create_hashed_expandable(), expand_hashtable(), insert_symbol_hashed(), iter_match_first_hashed(), iterator_hashed_advance(), and size_hashed().

## ◆ DICT_HASHTABLE_SIZE

#define DICT_HASHTABLE_SIZE | ( |  | n | ) | ((n)/5 + 1)

Definition at line 208 of file dictionary.c.

Referenced by add_symbol_hashed_expandable(), and dict_create_hashed().

## ◆ DICT_ITERATOR_CURRENT

#define DICT_ITERATOR_CURRENT | ( |  | iter | ) | (iter)->current

Definition at line 221 of file dictionary.c.

Referenced by iter_match_first_hashed(), iter_match_next_hashed(), iterator_hashed_advance(), and iterator_next_hashed().

## ◆ DICT_ITERATOR_DICT

#define DICT_ITERATOR_DICT | ( |  | iter | ) | (iter)->dict

Definition at line 215 of file dictionary.c.

Referenced by dict_iter_match_next(), dict_iterator_next(), iter_match_first_hashed(), iter_match_first_linear(), iter_match_next_hashed(), iter_match_next_linear(), iterator_first_hashed(), iterator_first_linear(), iterator_hashed_advance(), and iterator_next_linear().

## ◆ DICT_ITERATOR_INDEX

#define DICT_ITERATOR_INDEX | ( |  | iter | ) | (iter)->index

Definition at line 218 of file dictionary.c.

Referenced by iter_match_first_linear(), iter_match_next_linear(), iterator_first_hashed(), iterator_first_linear(), iterator_hashed_advance(), and iterator_next_linear().

## ◆ DICT_LANGUAGE

#define DICT_LANGUAGE | ( |  | d | ) | (d)->language

Definition at line 182 of file dictionary.c.

Referenced by dict_create_hashed(), dict_create_hashed_expandable(), dict_create_linear(), dict_create_linear_expandable(), insert_symbol_hashed(), iter_match_first_hashed(), iter_match_next_hashed(), and iter_match_next_linear().

## ◆ DICT_LINEAR_EXPANDABLE_CAPACITY

#define DICT_LINEAR_EXPANDABLE_CAPACITY | ( |  | d | ) | (d)->data.linear_expandable.capacity

Definition at line 198 of file dictionary.c.

Referenced by add_symbol_linear_expandable(), and dict_create_linear_expandable().

## ◆ DICT_LINEAR_NSYMS

#define DICT_LINEAR_NSYMS | ( |  | d | ) | (d)->data.linear.nsyms

Definition at line 194 of file dictionary.c.

Referenced by add_symbol_linear_expandable(), dict_create_linear(), dict_create_linear_expandable(), iter_match_next_linear(), iterator_first_linear(), iterator_next_linear(), and size_linear().

## ◆ DICT_LINEAR_SYM

#define DICT_LINEAR_SYM | ( |  | d,
|  |  | i
| ) |  | DICT_LINEAR_SYMS (d) [i]

Definition at line 196 of file dictionary.c.

Referenced by add_symbol_linear_expandable(), iter_match_next_linear(), iterator_first_linear(), and iterator_next_linear().

## ◆ DICT_LINEAR_SYMS

#define DICT_LINEAR_SYMS | ( |  | d | ) | (d)->data.linear.syms

Definition at line 195 of file dictionary.c.

Referenced by add_symbol_linear_expandable(), dict_create_linear(), dict_create_linear_expandable(), and free_linear_expandable().

## ◆ DICT_VECTOR

#define DICT_VECTOR | ( |  | d | ) | (d)->vector

Definition at line 181 of file dictionary.c.

Referenced by dict_add_symbol(), dict_create_hashed(), dict_create_hashed_expandable(), dict_create_linear(), dict_create_linear_expandable(), dict_free(), dict_iter_match_first(), dict_iter_match_next(), dict_iterator_first(), dict_iterator_next(), and dict_size().

## Enumeration Type Documentation

## ◆ dict_type

enum dict_type

Enumerator
DICT_HASHED |
DICT_HASHED_EXPANDABLE |
DICT_LINEAR |
DICT_LINEAR_EXPANDABLE |

Definition at line 90 of file dictionary.c.

## Function Documentation

## ◆ add_symbol_hashed_expandable()

static void add_symbol_hashed_expandable | ( | struct dictionary * | dict,
|  | struct symbol * | sym
| ) |  |
| static

Definition at line 714 of file dictionary.c.

References DICT_HASHED_EXPANDABLE_NSYMS, DICT_HASHED_NBUCKETS, DICT_HASHTABLE_SIZE, expand_hashtable(), and insert_symbol_hashed().

## ◆ add_symbol_linear_expandable()

static void add_symbol_linear_expandable | ( | struct dictionary * | dict,
|  | struct symbol * | sym
| ) |  |
| static

Definition at line 916 of file dictionary.c.

References DICT_LINEAR_EXPANDABLE_CAPACITY, DICT_LINEAR_NSYMS, DICT_LINEAR_SYM, DICT_LINEAR_SYMS, and XRESIZEVEC.

## ◆ add_symbol_nonexpandable()

static void add_symbol_nonexpandable | ( | struct dictionary * | dict,
|  | struct symbol * | sym
| ) |  |
| static

Definition at line 570 of file dictionary.c.

References _, and internal_error().

## ◆ default_search_name_hash()

unsigned int default_search_name_hash | ( | const char * | string0 | ) |

Definition at line 769 of file dictionary.c.

References hash(), msymbol_hash_iw(), startswith(), string, and SYMBOL_HASH_NEXT.

## ◆ dict_add_pending()

void dict_add_pending | ( | struct dictionary * | dict,
|  | const struct pending * | symbol_list
| ) |  |

Definition at line 490 of file dictionary.c.

References dict_add_symbol(), pending::next, pending::nsyms, pending::symbol, and symbol_list.

Referenced by augment_type_symtab(), and finish_block_internal().

## ◆ dict_add_symbol()

void dict_add_symbol | ( | struct dictionary * | dict,
|  | struct symbol * | sym
| ) |  |

Definition at line 481 of file dictionary.c.

References add_symbol(), and DICT_VECTOR.

Referenced by add_symbol(), and dict_add_pending().

## ◆ dict_create_hashed()

struct dictionary* dict_create_hashed | ( | struct obstack * | obstack,
|  | enum language language | ,
|  | const struct pending * | symbol_list
| ) |  |

Definition at line 349 of file dictionary.c.

References DICT_HASHED_BUCKETS, DICT_HASHED_NBUCKETS, dict_hashed_vector, DICT_HASHTABLE_SIZE, DICT_LANGUAGE, DICT_VECTOR, insert_symbol_hashed(), language_def(), memset(), pending::next, pending::nsyms, pending::symbol, and symbol_list.

Referenced by finish_block_internal().

## ◆ dict_create_hashed_expandable()

struct dictionary* dict_create_hashed_expandable | ( | enum language language |  | ) |

Definition at line 392 of file dictionary.c.

References DICT_EXPANDABLE_INITIAL_CAPACITY, DICT_HASHED_BUCKETS, DICT_HASHED_EXPANDABLE_NSYMS, dict_hashed_expandable_vector, DICT_HASHED_NBUCKETS, DICT_LANGUAGE, DICT_VECTOR, language_def(), XCNEWVEC, and XNEW.

Referenced by finish_block_internal(), and new_block().

## ◆ dict_create_linear()

struct dictionary* dict_create_linear | ( | struct obstack * | obstack,
|  | enum language language | ,
|  | const struct pending * | symbol_list
| ) |  |

Definition at line 409 of file dictionary.c.

References DICT_LANGUAGE, DICT_LINEAR_NSYMS, DICT_LINEAR_SYMS, dict_linear_vector, DICT_VECTOR, language_def(), pending::next, pending::nsyms, pending::symbol, and symbol_list.

Referenced by finalize_symtab(), and finish_block_internal().

## ◆ dict_create_linear_expandable()

struct dictionary* dict_create_linear_expandable | ( | enum language language |  | ) |

Definition at line 453 of file dictionary.c.

References DICT_EXPANDABLE_INITIAL_CAPACITY, DICT_LANGUAGE, DICT_LINEAR_EXPANDABLE_CAPACITY, dict_linear_expandable_vector, DICT_LINEAR_NSYMS, DICT_LINEAR_SYMS, DICT_VECTOR, language_def(), XNEW, and XNEWVEC.

Referenced by new_block().

## ◆ dict_empty()

int dict_empty | ( | struct dictionary * | dict | ) |

Definition at line 551 of file dictionary.c.

References dict_iterator::dict, and dict_iterator_first().

## ◆ dict_free()

void dict_free | ( | struct dictionary * | dict | ) |

Definition at line 473 of file dictionary.c.

References DICT_VECTOR, and free().

## ◆ dict_iter_match_first()

struct symbol* dict_iter_match_first | ( | const struct dictionary * | dict,
|  | const lookup_name_info & | name,
|  | struct dict_iterator * | iterator
| ) |  |

Definition at line 523 of file dictionary.c.

References DICT_VECTOR, and name.

Referenced by block_iter_match_first(), block_iter_match_step(), and block_lookup_symbol_primary().

## ◆ dict_iter_match_next()

struct symbol* dict_iter_match_next | ( | const lookup_name_info & | name,
|  | struct dict_iterator * | iterator
| ) |  |

Definition at line 531 of file dictionary.c.

References DICT_ITERATOR_DICT, DICT_VECTOR, and name.

Referenced by block_iter_match_next(), block_iter_match_step(), and block_lookup_symbol_primary().

## ◆ dict_iterator_first()

struct symbol* dict_iterator_first | ( | const struct dictionary * | dict,
|  | struct dict_iterator * | iterator
| ) |  |

Definition at line 506 of file dictionary.c.

References DICT_VECTOR.

Referenced by block_iterator_first(), block_iterator_step(), and dict_empty().

## ◆ dict_iterator_next()

struct symbol* dict_iterator_next | ( | struct dict_iterator * | iterator | ) |

Definition at line 516 of file dictionary.c.

References DICT_ITERATOR_DICT, and DICT_VECTOR.

Referenced by block_iterator_next(), and block_iterator_step().

## ◆ dict_size()

int dict_size | ( | const struct dictionary * | dict | ) |

Definition at line 539 of file dictionary.c.

References DICT_VECTOR.

Referenced by dump_symtab_1().

## ◆ expand_hashtable()

static void expand_hashtable | ( | struct dictionary * | dict | ) |
| static

Definition at line 733 of file dictionary.c.

References DICT_HASHED_BUCKETS, DICT_HASHED_NBUCKETS, symbol::hash_next, insert_symbol_hashed(), XCNEWVEC, and xfree().

Referenced by add_symbol_hashed_expandable().

## ◆ free_hashed_expandable()

static void free_hashed_expandable | ( | struct dictionary * | dict | ) |
| static

Definition at line 707 of file dictionary.c.

References DICT_HASHED_BUCKETS, and xfree().

## ◆ free_linear_expandable()

static void free_linear_expandable | ( | struct dictionary * | dict | ) |
| static

Definition at line 908 of file dictionary.c.

References DICT_LINEAR_SYMS, and xfree().

## ◆ free_obstack()

static void free_obstack | ( | struct dictionary * | dict | ) |
| static

Definition at line 564 of file dictionary.c.

## ◆ insert_symbol_hashed()

static void insert_symbol_hashed | ( | struct dictionary * | dict,
|  | struct symbol * | sym
| ) |  |
| static

Definition at line 681 of file dictionary.c.

References DICT_HASHED_BUCKETS, DICT_HASHED_NBUCKETS, DICT_LANGUAGE, gdb_assert, hash(), symbol::hash_next, search_name_hash(), SYMBOL_LANGUAGE, and SYMBOL_SEARCH_NAME.

Referenced by add_symbol_hashed_expandable(), dict_create_hashed(), and expand_hashtable().

## ◆ iter_match_first_hashed()

static struct symbol * iter_match_first_hashed | ( | const struct dictionary * | dict,
|  | const lookup_name_info & | name,
|  | struct dict_iterator * | iterator
| ) |  |
| static

Definition at line 626 of file dictionary.c.

References DICT_HASHED_BUCKET, DICT_HASHED_NBUCKETS, DICT_ITERATOR_CURRENT, DICT_ITERATOR_DICT, DICT_LANGUAGE, get_symbol_name_matcher(), symbol::hash_next, language_defn::la_language, name, and SYMBOL_SEARCH_NAME.

## ◆ iter_match_first_linear()

static struct symbol * iter_match_first_linear | ( | const struct dictionary * | dict,
|  | const lookup_name_info & | name,
|  | struct dict_iterator * | iterator
| ) |  |
| static

Definition at line 861 of file dictionary.c.

References DICT_ITERATOR_DICT, DICT_ITERATOR_INDEX, iter_match_next_linear(), and name.

## ◆ iter_match_next_hashed()

static struct symbol * iter_match_next_hashed | ( | const lookup_name_info & | name,
|  | struct dict_iterator * | iterator
| ) |  |
| static

Definition at line 657 of file dictionary.c.

References DICT_ITERATOR_CURRENT, DICT_ITERATOR_DICT, DICT_LANGUAGE, get_symbol_name_matcher(), symbol::hash_next, name, and SYMBOL_SEARCH_NAME.

## ◆ iter_match_next_linear()

static struct symbol * iter_match_next_linear | ( | const lookup_name_info & | name,
|  | struct dict_iterator * | iterator
| ) |  |
| static

Definition at line 872 of file dictionary.c.

References DICT_ITERATOR_DICT, DICT_ITERATOR_INDEX, DICT_LANGUAGE, DICT_LINEAR_NSYMS, DICT_LINEAR_SYM, get_symbol_name_matcher(), name, and SYMBOL_SEARCH_NAME.

Referenced by iter_match_first_linear().

## ◆ iterator_first_hashed()

static struct symbol * iterator_first_hashed | ( | const struct dictionary * | dict,
|  | struct dict_iterator * | iterator
| ) |  |
| static

Definition at line 579 of file dictionary.c.

References DICT_ITERATOR_DICT, DICT_ITERATOR_INDEX, and iterator_hashed_advance().

## ◆ iterator_first_linear()

static struct symbol * iterator_first_linear | ( | const struct dictionary * | dict,
|  | struct dict_iterator * | iterator
| ) |  |
| static

Definition at line 841 of file dictionary.c.

References DICT_ITERATOR_DICT, DICT_ITERATOR_INDEX, DICT_LINEAR_NSYMS, and DICT_LINEAR_SYM.

## ◆ iterator_hashed_advance()

static struct symbol * iterator_hashed_advance | ( | struct dict_iterator * | iter | ) |
| static

Definition at line 604 of file dictionary.c.

References DICT_HASHED_BUCKET, DICT_HASHED_NBUCKETS, DICT_ITERATOR_CURRENT, DICT_ITERATOR_DICT, and DICT_ITERATOR_INDEX.

Referenced by iterator_first_hashed(), and iterator_next_hashed().

## ◆ iterator_next_hashed()

static struct symbol * iterator_next_hashed | ( | struct dict_iterator * | iterator | ) |
| static

Definition at line 588 of file dictionary.c.

References DICT_ITERATOR_CURRENT, and iterator_hashed_advance().

## ◆ iterator_next_linear()

static struct symbol * iterator_next_linear | ( | struct dict_iterator * | iterator | ) |
| static

Definition at line 850 of file dictionary.c.

References DICT_ITERATOR_DICT, DICT_ITERATOR_INDEX, DICT_LINEAR_NSYMS, and DICT_LINEAR_SYM.

## ◆ size_hashed()

static int size_hashed | ( | const struct dictionary * | dict | ) |
| static

Definition at line 699 of file dictionary.c.

References DICT_HASHED_NBUCKETS.

## ◆ size_hashed_expandable()

static int size_hashed_expandable | ( | const struct dictionary * | dict | ) |
| static

Definition at line 727 of file dictionary.c.

References DICT_HASHED_EXPANDABLE_NSYMS.

## ◆ size_linear()

static int size_linear | ( | const struct dictionary * | dict | ) |
| static

Definition at line 900 of file dictionary.c.

References DICT_LINEAR_NSYMS.

## Variable Documentation

## ◆ dict_hashed_expandable_vector

const struct dict_vector dict_hashed_expandable_vector
| static

Initial value:
=
{
DICT_HASHED_EXPANDABLE,
free_hashed_expandable,
add_symbol_hashed_expandable,
iterator_first_hashed,
iterator_next_hashed,
iter_match_first_hashed,
iter_match_next_hashed,
size_hashed_expandable,
}
free_hashed_expandable
static void free_hashed_expandable(struct dictionary *dict)
Definition: dictionary.c:707
DICT_HASHED_EXPANDABLE
Definition: dictionary.c:95
iterator_next_hashed
static struct symbol * iterator_next_hashed(struct dict_iterator *iterator)
Definition: dictionary.c:588
iterator_first_hashed
static struct symbol * iterator_first_hashed(const struct dictionary *dict, struct dict_iterator *iterator)
Definition: dictionary.c:579
add_symbol_hashed_expandable
static void add_symbol_hashed_expandable(struct dictionary *dict, struct symbol *sym)
Definition: dictionary.c:714
size_hashed_expandable
static int size_hashed_expandable(const struct dictionary *dict)
Definition: dictionary.c:727
iter_match_first_hashed
static struct symbol * iter_match_first_hashed(const struct dictionary *dict, const lookup_name_info &name, struct dict_iterator *iterator)
Definition: dictionary.c:626
iter_match_next_hashed
static struct symbol * iter_match_next_hashed(const lookup_name_info &name, struct dict_iterator *iterator)
Definition: dictionary.c:657

Definition at line 298 of file dictionary.c.

Referenced by dict_create_hashed_expandable().

## ◆ dict_hashed_vector

const struct dict_vector dict_hashed_vector
| static

Initial value:
=
{
DICT_HASHED,
free_obstack,
add_symbol_nonexpandable,
iterator_first_hashed,
iterator_next_hashed,
iter_match_first_hashed,
iter_match_next_hashed,
size_hashed,
}
DICT_HASHED
Definition: dictionary.c:93
iterator_next_hashed
static struct symbol * iterator_next_hashed(struct dict_iterator *iterator)
Definition: dictionary.c:588
iterator_first_hashed
static struct symbol * iterator_first_hashed(const struct dictionary *dict, struct dict_iterator *iterator)
Definition: dictionary.c:579
iter_match_first_hashed
static struct symbol * iter_match_first_hashed(const struct dictionary *dict, const lookup_name_info &name, struct dict_iterator *iterator)
Definition: dictionary.c:626
iter_match_next_hashed
static struct symbol * iter_match_next_hashed(const lookup_name_info &name, struct dict_iterator *iterator)
Definition: dictionary.c:657
add_symbol_nonexpandable
static void add_symbol_nonexpandable(struct dictionary *dict, struct symbol *sym)
Definition: dictionary.c:570
size_hashed
static int size_hashed(const struct dictionary *dict)
Definition: dictionary.c:699
free_obstack
static void free_obstack(struct dictionary *dict)
Definition: dictionary.c:564

Definition at line 286 of file dictionary.c.

Referenced by dict_create_hashed().

## ◆ dict_linear_expandable_vector

const struct dict_vector dict_linear_expandable_vector
| static

Initial value:
=
{
DICT_LINEAR_EXPANDABLE,
free_linear_expandable,
add_symbol_linear_expandable,
iterator_first_linear,
iterator_next_linear,
iter_match_first_linear,
iter_match_next_linear,
size_linear,
}
iterator_first_linear
static struct symbol * iterator_first_linear(const struct dictionary *dict, struct dict_iterator *iterator)
Definition: dictionary.c:841
add_symbol_linear_expandable
static void add_symbol_linear_expandable(struct dictionary *dict, struct symbol *sym)
Definition: dictionary.c:916
size_linear
static int size_linear(const struct dictionary *dict)
Definition: dictionary.c:900
DICT_LINEAR_EXPANDABLE
Definition: dictionary.c:99
free_linear_expandable
static void free_linear_expandable(struct dictionary *dict)
Definition: dictionary.c:908
iter_match_next_linear
static struct symbol * iter_match_next_linear(const lookup_name_info &name, struct dict_iterator *iterator)
Definition: dictionary.c:872
iter_match_first_linear
static struct symbol * iter_match_first_linear(const struct dictionary *dict, const lookup_name_info &name, struct dict_iterator *iterator)
Definition: dictionary.c:861
iterator_next_linear
static struct symbol * iterator_next_linear(struct dict_iterator *iterator)
Definition: dictionary.c:850

Definition at line 322 of file dictionary.c.

Referenced by dict_create_linear_expandable().

## ◆ dict_linear_vector

const struct dict_vector dict_linear_vector
| static

Initial value:
=
{
DICT_LINEAR,
free_obstack,
add_symbol_nonexpandable,
iterator_first_linear,
iterator_next_linear,
iter_match_first_linear,
iter_match_next_linear,
size_linear,
}
iterator_first_linear
static struct symbol * iterator_first_linear(const struct dictionary *dict, struct dict_iterator *iterator)
Definition: dictionary.c:841
size_linear
static int size_linear(const struct dictionary *dict)
Definition: dictionary.c:900
DICT_LINEAR
Definition: dictionary.c:97
iter_match_next_linear
static struct symbol * iter_match_next_linear(const lookup_name_info &name, struct dict_iterator *iterator)
Definition: dictionary.c:872
iter_match_first_linear
static struct symbol * iter_match_first_linear(const struct dictionary *dict, const lookup_name_info &name, struct dict_iterator *iterator)
Definition: dictionary.c:861
add_symbol_nonexpandable
static void add_symbol_nonexpandable(struct dictionary *dict, struct symbol *sym)
Definition: dictionary.c:570
free_obstack
static void free_obstack(struct dictionary *dict)
Definition: dictionary.c:564
iterator_next_linear
static struct symbol * iterator_next_linear(struct dict_iterator *iterator)
Definition: dictionary.c:850

Definition at line 310 of file dictionary.c.

Referenced by dict_create_linear().