Browse Source

@ instead of __memo__

tags/gm/2021-09-23T00Z/github.com--lark-parser-lark/0.7.1
Erez Shinan 6 years ago
parent
commit
65bde7e15f
1 changed files with 5 additions and 5 deletions
  1. +5
    -5
      lark/utils.py

+ 5
- 5
lark/utils.py View File

@@ -63,8 +63,8 @@ def _deserialize(data, namespace, memo):
if '__type__' in data: # Object if '__type__' in data: # Object
class_ = namespace[data['__type__']] class_ = namespace[data['__type__']]
return class_.deserialize(data, memo) return class_.deserialize(data, memo)
elif '__memo__' in data:
return memo[data['__memo__']]
elif '@' in data:
return memo[data['@']]
return {key:_deserialize(value, namespace, memo) for key, value in data.items()} return {key:_deserialize(value, namespace, memo) for key, value in data.items()}
elif isinstance(data, list): elif isinstance(data, list):
return [_deserialize(value, namespace, memo) for value in data] return [_deserialize(value, namespace, memo) for value in data]
@@ -78,7 +78,7 @@ class Serialize(object):


def serialize(self, memo=None): def serialize(self, memo=None):
if memo and memo.in_types(self): if memo and memo.in_types(self):
return {'__memo__': memo.memoized.get(self)}
return {'@': memo.memoized.get(self)}


fields = getattr(self, '__serialize_fields__') fields = getattr(self, '__serialize_fields__')
res = {f: _serialize(getattr(self, f), memo) for f in fields} res = {f: _serialize(getattr(self, f), memo) for f in fields}
@@ -95,8 +95,8 @@ class Serialize(object):


fields = getattr(cls, '__serialize_fields__') fields = getattr(cls, '__serialize_fields__')


if '__memo__' in data:
return memo[data['__memo__']]
if '@' in data:
return memo[data['@']]


inst = cls.__new__(cls) inst = cls.__new__(cls)
for f in fields: for f in fields:


Loading…
Cancel
Save