def to_abstract_test(self, x: object): if is_dataclass(x): new_args = {} for name, value in dataclass_fields(x).items(): new_args[name] = self(value) return AbstractClass(type(x), new_args, dataclass_methods(type(x))) elif getattr(x, '__origin__') is dtype.External: arg, = x.__args__ return AbstractExternal({VALUE: ANYTHING, TYPE: arg}) else: raise Exception(f'Cannot convert: {x}')
def to_abstract_test(self, x: str): return AbstractExternal({ VALUE: x, TYPE: type(x), })
def Ex(x, t=None): return AbstractExternal({ VALUE: x, TYPE: t or type(x) })
def Ex(x, t=None): """Generate a symbolic AbstractExternal.""" return AbstractExternal({VALUE: x, TYPE: t or type(x)})