Make objects ref objects to support recursion
This commit is contained in:
parent
e556fa26e0
commit
c942e79a0a
|
@ -157,10 +157,10 @@ proc nimTypeOf(scm: Schema; known: var TypeTable; sn: SchemaNode; name = ""): PN
|
|||
let disc = nkDotExpr.newNode.add(
|
||||
enumIdent, bn.altLabel.nimIdentNormalize.ident.accQuote)
|
||||
recCase.add nkOfBranch.newNode.add(disc, recList)
|
||||
result = nn(nkObjectTy,
|
||||
result = nn(nkRefTy, nn(nkObjectTy,
|
||||
newEmpty(),
|
||||
newEmpty(),
|
||||
nn(nkRecList, recCase))
|
||||
nn(nkRecList, recCase)))
|
||||
of snkAny:
|
||||
result = ident"Preserve"
|
||||
of snkAtom:
|
||||
|
@ -215,10 +215,10 @@ proc nimTypeOf(scm: Schema; known: var TypeTable; sn: SchemaNode; name = ""): PN
|
|||
id.accQuote.toExport,
|
||||
nimTypeOf(scm, known, field, $id),
|
||||
newEmpty())
|
||||
result = nn(nkObjectTy,
|
||||
result = nn(nkRefTy, nn(nkObjectTy,
|
||||
newEmpty(),
|
||||
newEmpty(),
|
||||
recList)
|
||||
recList))
|
||||
of snkTuple, snkVariableTuple:
|
||||
# TODO: the variable part
|
||||
result = nkTupleTy.newNode
|
||||
|
|
Loading…
Reference in New Issue