Skip to content

Commit 1b4f39e

Browse files
committed
Default fields WIP
1 parent 3ba3307 commit 1b4f39e

File tree

5 files changed

+484
-433
lines changed

5 files changed

+484
-433
lines changed

compiler/parser.nim

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1002,7 +1002,7 @@ proc parseIdentColonEquals(p: var TParser, flags: TDeclaredIdentFlags): PNode =
10021002
optInd(p, result)
10031003
addSon(result, parseExpr(p))
10041004
else:
1005-
addSon(result, newNodeP(nkEmpty, p))
1005+
addSon(result, p.emptyNode)
10061006

10071007
proc parseTuple(p: var TParser, indentAllowed = false): PNode =
10081008
#| inlTupleDecl = 'tuple'
@@ -1899,11 +1899,17 @@ proc parseObjectCase(p: var TParser): PNode =
18991899
#| | IND{=} objectBranches)
19001900
result = newNodeP(nkRecCase, p)
19011901
getTokNoInd(p)
1902-
var a = newNodeP(nkIdentDefs, p)
1903-
addSon(a, identWithPragma(p))
1904-
eat(p, tkColon)
1905-
addSon(a, parseTypeDesc(p))
1906-
addSon(a, p.emptyNode)
1902+
var a = parseIdentColonEquals(p, {withPragma})
1903+
# var a = newNodeP(nkIdentDefs, p)
1904+
# addSon(a, identWithPragma(p))
1905+
# eat(p, tkColon)
1906+
# addSon(a, parseTypeDesc(p))
1907+
# if p.tok.tokType == tkEquals:
1908+
# getTok(p)
1909+
# optInd(p, result)
1910+
# addSon(a, parseExpr(p))
1911+
# else:
1912+
# addSon(a, p.emptyNode)
19071913
addSon(result, a)
19081914
if p.tok.tokType == tkColon: getTok(p)
19091915
flexComment(p, result)

0 commit comments

Comments
 (0)