com.sun.electric.tool.ncc.basic
Class CompareList

java.lang.Object
  extended by com.sun.electric.tool.ncc.basic.CompareList
All Implemented Interfaces:
java.lang.Iterable<CellContext>

public class CompareList
extends java.lang.Object
implements java.lang.Iterable<CellContext>

A list of CellContexts to compare. Also, each CompareList has a boolean that says whether it's safe to compare sizes in addition to topologies.


Constructor Summary
CompareList(Cell cell, com.sun.electric.tool.ncc.basic.CellUsage use1, com.sun.electric.tool.ncc.basic.CellUsage use2, java.util.Set<Cell.CellGroup> visitedGroups)
          Collect all Cells in cell's CellGroup that are used by our designs.
 
Method Summary
 boolean empty()
           
 boolean isSafeToCheckSizes()
           
 java.util.Iterator<CellContext> iterator()
           
 void printCells()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompareList

public CompareList(Cell cell,
                   com.sun.electric.tool.ncc.basic.CellUsage use1,
                   com.sun.electric.tool.ncc.basic.CellUsage use2,
                   java.util.Set<Cell.CellGroup> visitedGroups)
Collect all Cells in cell's CellGroup that are used by our designs. These must be compared.

Since Java-Electric's CellGroups can't span libraries, simulate the addition of Cells (e.g. from other libraries) to a CellGroup using the joinGroup annotation.

Tricky: If a Cell is used in two layouts or two schematics then that Cell will occur twice in returned List, each with a different VarContext. This has advantages and pitfalls.

Method Detail

printCells

public void printCells()

iterator

public java.util.Iterator<CellContext> iterator()
Specified by:
iterator in interface java.lang.Iterable<CellContext>

empty

public boolean empty()

isSafeToCheckSizes

public boolean isSafeToCheckSizes()