mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-02 08:17:26 +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
|
// parseField scans a field until a terminator
|
||||||
func (p *Parser) parseField(cur *ListNode) error {
|
func (p *Parser) parseField(cur *ListNode) error {
|
||||||
p.consumeText()
|
p.consumeText()
|
||||||
Loop:
|
for p.advance() {}
|
||||||
for {
|
|
||||||
switch r := p.next(); {
|
|
||||||
case r == '\\':
|
|
||||||
p.next()
|
|
||||||
case isTerminator(r):
|
|
||||||
p.backup()
|
|
||||||
break Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
value := p.consumeText()
|
value := p.consumeText()
|
||||||
if value == "*" {
|
if value == "*" {
|
||||||
cur.append(newWildcard())
|
cur.append(newWildcard())
|
||||||
@ -401,6 +392,18 @@ Loop:
|
|||||||
return p.parseInsideAction(cur)
|
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.
|
// isTerminator reports whether the input is at valid termination character to appear after an identifier.
|
||||||
func isTerminator(r rune) bool {
|
func isTerminator(r rune) bool {
|
||||||
if isSpace(r) || isEndOfLine(r) {
|
if isSpace(r) || isEndOfLine(r) {
|
||||||
|
Loading…
Reference in New Issue
Block a user