preserves_schema_nim: do not create types for simple fields

This commit is contained in:
Emery Hemingway 2024-01-06 19:27:06 +02:00
parent abcdfa01cd
commit 74da21f3d5
1 changed files with 4 additions and 4 deletions

View File

@ -622,7 +622,7 @@ proc addField(recList: PNode; loc: Location; known: var TypeTable; parentName: s
label = label(np, parentName, index) label = label(np, parentName, index)
id = label.toFieldIdent id = label.toFieldIdent
pattern = np.pattern pattern = np.pattern
if pattern.isRef or pattern.isSimple: if pattern.isSimple:
addField(recList, loc, known, pattern.simplePattern, label) addField(recList, loc, known, pattern.simplePattern, label)
else: else:
var var
@ -659,7 +659,7 @@ proc addFields(recList: PNode; loc: Location; known: var TypeTable; parentName:
label = label(np, parentName, index) label = label(np, parentName, index)
id = label.toFieldIdent id = label.toFieldIdent
pattern = np.pattern pattern = np.pattern
if pattern.isRef or pattern.isSimple: if pattern.isSimple:
addField(recList, loc, known, pattern.simplePattern, label) addField(recList, loc, known, pattern.simplePattern, label)
else: else:
var var
@ -781,8 +781,8 @@ proc nimTypeOf(loc: Location; known: var TypeTable; name: string; orDef: Definit
var memberType: TypeSpec var memberType: TypeSpec
if isLiteral(loc, na.pattern): if isLiteral(loc, na.pattern):
memberType.node = ident"bool" memberType.node = ident"bool"
elif na.pattern.isRef: elif na.pattern.isSimple:
memberType = typeIdent(loc, na.pattern) memberType = typeIdent(loc, na.pattern)
else: else:
let let
memberTypeName = name & na.variantLabel.capitalizeAscii memberTypeName = name & na.variantLabel.capitalizeAscii