Allow RoutingPad::getPlugOccurrence() to build upon a Pin.
* Change: In Hurricane::RoutingPad::getPlugOccurrence(), it was forbidden to rebuild the Occurrence over anything other than Plug. But as we now also uses Pins, it becomes useful to rebuild the Occurrence on a Pin. The name of the function stays, even if its less meaningful now.
This commit is contained in:
parent
3e6d5622e8
commit
f00b8cd667
|
@ -76,9 +76,8 @@ void Pin::_postCreate()
|
|||
void Pin::_preDestroy()
|
||||
// *********************
|
||||
{
|
||||
Inherit::_preDestroy();
|
||||
|
||||
getCell()->_getPinMap()._remove(this);
|
||||
Inherit::_preDestroy();
|
||||
getCell()->_getPinMap()._remove(this);
|
||||
}
|
||||
|
||||
string Pin::_getString() const
|
||||
|
|
|
@ -319,11 +319,16 @@ namespace Hurricane {
|
|||
Net* net = component->getNet();
|
||||
Path path = _occurrence.getPath();
|
||||
|
||||
if (path.isEmpty())
|
||||
throw Error( "RoutingPad::getPlugOccurrence(): Empty Path, *not* in an instance for\n"
|
||||
" %s"
|
||||
, getString(this).c_str()
|
||||
);
|
||||
if (path.isEmpty()) {
|
||||
Pin* pin = dynamic_cast<Pin*>( component );
|
||||
if (not pin)
|
||||
throw Error( "RoutingPad::getPlugOccurrence(): Empty Path, *not* in an instance for\n"
|
||||
" %s"
|
||||
, getString(this).c_str()
|
||||
);
|
||||
|
||||
return Occurrence(pin,Path());
|
||||
}
|
||||
|
||||
Instance* instance = path.getTailInstance();
|
||||
Plug* plug = instance->getPlug(net);
|
||||
|
|
Loading…
Reference in New Issue