hwt/hdl/statements.py
def _set_parent_stm(self, parentStm: "HdlStatement"):
        """
        Assign parent statement and propagate dependency flags if necessary
        """
        was_top = self.parentStm is None
        self.parentStm = parentStm
        if not self._now_is_event_dependent\
                and parentStm._now_is_event_dependent:
            self._on_parent_event_dependent()

        topStatement = parentStm
        while topStatement.parentStm is not None:
            topStatement = topStatement.parentStm

        parent_out_add = topStatement._outputs.append
        parent_in_add = topStatement._inputs.append

        if was_top:
            for inp in self._inputs:
                inp.endpoints.discard(self)
                inp.endpoints.append(topStatement)
                parent_in_add(inp)

            for outp in self._outputs:
                outp.drivers.discard(self)
                outp.drivers.append(topStatement)
                parent_out_add(outp)

            ctx = self._get_rtl_context()
            ctx.statements.discard(self)

        parentStm.rank += self.rank
def _set_parent_stm(self, parentStm: "HdlStatement"):
        was_top = self.parentStm is None
        self.parentStm = parentStm
        if not self._now_is_event_dependent\
                and parentStm._now_is_event_dependent:
            self._on_parent_event_dependent()

        topStatement = parentStm
        while topStatement.parentStm is not None:
            topStatement = topStatement.parentStm

        parent_out_add = topStatement._outputs.append
        parent_in_add = topStatement._inputs.append

        if was_top:
            for inp in self._inputs:
                inp.endpoints.discard(self)
                inp.endpoints.append(topStatement)
                parent_in_add(inp)

            for outp in self._outputs:
                outp.drivers.discard(self)
                outp.drivers.append(topStatement)
                parent_out_add(outp)

            ctx = self._get_rtl_context()
            ctx.statements.discard(self)

        parentStm.rank += self.rank
def _set_parent_stm ( self , parentStm : "HdlStatement" ) : was_top = self . parentStm is None self . parentStm = parentStm if not self . _now_is_event_dependent and parentStm . _now_is_event_dependent : self . _on_parent_event_dependent ( ) topStatement = parentStm while topStatement . parentStm is not None : topStatement = topStatement . parentStm parent_out_add = topStatement . _outputs . append parent_in_add = topStatement . _inputs . append if was_top : for inp in self . _inputs : inp . endpoints . discard ( self ) inp . endpoints . append ( topStatement ) parent_in_add ( inp ) for outp in self . _outputs : outp . drivers . discard ( self ) outp . drivers . append ( topStatement ) parent_out_add ( outp ) ctx = self . _get_rtl_context ( ) ctx . statements . discard ( self ) parentStm . rank += self . rank
Assign parent statement and propagate dependency flags if necessary
Assign parent statement and propagate dependency flags if necessary