def on_Const(self, value):
return lambda state: value.value
+ def on_AnyConst(self, value):
+ raise NotImplementedError # :nocov:
+
+ def on_AnySeq(self, value):
+ raise NotImplementedError # :nocov:
+
def on_Signal(self, value):
if self.sensitivity is not None:
self.sensitivity.add(value)
def on_Const(self, value):
raise TypeError # :nocov:
+ def on_AnyConst(self, value):
+ raise TypeError # :nocov:
+
+ def on_AnySeq(self, value):
+ raise TypeError # :nocov:
+
def on_Signal(self, value):
shape = value.shape()
value_slot = self.signal_slots[value]
def on_Const(self, value):
pass # :nocov:
+ @abstractmethod
+ def on_AnyConst(self, value):
+ pass # :nocov:
+
+ @abstractmethod
+ def on_AnySeq(self, value):
+ pass # :nocov:
+
@abstractmethod
def on_Signal(self, value):
pass # :nocov:
def on_value(self, value):
if type(value) is Const:
new_value = self.on_Const(value)
+ elif type(value) is AnyConst:
+ new_value = self.on_AnyConst(value)
+ elif type(value) is AnySeq:
+ new_value = self.on_AnySeq(value)
elif type(value) is Signal:
new_value = self.on_Signal(value)
elif type(value) is Record:
def on_Const(self, value):
return value
+ def on_AnyConst(self, value):
+ return value
+
+ def on_AnySeq(self, value):
+ return value
+
def on_Signal(self, value):
return value