Fix oneOf() to reset input cursor after each parser execution
This commit is contained in:
@@ -69,6 +69,7 @@ class Parser:
|
|||||||
value = parser(input)
|
value = parser(input)
|
||||||
if value.result:
|
if value.result:
|
||||||
return value
|
return value
|
||||||
|
input.reset(snap)
|
||||||
|
|
||||||
if assertExpected is not None:
|
if assertExpected is not None:
|
||||||
found = f", found '{input.current().rawValue}'" if input.hasCurrent() else ""
|
found = f", found '{input.current().rawValue}'" if input.hasCurrent() else ""
|
||||||
@@ -80,7 +81,6 @@ class Parser:
|
|||||||
else:
|
else:
|
||||||
raise exception
|
raise exception
|
||||||
|
|
||||||
|
|
||||||
input.reset(snap)
|
input.reset(snap)
|
||||||
return ParseResult.FAIL()
|
return ParseResult.FAIL()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user