add expectIdent to macros (#12778)
* add expectIdent to macros * apply feedback * Update lib/core/macros.nim Co-Authored-By: Clyybber <darkmine956@gmail.com> * Update texpectIdent2.nim * Update texpectIdent1.nim Co-authored-by: Clyybber <darkmine956@gmail.com> Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
This commit is contained in:
parent
8e3a349561
commit
f95eef99a9
4 changed files with 50 additions and 1 deletions
|
|
@ -1433,6 +1433,13 @@ else:
|
|||
else:
|
||||
result = false
|
||||
|
||||
proc expectIdent*(n: NimNode, name: string) {.compileTime, since: (1,1).} =
|
||||
## Check that ``eqIdent(n,name)`` holds true. If this is not the
|
||||
## case, compilation aborts with an error message. This is useful
|
||||
## for writing macros that check the AST that is passed to them.
|
||||
if not eqIdent(n, name):
|
||||
error("Expected identifier to be `" & name & "` here", n)
|
||||
|
||||
proc hasArgOfName*(params: NimNode; name: string): bool {.compileTime.}=
|
||||
## Search ``nnkFormalParams`` for an argument.
|
||||
expectKind(params, nnkFormalParams)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue