mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 15:05:27 +00:00
Factor advance logic into helper function.
h/t @brendandburns
This commit is contained in:
parent
be3f556b77
commit
6787b67152
@ -382,16 +382,7 @@ Loop:
|
||||
// parseField scans a field until a terminator
|
||||
func (p *Parser) parseField(cur *ListNode) error {
|
||||
p.consumeText()
|
||||
Loop:
|
||||
for {
|
||||
switch r := p.next(); {
|
||||
case r == '\\':
|
||||
p.next()
|
||||
case isTerminator(r):
|
||||
p.backup()
|
||||
break Loop
|
||||
}
|
||||
}
|
||||
for p.advance() {}
|
||||
value := p.consumeText()
|
||||
if value == "*" {
|
||||
cur.append(newWildcard())
|
||||
@ -401,6 +392,18 @@ Loop:
|
||||
return p.parseInsideAction(cur)
|
||||
}
|
||||
|
||||
// advance scans until next non-escaped terminator
|
||||
func (p *Parser) advance() bool {
|
||||
r := p.next()
|
||||
if r == '\\' {
|
||||
p.next()
|
||||
} else if isTerminator(r) {
|
||||
p.backup()
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// isTerminator reports whether the input is at valid termination character to appear after an identifier.
|
||||
func isTerminator(r rune) bool {
|
||||
if isSpace(r) || isEndOfLine(r) {
|
||||
|
Loading…
Reference in New Issue
Block a user