com.sun.electric.tool.generator.sclibrary
Class SCLibraryGen.StandardCellHierarchy

java.lang.Object
  extended by com.sun.electric.database.hierarchy.HierarchyEnumerator.Visitor
      extended by com.sun.electric.tool.generator.sclibrary.SCLibraryGen.StandardCellHierarchy
Enclosing class:
SCLibraryGen

public static class SCLibraryGen.StandardCellHierarchy
extends HierarchyEnumerator.Visitor

Standard Cell Enumerator


Constructor Summary
SCLibraryGen.StandardCellHierarchy()
           
 
Method Summary
 boolean containsStandardCell(Cell cell)
          True if the cell contains standard cells (but false if it does not, or if it is a standard cell.
 boolean enterCell(HierarchyEnumerator.CellInfo info)
          The HierarchyEnumerator is about to begin enumerating the contents of a new Cell instance.
 void exitCell(HierarchyEnumerator.CellInfo info)
          The HierarchyEnumerator has finished enumerating the contents of the current Cell instance.
 java.util.Set<java.lang.String> getContainsStandardCellContextsInHier()
           
 java.util.Set<Cell> getContainsStandardCellsInHier()
          Get the cells that contain standard cells in the hiearchy after the hierarchy has been enumerated
 java.util.Set<Cell> getDoesNotContainStandardCellsInHier()
          Get the cells that do not contain standard cells in the hiearchy after the hierarchy has been enumerated
 java.util.Set<java.lang.String> getEmptyCellContextsInHier()
          Get the contexts of cells that do not contain standard cells in the hierarchy.
 boolean getNameConflict()
          Returns true if there was a name conflict, where two standard cells from different libraries have the same name.
 java.util.List<VarContext> getStandardCellsContextsInHier()
           
 java.util.Set<Cell> getStandardCellsInHier()
          Get the standard cells in the hiearchy after the hierarchy has been enumerated
 boolean visitNodeInst(Nodable ni, HierarchyEnumerator.CellInfo info)
          The HierarchyEnumerator is visiting Nodable ni.
 
Methods inherited from class com.sun.electric.database.hierarchy.HierarchyEnumerator.Visitor
newCellInfo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SCLibraryGen.StandardCellHierarchy

public SCLibraryGen.StandardCellHierarchy()
Method Detail

enterCell

public boolean enterCell(HierarchyEnumerator.CellInfo info)
Description copied from class: HierarchyEnumerator.Visitor
The HierarchyEnumerator is about to begin enumerating the contents of a new Cell instance. That instance has just become the new "current" Cell instance.

Specified by:
enterCell in class HierarchyEnumerator.Visitor
Parameters:
info - information about the Cell instance being enumerated
Returns:
a boolean indicating if the HierarchyEnumerator should enumerate the contents of the current Cell. True means enumerate the current cell

exitCell

public void exitCell(HierarchyEnumerator.CellInfo info)
Description copied from class: HierarchyEnumerator.Visitor
The HierarchyEnumerator has finished enumerating the contents of the current Cell instance. It is about to leave it, never to return. The CellInfo associated with the current Cell instance is about to be abandoned.

Specified by:
exitCell in class HierarchyEnumerator.Visitor
Parameters:
info - information about the Cell instance being enumerated

visitNodeInst

public boolean visitNodeInst(Nodable ni,
                             HierarchyEnumerator.CellInfo info)
Description copied from class: HierarchyEnumerator.Visitor
The HierarchyEnumerator is visiting Nodable ni.

Specified by:
visitNodeInst in class HierarchyEnumerator.Visitor
Parameters:
ni - the Nodable that HierarchyEnumerator is visiting.
Returns:
a boolean indicating whether or not the HierarchyEnumerator should expand the Cell instantiated by ni. True means expand. If ni instantiates a PrimitiveNode then the return value is ignored by the HierarchyEnumerator.

containsStandardCell

public boolean containsStandardCell(Cell cell)
True if the cell contains standard cells (but false if it does not, or if it is a standard cell.

Parameters:
cell - the cell in question
Returns:
true if the clel contains a standard cell, false otherwise.

getStandardCellsInHier

public java.util.Set<Cell> getStandardCellsInHier()
Get the standard cells in the hiearchy after the hierarchy has been enumerated

Returns:
a set of the standard cells

getContainsStandardCellsInHier

public java.util.Set<Cell> getContainsStandardCellsInHier()
Get the cells that contain standard cells in the hiearchy after the hierarchy has been enumerated

Returns:
a set of the cells that contain standard cells

getDoesNotContainStandardCellsInHier

public java.util.Set<Cell> getDoesNotContainStandardCellsInHier()
Get the cells that do not contain standard cells in the hiearchy after the hierarchy has been enumerated

Returns:
a set of the cells that contain standard cells

getNameConflict

public boolean getNameConflict()
Returns true if there was a name conflict, where two standard cells from different libraries have the same name.

Returns:
true if name conflict exists

getStandardCellsContextsInHier

public java.util.List<VarContext> getStandardCellsContextsInHier()

getContainsStandardCellContextsInHier

public java.util.Set<java.lang.String> getContainsStandardCellContextsInHier()

getEmptyCellContextsInHier

public java.util.Set<java.lang.String> getEmptyCellContextsInHier()
Get the contexts of cells that do not contain standard cells in the hierarchy. This set is minimal.

Returns:
a set of var contexts