def METHOD_NAME(self):
    if not self._pins:
        return
    pin_oes = []
    pin_ios = []
    self._ffsyncs = []
    for (name, triple) in self._pins:
        sync_i = Signal.like(triple.i)
        self._ffsyncs.append(FFSynchronizer(triple.i, sync_i))
        pin_oes.append((name, triple.oe))
        pin_ios.append((name, Mux(triple.oe, triple.o, sync_i)))
    self.sig_oes = Cat(oe for n, oe in pin_oes)
    self.sig_ios = Cat(io for n, io in pin_ios)
    self.oe_event_source = self.event_analyzer.add_event_source(
        name="oe", kind="change", width=len(self.sig_oes),
        fields=[(name, len(oe)) for name, oe in pin_oes])
    self.io_event_source = self.event_analyzer.add_event_source(
        name="io", kind="change", width=len(self.sig_ios),
        fields=[(name, len(io)) for name, io in pin_ios])