Don't support multiple base nodes yet

This commit is contained in:
Joey Yakimowich-Payne 2020-04-23 21:52:34 -06:00
commit 4e687dd807

View file

@ -486,17 +486,17 @@ proc processTSNode(gState: State, node: TSNode, typeofNode: var PNode): PNode =
if node.len == 1: if node.len == 1:
result = gState.processTSNode(node[0], typeofNode) result = gState.processTSNode(node[0], typeofNode)
elif node.len > 1: elif node.len > 1:
let res = newNode(nkStmtListExpr) var nodes: seq[PNode]
for i in 0 ..< node.len: for i in 0 ..< node.len:
let node = gState.processTSNode(node[i], typeofNode) let subNode = gState.processTSNode(node[i], typeofNode)
if node.kind != nkNone: if subNode.kind != nkNone:
res.add node nodes.add(subNode)
if res.len == 1: # Multiple nodes can get tricky. Don't support them yet, unless they
result = res[0] # have at most one valid node
elif res.len > 1: if nodes.len > 1:
result = res raise newException(ExprParseError, &"Node type \"{nodeName}\" with val ({node.val}) has more than one non empty node")
else: if nodes.len == 1:
result = newNode(nkNone) result = nodes[0]
else: else:
raise newException(ExprParseError, &"Node type \"{nodeName}\" has no children") raise newException(ExprParseError, &"Node type \"{nodeName}\" has no children")
of "parenthesized_expression": of "parenthesized_expression":