this change removes the state field from the lexer,
because it's only used by the run method and can be
replaced with a local variable
Change-Id: Ib7a90ab6e9a894716cba2c7d9ed71bf2ad1240c0
Reviewed-on: https://go-review.googlesource.com/47338
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
input string // the string being scanned
leftDelim string // start of action
rightDelim string // end of action
- state stateFn // the next lexing function to enter
pos Pos // current position in the input
start Pos // start position of this item
width Pos // width of last rune read from input
// run runs the state machine for the lexer.
func (l *lexer) run() {
- for l.state = lexText; l.state != nil; {
- l.state = l.state(l)
+ for state := lexText; state != nil; {
+ state = state(l)
}
close(l.items)
}