better strict funcs, WIP (#15199)

* better strict funcs, WIP

* progress
This commit is contained in:
Andreas Rumpf 2020-08-18 12:45:22 +02:00 • committed by GitHub
commit ddff13f01b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 36 additions and 14 deletions

View file

@ -374,12 +374,14 @@ func checkNamedCaptured(pattern: RegexMatch, name: string): void =
func `[]`*(pattern: CaptureBounds, name: string): HSlice[int, int] =
let pattern = RegexMatch(pattern)
checkNamedCaptured(pattern, name)
pattern.captureBounds[pattern.pattern.captureNameToId[name]]
{.noSideEffect.}:
result = pattern.captureBounds[pattern.pattern.captureNameToId[name]]
func `[]`*(pattern: Captures, name: string): string =
let pattern = RegexMatch(pattern)
checkNamedCaptured(pattern, name)
return pattern.captures[pattern.pattern.captureNameToId[name]]
{.noSideEffect.}:
result = pattern.captures[pattern.pattern.captureNameToId[name]]
template toTableImpl() {.dirty.} =
for key in RegexMatch(pattern).pattern.captureNameId.keys: