gotools/internal/stack/parse.go

var reBlank

var reGoroutine

var reCall

var rePos

var errBreakParse

type Scanner

// NewScanner creates a scanner on top of a reader.
func NewScanner(r io.Reader) *Scanner {}

// Peek returns the next line without consuming it.
func (s *Scanner) Peek() string {}

// Skip consumes the next line without looking at it.
// Normally used after it has already been looked at using Peek.
func (s *Scanner) Skip() {}

// Next consumes and returns the next line.
func (s *Scanner) Next() string {}

// Done returns true if the scanner has reached the end of the underlying
// stream.
func (s *Scanner) Done() bool {}

// Err returns true if the scanner has reached the end of the underlying
// stream.
func (s *Scanner) Err() error {}

// Match returns the submatchs of the regular expression against the next line.
// If it matched the line is also consumed.
func (s *Scanner) Match(re *regexp.Regexp) []string {}

// SkipBlank skips any number of pure whitespace lines.
func (s *Scanner) SkipBlank() {}

// Parse the current contiguous block of goroutine stack traces until the
// scanned content no longer matches.
func Parse(scanner *Scanner) (Dump, error) {}

func parseGoroutine(scanner *Scanner) (Goroutine, bool) {}

func parseFrame(scanner *Scanner) (Frame, bool) {}

func parseFunction(scanner *Scanner) (Function, bool) {}

func parsePosition(scanner *Scanner) (Position, bool) {}