Merge pull request #2370 from flaviut/jsondoc-fixes

Fix segfault in jsondoc
This commit is contained in:
Andreas Rumpf 2015-03-22 08:56:56 +01:00
commit 838f398378

View file

@ -521,13 +521,13 @@ proc generateJson(d: PDoc, n: PNode, jArray: JsonNode = nil): JsonNode =
result = genJSONItem(d, n.sons[i], n.sons[i].sons[0], result = genJSONItem(d, n.sons[i], n.sons[i].sons[0],
succ(skType, ord(n.kind)-ord(nkTypeSection))) succ(skType, ord(n.kind)-ord(nkTypeSection)))
of nkStmtList: of nkStmtList:
var elem = jArray result = if jArray != nil: jArray else: newJArray()
if elem == nil: elem = newJArray()
for i in countup(0, sonsLen(n) - 1): for i in countup(0, sonsLen(n) - 1):
var r = generateJson(d, n.sons[i], elem) var r = generateJson(d, n.sons[i], result)
if r != nil: if r != nil:
elem.add(r) result.add(r)
if result == nil: result = elem
of nkWhenStmt: of nkWhenStmt:
# generate documentation for the first branch only: # generate documentation for the first branch only:
if not checkForFalse(n.sons[0].sons[0]) and jArray != nil: if not checkForFalse(n.sons[0].sons[0]) and jArray != nil: