mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-19 14:00:35 +00:00
refactor cmpNimIdentifier (#16611)
* refactor cmpNimIdentifier * Apply suggestions from code review Co-authored-by: Clyybber <darkmine956@gmail.com> Co-authored-by: Clyybber <darkmine956@gmail.com>
This commit is contained in:
@@ -1437,12 +1437,9 @@ when defined(nimVmEqIdent):
|
||||
## these nodes will be unwrapped.
|
||||
|
||||
else:
|
||||
from std/private/strimpl import cmpIgnoreStyleImpl
|
||||
# this procedure is optimized for native code, it should not be compiled to nimVM bytecode.
|
||||
proc cmpIgnoreStyle(a, b: cstring): int {.noSideEffect.} =
|
||||
cmpIgnoreStyleImpl(a, b, true)
|
||||
from std/private/strimpl import cmpNimIdentifier
|
||||
|
||||
proc eqIdent*(a, b: string): bool = cmpIgnoreStyle(a, b) == 0
|
||||
proc eqIdent*(a, b: string): bool = cmpNimIdentifier(a, b) == 0
|
||||
## Check if two idents are equal.
|
||||
|
||||
proc eqIdent*(node: NimNode; s: string): bool {.compileTime.} =
|
||||
|
||||
@@ -91,7 +91,7 @@ when not defined(gcDestructors):
|
||||
else:
|
||||
include system/seqs_v2_reimpl
|
||||
|
||||
from std/private/strimpl import cmpIgnoreStyleImpl
|
||||
from std/private/strimpl import cmpNimIdentifier
|
||||
|
||||
when not defined(js):
|
||||
template rawType(x: Any): PNimType =
|
||||
@@ -368,9 +368,6 @@ iterator fields*(x: Any): tuple[name: string, any: Any] =
|
||||
for name, any in items(ret):
|
||||
yield ($name, any)
|
||||
|
||||
proc cmpNimIdentifier(a, b: cstring): int {.noSideEffect.} =
|
||||
cmpIgnoreStyleImpl(a, b, true)
|
||||
|
||||
proc getFieldNode(p: pointer, n: ptr TNimNode,
|
||||
name: cstring): ptr TNimNode =
|
||||
case n.kind
|
||||
|
||||
@@ -70,3 +70,7 @@ template endsWithImpl*[T: string | cstring](s, suffix: T) =
|
||||
if s[i+j] != suffix[i]: return false
|
||||
inc(i)
|
||||
if i >= suffixLen: return true
|
||||
|
||||
|
||||
func cmpNimIdentifier*[T: string | cstring](a, b: T): int =
|
||||
cmpIgnoreStyleImpl(a, b, true)
|
||||
|
||||
Reference in New Issue
Block a user