preserves_schema_nim: do not create types for simple fields
This commit is contained in:
parent
abcdfa01cd
commit
74da21f3d5
|
@ -622,7 +622,7 @@ proc addField(recList: PNode; loc: Location; known: var TypeTable; parentName: s
|
|||
label = label(np, parentName, index)
|
||||
id = label.toFieldIdent
|
||||
pattern = np.pattern
|
||||
if pattern.isRef or pattern.isSimple:
|
||||
if pattern.isSimple:
|
||||
addField(recList, loc, known, pattern.simplePattern, label)
|
||||
else:
|
||||
var
|
||||
|
@ -659,7 +659,7 @@ proc addFields(recList: PNode; loc: Location; known: var TypeTable; parentName:
|
|||
label = label(np, parentName, index)
|
||||
id = label.toFieldIdent
|
||||
pattern = np.pattern
|
||||
if pattern.isRef or pattern.isSimple:
|
||||
if pattern.isSimple:
|
||||
addField(recList, loc, known, pattern.simplePattern, label)
|
||||
else:
|
||||
var
|
||||
|
@ -781,8 +781,8 @@ proc nimTypeOf(loc: Location; known: var TypeTable; name: string; orDef: Definit
|
|||
var memberType: TypeSpec
|
||||
if isLiteral(loc, na.pattern):
|
||||
memberType.node = ident"bool"
|
||||
elif na.pattern.isRef:
|
||||
memberType = typeIdent(loc, na.pattern)
|
||||
elif na.pattern.isSimple:
|
||||
memberType = typeIdent(loc, na.pattern)
|
||||
else:
|
||||
let
|
||||
memberTypeName = name & na.variantLabel.capitalizeAscii
|
||||
|
|
Loading…
Reference in New Issue