GDB (xrefs)

Functions
/tmp/gdb-8.1/gdb/d-namespace.c File Reference
`#include "defs.h"`
`#include "symtab.h"`
`#include "block.h"`
`#include "language.h"`
`#include "namespace.h"`
`#include "d-lang.h"`
`#include "gdb_obstack.h"`

Go to the source code of this file.

## Functions
static unsigned int | d_find_first_component (const char *name)
static unsigned int | d_entire_prefix_len (const char *name)
static struct block_symbol | d_lookup_symbol (const struct language_defn *langdef, const char *name, const struct block *block, const domain_enum domain, int search)
static struct block_symbol | d_lookup_symbol_in_module (const char *module, const char *name, const struct block *block, const domain_enum domain, int search)
static struct block_symbol | lookup_module_scope (const struct language_defn *langdef, const char *name, const struct block *block, const domain_enum domain, const char *scope, int scope_len)
static struct block_symbol | find_symbol_in_baseclass (struct type *parent_type, const char *name, const struct block *block)
struct block_symbol | d_lookup_nested_symbol (struct type *parent_type, const char *nested_name, const struct block *block)
static struct block_symbol | d_lookup_symbol_imports (const char *scope, const char *name, const struct block *block, const domain_enum domain)
static struct block_symbol | d_lookup_symbol_module (const char *scope, const char *name, const struct block *block, const domain_enum domain)
struct block_symbol | d_lookup_symbol_nonlocal (const struct language_defn *langdef, const char *name, const struct block *block, const domain_enum domain)

## Function Documentation

## ◆ d_entire_prefix_len()

static unsigned int d_entire_prefix_len | ( | const char * | name | ) |
| static

Definition at line 55 of file d-namespace.c.

References d_find_first_component(), gdb_assert, and name.

Referenced by d_lookup_symbol().

## ◆ d_find_first_component()

static unsigned int d_find_first_component | ( | const char * | name | ) |
| static

Definition at line 38 of file d-namespace.c.

References name.

Referenced by d_entire_prefix_len(), d_lookup_symbol_imports(), and lookup_module_scope().

## ◆ d_lookup_nested_symbol()

struct block_symbol d_lookup_nested_symbol | ( | struct type * | parent_type,
|  | const char * | nested_name,
|  | const struct block * | block
| ) |  |

Definition at line 303 of file d-namespace.c.

References check_typedef(), d_lookup_symbol_in_module(), find_symbol_in_baseclass(), gdb_assert_not_reached, lookup_static_symbol(), null_block_symbol, size, block_symbol::symbol, TYPE_CODE, TYPE_CODE_ENUM, TYPE_CODE_FUNC, TYPE_CODE_METHOD, TYPE_CODE_MODULE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, type_name_no_tag_or_error(), VAR_DOMAIN, and xsnprintf().

Referenced by classify_inner_name(), and d_lookup_symbol().

## ◆ d_lookup_symbol()

static struct block_symbol d_lookup_symbol | ( | const struct language_defn * | langdef,
|  | const char * | name,
|  | const struct block * | block,
|  | const domain_enum | domain,
|  | int | search
| ) |  |
| static

Definition at line 77 of file d-namespace.c.

References block_symbol::block, block_gdbarch(), check_typedef(), d_entire_prefix_len(), d_lookup_nested_symbol(), language_d, language_def(), language_lookup_primitive_type_as_symbol(), lookup_global_symbol(), lookup_language_this(), lookup_symbol_in_static_block(), name, null_block_symbol, string, block_symbol::symbol, SYMBOL_TYPE, target_gdbarch(), type, TYPE_NAME, TYPE_TARGET_TYPE, and VAR_DOMAIN.

Referenced by d_lookup_symbol_in_module(), and lookup_module_scope().

## ◆ d_lookup_symbol_imports()

static struct block_symbol d_lookup_symbol_imports | ( | const char * | scope,
|  | const char * | name,
|  | const struct block * | block,
|  | const domain_enum | domain
| ) |  |
| static

Definition at line 363 of file d-namespace.c.

References using_direct::alias, block_using(), d_find_first_component(), d_lookup_symbol_in_module(), using_direct::declaration, using_direct::excludes, using_direct::import_dest, using_direct::import_src, lookup_module_scope(), make_scoped_restore(), name, using_direct::next, null_block_symbol, and using_direct::searched.

Referenced by d_lookup_symbol_module().

## ◆ d_lookup_symbol_in_module()

static struct block_symbol d_lookup_symbol_in_module | ( | const char * | module,
|  | const char * | name,
|  | const struct block * | block,
|  | const domain_enum | domain,
|  | int | search
| ) |  |
| static

Definition at line 165 of file d-namespace.c.

References d_lookup_symbol(), and name.

Referenced by d_lookup_nested_symbol(), d_lookup_symbol_imports(), d_lookup_symbol_module(), find_symbol_in_baseclass(), and lookup_module_scope().

## ◆ d_lookup_symbol_module()

static struct block_symbol d_lookup_symbol_module | ( | const char * | scope,
|  | const char * | name,
|  | const struct block * | block,
|  | const domain_enum | domain
| ) |  |
| static

Definition at line 475 of file d-namespace.c.

References BLOCK_SUPERBLOCK, d_lookup_symbol_imports(), d_lookup_symbol_in_module(), name, and null_block_symbol.

Referenced by d_lookup_symbol_nonlocal().

## ◆ d_lookup_symbol_nonlocal()

struct block_symbol d_lookup_symbol_nonlocal | ( | const struct language_defn * | langdef,
|  | const char * | name,
|  | const struct block * | block,
|  | const domain_enum | domain
| ) |  |

Definition at line 510 of file d-namespace.c.

References block_scope(), d_lookup_symbol_module(), lookup_module_scope(), name, and block_symbol::symbol.

## ◆ find_symbol_in_baseclass()

static struct block_symbol find_symbol_in_baseclass | ( | struct type * | parent_type,
|  | const char * | name,
|  | const struct block * | block
| ) |  |
| static

Definition at line 246 of file d-namespace.c.

References block_symbol::block, check_typedef(), d_lookup_symbol_in_module(), lookup_static_symbol(), lookup_symbol_in_static_block(), name, string, block_symbol::symbol, TYPE_BASECLASS, TYPE_BASECLASS_NAME, TYPE_N_BASECLASSES, and VAR_DOMAIN.

Referenced by d_lookup_nested_symbol().

## ◆ lookup_module_scope()

static struct block_symbol lookup_module_scope | ( | const struct language_defn * | langdef,
|  | const char * | name,
|  | const struct block * | block,
|  | const domain_enum | domain,
|  | const char * | scope,
|  | int | scope_len
| ) |  |
| static

Definition at line 197 of file d-namespace.c.

References d_find_first_component(), d_lookup_symbol(), d_lookup_symbol_in_module(), gdb_assert, name, and block_symbol::symbol.

Referenced by d_lookup_symbol_imports(), and d_lookup_symbol_nonlocal().