diff options
Diffstat (limited to 'compiler/ast.nim')
-rw-r--r-- | compiler/ast.nim | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/ast.nim b/compiler/ast.nim index dc190fd7f..f48003797 100644 --- a/compiler/ast.nim +++ b/compiler/ast.nim @@ -948,6 +948,9 @@ proc add*(father, son: PNode) = proc `[]`*(n: PNode, i: int): PNode {.inline.} = result = n.sons[i] +template `-|`*(b, s: expr): expr = + (if b >= 0: b else: s.len + b) + # son access operators with support for negative indices template `{}`*(n: PNode, i: int): expr = n[i -| n] template `{}=`*(n: PNode, i: int, s: PNode): stmt = |