don't produce nested indents for nested stmt lists
This commit is contained in:
parent
74549c327e
commit
f54556518e
1 changed files with 10 additions and 7 deletions
|
|
@ -558,15 +558,18 @@ proc longMode(n: PNode, start: int = 0, theEnd: int = - 1): bool =
|
||||||
result = true
|
result = true
|
||||||
break
|
break
|
||||||
|
|
||||||
proc gstmts(g: var TSrcGen, n: PNode, c: TContext) =
|
proc gstmts(g: var TSrcGen, n: PNode, c: TContext, doIndent=true) =
|
||||||
if n.kind == nkEmpty: return
|
if n.kind == nkEmpty: return
|
||||||
if n.kind in {nkStmtList, nkStmtListExpr, nkStmtListType}:
|
if n.kind in {nkStmtList, nkStmtListExpr, nkStmtListType}:
|
||||||
indentNL(g)
|
if doIndent: indentNL(g)
|
||||||
for i in countup(0, sonsLen(n) - 1):
|
for i in countup(0, sonsLen(n) - 1):
|
||||||
optNL(g)
|
optNL(g)
|
||||||
|
if n.sons[i].kind in {nkStmtList, nkStmtListExpr, nkStmtListType}:
|
||||||
|
gstmts(g, n.sons[i], c, doIndent=false)
|
||||||
|
else:
|
||||||
gsub(g, n.sons[i])
|
gsub(g, n.sons[i])
|
||||||
gcoms(g)
|
gcoms(g)
|
||||||
dedent(g)
|
if doIndent: dedent(g)
|
||||||
else:
|
else:
|
||||||
if rfLongMode in c.flags: indentNL(g)
|
if rfLongMode in c.flags: indentNL(g)
|
||||||
gsub(g, n)
|
gsub(g, n)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue