Remove replaceInfix; no longer used

This commit is contained in:
Mark Spanbroek 2022-06-20 15:43:07 +02:00
parent de0ad2aa0c
commit 2ce6dba98b

View File

@ -1,22 +1,5 @@
import std/macros
import ./binding
import ./without
macro replaceInfix(expression, operator, replacement): untyped =
## Replaces an infix operator in an expression. The AST of the expression is
## traversed to find and replace all instances of the operator.
proc replace(expression, operator, replacement: NimNode): NimNode =
if expression.kind == nnkInfix and eqIdent(expression[0], operator):
expression[0] = replacement
expression[2] = replace(expression[2], operator, replacement)
else:
for i in 0..<expression.len:
expression[i] = replace(expression[i], operator, replacement)
expression
replace(expression, operator, replacement)
template without*(condition, errorname, body) =
## Used to place guards that ensure that a Result contains a value.
## Exposes error when Result does not contain a value.