CIRCT  20.0.0git
Public Member Functions | List of all members
circt::hw::InnerSymbolNamespace Struct Reference

#include <InnerSymbolNamespace.h>

Inheritance diagram for circt::hw::InnerSymbolNamespace:
Inheritance graph
[legend]
Collaboration diagram for circt::hw::InnerSymbolNamespace:
Collaboration graph
[legend]

Public Member Functions

 InnerSymbolNamespace ()=default
 
 InnerSymbolNamespace (Operation *module)
 
void add (Operation *module)
 Populate the namespace from a module-like operation. More...
 
- Public Member Functions inherited from circt::Namespace
 Namespace ()
 
 Namespace (const Namespace &other)=default
 
 Namespace (Namespace &&other)
 
Namespaceoperator= (const Namespace &other)=default
 
Namespaceoperator= (Namespace &&other)
 
void add (mlir::ModuleOp module)
 
void add (SymbolCache &symCache)
 SymbolCache initializer; initialize from every key that is convertible to a StringAttr in the SymbolCache. More...
 
bool erase (llvm::StringRef symbol)
 Removes a symbol from the namespace. More...
 
void clear ()
 Empty the namespace. More...
 
StringRef newName (const Twine &name)
 Return a unique name, derived from the input name, and add the new name to the internal namespace. More...
 
StringRef newName (const Twine &name, const Twine &suffix)
 Return a unique name, derived from the input name and ensure the returned name has the input suffix. More...
 

Additional Inherited Members

- Protected Attributes inherited from circt::Namespace
llvm::StringMap< size_t > nextIndex
 
bool locked = false
 

Detailed Description

Definition at line 23 of file InnerSymbolNamespace.h.

Constructor & Destructor Documentation

◆ InnerSymbolNamespace() [1/2]

circt::hw::InnerSymbolNamespace::InnerSymbolNamespace ( )
default

◆ InnerSymbolNamespace() [2/2]

circt::hw::InnerSymbolNamespace::InnerSymbolNamespace ( Operation *  module)
inline

Definition at line 25 of file InnerSymbolNamespace.h.

References add().

Member Function Documentation

◆ add()

void circt::hw::InnerSymbolNamespace::add ( Operation *  module)
inline

Populate the namespace from a module-like operation.

This namespace will be composed of the inner_syms of the module's ports and declarations.

Definition at line 29 of file InnerSymbolNamespace.h.

References circt::Namespace::nextIndex, and circt::hw::InnerSymbolTable::walkSymbols().

Referenced by InnerSymbolNamespace().


The documentation for this struct was generated from the following file: