hwt/synthesizer/interfaceLevel/propDeclrCollector.py
def _updateParamsFrom(self, otherObj:"PropDeclrCollector", updater, exclude:set, prefix:str) -> None:
        """
        Update all parameters which are defined on self from otherObj

        :param otherObj: other object which Param instances should be updated
        :param updater: updater function(self, myParameter, onOtherParameterName, otherParameter)
        :param exclude: iterable of parameter on otherObj object which should be excluded
        :param prefix: prefix which should be added to name of paramters of this object before matching
            parameter name on parent
        """
        excluded = set()
        if exclude is not None:
            exclude = set(exclude)

        for myP in self._params:
            pPName = prefix + myP._scopes[self][1]
            try:
                otherP = getattr(otherObj, pPName)
                if not isinstance(otherP, Param):
                    continue
            except AttributeError:
                continue

            if exclude and otherP in exclude:
                excluded.add(otherP)
                continue
            updater(self, myP, otherP)
        
        if exclude is not None:
            # assert that what should be excluded really exists
            assert excluded == exclude
def _updateParamsFrom(self, otherObj:"PropDeclrCollector", updater, exclude:set, prefix:str) -> None:
        """
        Update all parameters which are defined on self from otherObj

        :param otherObj: other object which Param instances should be updated
        :param updater: updater function(self, myParameter, onOtherParameterName, otherParameter)
        :param exclude: iterable of parameter on otherObj object which should be excluded
        :param prefix: prefix which should be added to name of paramters of this object before matching
            parameter name on parent
        """
        excluded = set()
        if exclude is not None:
            exclude = set(exclude)

        for myP in self._params:
            pPName = prefix + myP._scopes[self][1]
            try:
                otherP = getattr(otherObj, pPName)
                if not isinstance(otherP, Param):
                    continue
            except AttributeError:
                continue

            if exclude and otherP in exclude:
                excluded.add(otherP)
                continue
            updater(self, myP, otherP)
        
        if exclude is not None:
            # assert that what should be excluded really exists
            assert excluded == exclude
Update all parameters which are defined on self from otherObj

        :param otherObj: other object which Param instances should be updated
        :param updater: updater function(self, myParameter, onOtherParameterName, otherParameter)
        :param exclude: iterable of parameter on otherObj object which should be excluded
        :param prefix: prefix which should be added to name of paramters of this object before matching
            parameter name on parent