version 1.1, 2019/01/26 16:31:33 |
version 1.2, 2019/02/21 22:49:03 |
|
|
package pkglint |
package pkglint |
|
|
import ( |
import "netbsd.org/pkglint/regex" |
"netbsd.org/pkglint/regex" |
|
"strings" |
|
) |
|
|
|
// LinesLexer records the state when checking a list of lines from top to bottom. |
// LinesLexer records the state when checking a list of lines from top to bottom. |
type LinesLexer struct { |
type LinesLexer struct { |
Line 66 func (llex *LinesLexer) SkipPrefix(prefi |
|
Line 63 func (llex *LinesLexer) SkipPrefix(prefi |
|
defer trace.Call2(llex.CurrentLine().Text, prefix)() |
defer trace.Call2(llex.CurrentLine().Text, prefix)() |
} |
} |
|
|
return !llex.EOF() && strings.HasPrefix(llex.lines.Lines[llex.index].Text, prefix) && llex.Skip() |
if !llex.EOF() && hasPrefix(llex.lines.Lines[llex.index].Text, prefix) { |
|
llex.Skip() |
|
return true |
|
} |
|
return false |
} |
} |
|
|
func (llex *LinesLexer) SkipString(text string) bool { |
func (llex *LinesLexer) SkipString(text string) bool { |
Line 74 func (llex *LinesLexer) SkipString(text |
|
Line 75 func (llex *LinesLexer) SkipString(text |
|
defer trace.Call2(llex.CurrentLine().Text, text)() |
defer trace.Call2(llex.CurrentLine().Text, text)() |
} |
} |
|
|
return !llex.EOF() && llex.lines.Lines[llex.index].Text == text && llex.Skip() |
if !llex.EOF() && llex.lines.Lines[llex.index].Text == text { |
|
llex.Skip() |
|
return true |
|
} |
|
return false |
} |
} |
|
|
func (llex *LinesLexer) SkipEmptyOrNote() bool { |
func (llex *LinesLexer) SkipEmptyOrNote() bool { |
Line 135 func (mlex *MkLinesLexer) SkipWhile(pred |
|
Line 140 func (mlex *MkLinesLexer) SkipWhile(pred |
|
} |
} |
|
|
func (mlex *MkLinesLexer) SkipIf(pred func(mkline MkLine) bool) bool { |
func (mlex *MkLinesLexer) SkipIf(pred func(mkline MkLine) bool) bool { |
return !mlex.EOF() && pred(mlex.CurrentMkLine()) && mlex.Skip() |
if !mlex.EOF() && pred(mlex.CurrentMkLine()) { |
|
mlex.Skip() |
|
return true |
|
} |
|
return false |
} |
} |