Config: Exit with fatal if a port is already connected
This patch turns the existing warning into a fatal, as there should never be any cases where a (non-vector) port is assigned to and then later connected to something else. If this behaviour is allowed, as it used to be, there are cases where the wrong number of C++ ports are created when instantiating objects with VectorPorts (obviously that could be fixed, but the better approach is to simply not allow it).
This commit is contained in:
parent
0bff8eb210
commit
31b4ac5cec
1 changed files with 2 additions and 3 deletions
|
@ -1379,9 +1379,8 @@ class PortRef(object):
|
||||||
# reference to plain VectorPort is implicit append
|
# reference to plain VectorPort is implicit append
|
||||||
other = other._get_next()
|
other = other._get_next()
|
||||||
if self.peer and not proxy.isproxy(self.peer):
|
if self.peer and not proxy.isproxy(self.peer):
|
||||||
print "warning: overwriting port", self, \
|
fatal("Port %s is already connected to %s, cannot connect %s\n",
|
||||||
"value", self.peer, "with", other
|
self, self.peer, other);
|
||||||
self.peer.peer = None
|
|
||||||
self.peer = other
|
self.peer = other
|
||||||
if proxy.isproxy(other):
|
if proxy.isproxy(other):
|
||||||
other.set_param_desc(PortParamDesc())
|
other.set_param_desc(PortParamDesc())
|
||||||
|
|
Loading…
Reference in a new issue