Files
pysim-local/pySim
Neels Hofmeyr dd42978285 personalization: discover all useful ConfigurableParameter subclasses
Discover all non-abstract subclasses of ConfigurableParameter in
ConfigurableParameter.get_all_implementations().

To be able to automatically discover all practically useful
ConfigurableParameter subclasses, introduce the is_abstract flag.
ConfigurableParameter itself sets is_abstract = True, by default
"hiding" subclasses. As soon as a subclass sets is_abstract = False, it
becomes "public". It depends on the calling code to actually implement
that decision -- this flag enables calling code to do so sanely.

For example, the BinaryParam superclass keeps is_abstract = True,
because per se it isn't capable of doing anything. The fully useful K
and Opc subclasses set is_abstract = False.

Implementation choice: I first tried to query an implicit abstract
status via abc / @abstractmethod ways, but it did not match well. A
subclass has no good implicit indicator, we need a flag instead. For
example, a superclass may provide an apply_val() implementation and
hence appear as non-abstract, but it is still not usable because a
specific 'key' member is still None, which various subclasses set.

Related: SYS#6768
Change-Id: I4970657294130b6b65d50ff19ffbb9ebab3be609
2025-12-13 22:34:23 +01:00
..
2025-09-24 17:59:17 +00:00
2025-09-24 17:59:17 +00:00
2025-09-24 17:59:17 +00:00
2025-09-24 17:59:17 +00:00
2025-09-24 17:59:17 +00:00
2025-09-24 17:59:17 +00:00
2025-09-24 17:59:17 +00:00
2024-06-10 08:59:39 +02:00
2025-09-24 17:59:17 +00:00
2025-09-24 17:59:17 +00:00
2025-05-07 19:35:54 +02:00
2025-09-24 17:59:17 +00:00
2025-09-24 17:59:17 +00:00
2024-09-03 21:57:47 +02:00
2025-09-24 17:59:17 +00:00