fix marshal bugs in VM (#19161) [backport:1.6]

This commit is contained in:
flywind 2021-11-17 17:15:54 +08:00 • committed by GitHub
commit fe46c8b5f1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 6 deletions

View file

@ -92,7 +92,8 @@ proc storeAny(s: var string; t: PType; a: PNode; stored: var IntSet;
if a[i].kind == nkRange:
var x = copyNode(a[i][0])
storeAny(s, t.lastSon, x, stored, conf)
while x.intVal+1 <= a[i][1].intVal:
inc x.intVal
while x.intVal <= a[i][1].intVal:
s.add(", ")
storeAny(s, t.lastSon, x, stored, conf)
inc x.intVal
@ -231,7 +232,6 @@ proc loadAny(p: var JsonParser, t: PType,
result = newNode(nkCurly)
while p.kind != jsonArrayEnd and p.kind != jsonEof:
result.add loadAny(p, t.lastSon, tab, cache, conf, idgen)
next(p)
if p.kind == jsonArrayEnd: next(p)
else: raiseParseErr(p, "']' end of array expected")
of tyPtr, tyRef: