Do not emit (Preserve | Preserve) types
This commit is contained in:
parent
d9cf6dbab4
commit
c9c7744531
|
@ -345,13 +345,18 @@ proc generateProcs(result: var seq[PNode]; name: string; sn: SchemaNode) =
|
||||||
sn.nodes[0].toNimLit)
|
sn.nodes[0].toNimLit)
|
||||||
for i, field in sn.nodes:
|
for i, field in sn.nodes:
|
||||||
if i > 0:
|
if i > 0:
|
||||||
let id = field.ident
|
let
|
||||||
|
id = field.ident
|
||||||
|
var fieldType = field.typeIdent
|
||||||
|
if fieldType.kind != nkIdent or fieldType.ident.s != "Preserve":
|
||||||
|
fieldType =
|
||||||
|
nn(nkInfix,
|
||||||
|
ident"|",
|
||||||
|
fieldType,
|
||||||
|
ident"Preserve")
|
||||||
params.add nn(nkIdentDefs,
|
params.add nn(nkIdentDefs,
|
||||||
id,
|
id,
|
||||||
nn(nkInfix,
|
fieldType,
|
||||||
ident"|",
|
|
||||||
ident"Preserve",
|
|
||||||
field.typeIdent),
|
|
||||||
newEmpty())
|
newEmpty())
|
||||||
initRecordCall.add(
|
initRecordCall.add(
|
||||||
nn(nkCall, ident"toPreserve", id, ident"EmbeddedType"))
|
nn(nkCall, ident"toPreserve", id, ident"EmbeddedType"))
|
||||||
|
|
Loading…
Reference in New Issue