{
for (; block != NULL; block = block->superblock ())
{
- if (BLOCK_NAMESPACE (block) != NULL
- && BLOCK_NAMESPACE (block)->scope != NULL)
- return BLOCK_NAMESPACE (block)->scope;
+ if (block->namespace_info () != NULL
+ && block->namespace_info ()->scope != NULL)
+ return block->namespace_info ()->scope;
}
return "";
{
block_initialize_namespace (block, obstack);
- BLOCK_NAMESPACE (block)->scope = scope;
+ block->namespace_info ()->scope = scope;
}
/* This returns the using directives list associated with BLOCK, if
struct using_direct *
block_using (const struct block *block)
{
- if (block == NULL || BLOCK_NAMESPACE (block) == NULL)
+ if (block == NULL || block->namespace_info () == NULL)
return NULL;
else
- return BLOCK_NAMESPACE (block)->using_decl;
+ return block->namespace_info ()->using_decl;
}
/* Set BLOCK's using member to USING; if needed, allocate memory via
{
block_initialize_namespace (block, obstack);
- BLOCK_NAMESPACE (block)->using_decl = using_decl;
+ block->namespace_info ()->using_decl = using_decl;
}
-/* If BLOCK_NAMESPACE (block) is NULL, allocate it via OBSTACK and
+/* If block->namespace_info () is NULL, allocate it via OBSTACK and
initialize its members to zero. */
static void
block_initialize_namespace (struct block *block, struct obstack *obstack)
{
- if (BLOCK_NAMESPACE (block) == NULL)
- BLOCK_NAMESPACE (block) = new (obstack) struct block_namespace_info ();
+ if (block->namespace_info () == NULL)
+ block->set_namespace_info (new (obstack) struct block_namespace_info ());
}
/* Return the static block associated to BLOCK. Return NULL if block
void set_multidict (multidictionary *multidict)
{ m_multidict = multidict; }
+ /* Return this block's namespace info. */
+ block_namespace_info *namespace_info () const
+ { return m_namespace_info; }
+
+ /* Set this block's namespace info. */
+ void set_namespace_info (block_namespace_info *namespace_info)
+ { m_namespace_info = namespace_info; }
+
/* Addresses in the executable code that are in this block. */
CORE_ADDR m_start;
/* Contains information about namespace-related info relevant to this block:
using directives and the current namespace scope. */
- struct block_namespace_info *namespace_info;
+ struct block_namespace_info *m_namespace_info;
/* Address ranges for blocks with non-contiguous ranges. If this
is NULL, then there is only one range which is specified by
struct compunit_symtab *compunit_symtab;
};
-#define BLOCK_NAMESPACE(bl) (bl)->namespace_info
-
/* Accessor for ranges field within block BL. */
#define BLOCK_RANGES(bl) (bl)->ranges