public final class ImmutableLayoutHierarchyEnumerator
extends java.lang.Object
The HierarchyEnumerator performs a recursive descent of the "completely expanded" design hierarchy. The HierarchyEnumerator brings the Visitor along with it during the excursion. The HierarchyEnumerator doesn't build a flattened data structure, that's the prerogative of the Visitor. The HierarchyEnumerator simply invokes Visitor methods for each Cell instance and NodeInst.
The following example illustrates the notion of "completely expanded". Suppose the root Cell instantiates Cell A twice, and Cell A instantiates Cell B twice. Then the HierarchyEnumerator visits two instances of Cell A and four instances of Cell B.
Modifier and Type | Class and Description |
---|---|
static class |
ImmutableLayoutHierarchyEnumerator.CellInfo
The CellInfo object is used to pass information to the Visitor
during the enumeration.
|
static class |
ImmutableLayoutHierarchyEnumerator.NetDescription
The NetDescription object provides a Network and the level of
hierarchy in which the Network occurs.
|
static class |
ImmutableLayoutHierarchyEnumerator.Visitor
Perform useful work while the HierarchyEnumerator enumerates
the design.
|
Modifier and Type | Method and Description |
---|---|
static void |
enumerateCell(Cell root,
VarContext context,
ImmutableLayoutHierarchyEnumerator.Visitor visitor)
Begin enumeration of the contents of the Cell root.
|
static void |
enumerateCell(Cell root,
VarContext context,
ImmutableLayoutHierarchyEnumerator.Visitor visitor,
Netlist.ShortResistors shortResistors) |
static void |
enumerateCell(Cell root,
VarContext context,
ImmutableLayoutHierarchyEnumerator.Visitor visitor,
java.awt.geom.Rectangle2D bounds) |
static void |
enumerateCell(Netlist rootNetlist,
VarContext context,
ImmutableLayoutHierarchyEnumerator.Visitor visitor) |
static void |
enumerateCell(Netlist rootNetlist,
VarContext context,
ImmutableLayoutHierarchyEnumerator.Visitor visitor,
boolean caching)
Experimental.
|
public static void enumerateCell(Cell root, VarContext context, ImmutableLayoutHierarchyEnumerator.Visitor visitor)
root
- the starting point of the enumeration.context
- the VarContext for evaluating parameters in Cell
root. If context is null then VarContext.globalContext is used.visitor
- the object responsible for doing something useful
during the enumertion of the design hierarchy.public static void enumerateCell(Cell root, VarContext context, ImmutableLayoutHierarchyEnumerator.Visitor visitor, java.awt.geom.Rectangle2D bounds)
public static void enumerateCell(Cell root, VarContext context, ImmutableLayoutHierarchyEnumerator.Visitor visitor, Netlist.ShortResistors shortResistors)
public static void enumerateCell(Netlist rootNetlist, VarContext context, ImmutableLayoutHierarchyEnumerator.Visitor visitor)
public static void enumerateCell(Netlist rootNetlist, VarContext context, ImmutableLayoutHierarchyEnumerator.Visitor visitor, boolean caching)