File tree Expand file tree Collapse file tree 1 file changed +13
-4
lines changed Expand file tree Collapse file tree 1 file changed +13
-4
lines changed Original file line number Diff line number Diff line change 55import
66 macros
77
8+ const IdentLike = {nnkIdent, nnkSym, nnkOpenSymChoice}
89
910type
1011 SectionInfo = object
@@ -63,17 +64,25 @@ proc createLayerInfo(sectionInfo: SectionInfo): seq[LayerInfo] =
6364
6465 if layer.kind != nnkCall or
6566 layer.len != 2 or
66- layer[0 ].kind != nnkIdent or
67+ layer[0 ].kind notin IdentLike or
6768 layer[1 ].kind != nnkStmtList or
6869 layer[1 ].len != 1 or
6970 layer[1 ][0 ].kind != nnkCall or
7071 layer[1 ][0 ].len < 1 or
71- layer[1 ][0 ][0 ].kind != nnkIdent :
72+ layer[1 ][0 ][0 ].kind notin IdentLike :
7273 error (" Unknown configuration of layer section: \" " & $ toStrLit (layer) & " \" " , layer)
7374
75+ let
76+ nameNode = layer[0 ]
77+ typeNameNode = layer[1 ][0 ][0 ]
78+
7479 result .add LayerInfo (
75- name: layer[0 ],
76- typeName: layer[1 ][0 ][0 ]
80+ name:
81+ if nameNode.kind != nnkOpenSymChoice: nameNode
82+ else : nameNode.repr.ident (),
83+ typeName:
84+ if typeNameNode.kind != nnkOpenSymChoice: typeNameNode
85+ else : typeNameNode.repr.ident (),
7786 )
7887 if layer[1 ][0 ].len >= 2 :
7988 result [^ 1 ].arguments = layer[1 ][0 ][1 ..^ 1 ]
You can’t perform that action at this time.
0 commit comments