Drop bad assertions, improve error message
This commit is contained in:
parent
50b71b8651
commit
c449d41759
|
@ -161,7 +161,6 @@ template newSchemaNode(snk: SchemaNodeKind): SchemaNode =
|
|||
SchemaNode(kind: snk)
|
||||
|
||||
template takeStackAt(): seq[SchemaNode] =
|
||||
assert(p.stack.len > 0, capture[0].s)
|
||||
var nodes = newSeq[SchemaNode]()
|
||||
let pos = capture[0].si
|
||||
var i: int
|
||||
|
@ -172,11 +171,9 @@ template takeStackAt(): seq[SchemaNode] =
|
|||
nodes.add(move p.stack[i].node)
|
||||
inc i
|
||||
p.stack.setLen(stop)
|
||||
assert(nodes.len > 0, "'" & capture[0].s & "'")
|
||||
nodes
|
||||
|
||||
template takeStackAfter(): seq[SchemaNode] =
|
||||
assert(p.stack.len > 0, capture[0].s)
|
||||
var nodes = newSeq[SchemaNode]()
|
||||
let pos = capture[0].si
|
||||
var i: int
|
||||
|
@ -187,7 +184,6 @@ template takeStackAfter(): seq[SchemaNode] =
|
|||
nodes.add(move p.stack[i].node)
|
||||
inc i
|
||||
p.stack.setLen(stop)
|
||||
assert(nodes.len > 0, "'" & capture[0].s & "'")
|
||||
nodes
|
||||
|
||||
template popStack(): SchemaNode =
|
||||
|
@ -409,7 +405,7 @@ const parser = peg("Schema", p: ParseState):
|
|||
proc match(text: string; p: var ParseState) =
|
||||
let match = parser.match(text, p)
|
||||
if not match.ok:
|
||||
raise newException(ValueError, "failed to parse Preserves schema:\n" & text[match.matchMax..text.high])
|
||||
raise newException(ValueError, "failed to parse Preserves schema:\n" & text[0..<match.matchMax])
|
||||
|
||||
proc parsePreservesSchema*(text: string): Schema =
|
||||
## Parse a Preserves schema into an abstract syntax tree represented as a `Preserve`.
|
||||
|
|
Loading…
Reference in New Issue