|
|
|
@ -236,6 +236,23 @@ class Literal(object):
|
|
|
|
|
else:
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
class Str:
|
|
|
|
|
"""A mutable string like object"""
|
|
|
|
|
|
|
|
|
|
def __init__(self, value, name=None, **kwargs):
|
|
|
|
|
logger.debug(f"New Str({value})")
|
|
|
|
|
self.data = str(value)
|
|
|
|
|
if name is not None:
|
|
|
|
|
self.name = Symbol(name)
|
|
|
|
|
for k, v in kwargs:
|
|
|
|
|
setattr(self, k, v)
|
|
|
|
|
|
|
|
|
|
def __repr__(self):
|
|
|
|
|
"""x.__repr__() <==> repr(x)"""
|
|
|
|
|
try:
|
|
|
|
|
return self.__class__.__name__ + f"(name={self.name}, data={self.data})"
|
|
|
|
|
except AttributeError:
|
|
|
|
|
return self.__class__.__name__ + f"(data={self.data})"
|
|
|
|
|
|
|
|
|
|
class Plain(object):
|
|
|
|
|
"""A plain object"""
|
|
|
|
|