allow omitting stmts using finally as post expr blocks; make it consistent with else, except etc. (#21361)
allow omitting stmts using `finally` as post expr blocks
This commit is contained in:
parent
684c3b3aeb
commit
406d302131
2 changed files with 12 additions and 1 deletions
|
|
@ -1496,7 +1496,7 @@ proc postExprBlocks(p: var Parser, x: PNode): PNode =
|
||||||
result = makeCall(result)
|
result = makeCall(result)
|
||||||
getTok(p)
|
getTok(p)
|
||||||
skipComment(p, result)
|
skipComment(p, result)
|
||||||
if p.tok.tokType notin {tkOf, tkElif, tkElse, tkExcept}:
|
if p.tok.tokType notin {tkOf, tkElif, tkElse, tkExcept, tkFinally}:
|
||||||
var stmtList = newNodeP(nkStmtList, p)
|
var stmtList = newNodeP(nkStmtList, p)
|
||||||
stmtList.add parseStmt(p)
|
stmtList.add parseStmt(p)
|
||||||
# to keep backwards compatibility (see tests/vm/tstringnil)
|
# to keep backwards compatibility (see tests/vm/tstringnil)
|
||||||
|
|
|
||||||
|
|
@ -498,6 +498,13 @@ StmtList
|
||||||
StmtList
|
StmtList
|
||||||
DiscardStmt
|
DiscardStmt
|
||||||
Empty
|
Empty
|
||||||
|
|
||||||
|
Call
|
||||||
|
Ident "foo"
|
||||||
|
Finally
|
||||||
|
StmtList
|
||||||
|
DiscardStmt
|
||||||
|
Empty
|
||||||
'''
|
'''
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
@ -655,3 +662,7 @@ dumpTree:
|
||||||
discard
|
discard
|
||||||
finally:
|
finally:
|
||||||
discard
|
discard
|
||||||
|
|
||||||
|
foo:
|
||||||
|
finally:
|
||||||
|
discard
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue