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
class_ = namespace[data['__type__']]
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()}
elif isinstance(data, list):
return [_deserialize(value, namespace, memo) for value in data]
@@ -78,7 +78,7 @@ class Serialize(object):

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

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

fields = getattr(cls, '__serialize_fields__')

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

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


Loading…
Cancel
Save