Skip to content
Snippets Groups Projects
Commit 09bb3e96 authored by Alexander Turenko's avatar Alexander Turenko Committed by Alexander Turenko
Browse files

lyaml: fix alias serialization


The #8350 was introduced by the commit b42302f5 ("lua-yaml: enable
aliasing for objects returned by __serialize") so the patch is
effectively reversed.

The idea is to call all object __serialize methods recursively before
finding references. The new serialization pass stores the mapping from
the original object to the serialized representation.

After this, the reference analysis pass and the encoding pass use this
mapping to replace original objects with the serialized representation.

As result, the reference analysis has a complete information about
objects and no references are missed.

Closes #8350
Closes #8310
Closes #8321

NO_DOC=bugfix

Co-authored-by: default avatarNikolay Shirokovskiy <nshirokovskiy@tarantool.org>
(cherry picked from commit 610f5fb7)
parent 12bacb6b
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment