parent
c5f64f101b
commit
08159733cd
2 changed files with 32 additions and 2 deletions
|
|
@ -660,7 +660,7 @@ template handleNestedTempl(n, processCall: untyped, willProduceStmt = false) =
|
||||||
branch[0] = p(it[0], c, s, normal)
|
branch[0] = p(it[0], c, s, normal)
|
||||||
|
|
||||||
branch[^1] = if it[^1].typ.isEmptyType or willProduceStmt:
|
branch[^1] = if it[^1].typ.isEmptyType or willProduceStmt:
|
||||||
processScope(c, branchScope, processCall(it[^1], branchScope))
|
processScope(c, branchScope, maybeVoid(it[^1], branchScope))
|
||||||
else:
|
else:
|
||||||
processScopeExpr(c, branchScope, it[^1], processCall)
|
processScopeExpr(c, branchScope, it[^1], processCall)
|
||||||
result.add branch
|
result.add branch
|
||||||
|
|
@ -679,7 +679,7 @@ template handleNestedTempl(n, processCall: untyped, willProduceStmt = false) =
|
||||||
var branchScope = nestedScope(s)
|
var branchScope = nestedScope(s)
|
||||||
branch[^1] = if it[^1].typ.isEmptyType or willProduceStmt or it.kind == nkFinally:
|
branch[^1] = if it[^1].typ.isEmptyType or willProduceStmt or it.kind == nkFinally:
|
||||||
processScope(c, branchScope, if it.kind == nkFinally: p(it[^1], c, branchScope, normal)
|
processScope(c, branchScope, if it.kind == nkFinally: p(it[^1], c, branchScope, normal)
|
||||||
else: processCall(it[^1], branchScope))
|
else: maybeVoid(it[^1], branchScope))
|
||||||
else:
|
else:
|
||||||
processScopeExpr(c, branchScope, it[^1], processCall)
|
processScopeExpr(c, branchScope, it[^1], processCall)
|
||||||
result.add branch
|
result.add branch
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,9 @@ ho
|
||||||
king
|
king
|
||||||
live long; long live
|
live long; long live
|
||||||
king
|
king
|
||||||
|
hi
|
||||||
|
try
|
||||||
|
bye
|
||||||
'''
|
'''
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
@ -494,3 +497,30 @@ proc weirdScopes =
|
||||||
echo king
|
echo king
|
||||||
|
|
||||||
weirdScopes()
|
weirdScopes()
|
||||||
|
|
||||||
|
|
||||||
|
# bug #14985
|
||||||
|
proc getScope(): string =
|
||||||
|
if true:
|
||||||
|
return "hi"
|
||||||
|
else:
|
||||||
|
"else"
|
||||||
|
|
||||||
|
echo getScope()
|
||||||
|
|
||||||
|
proc getScope3(): string =
|
||||||
|
try:
|
||||||
|
"try"
|
||||||
|
except:
|
||||||
|
return "except"
|
||||||
|
|
||||||
|
echo getScope3()
|
||||||
|
|
||||||
|
proc getScope2(): string =
|
||||||
|
case true
|
||||||
|
of true:
|
||||||
|
return "bye"
|
||||||
|
else:
|
||||||
|
"else"
|
||||||
|
|
||||||
|
echo getScope2()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue