MCPcopy Create free account
hub / github.com/yuin/gopher-lua / parseClass

Function parseClass

pm/pm.go:310–332  ·  view source on GitHub ↗

}}} * parse {{{ */

(sc *scanner, allowset bool)

Source from the content-addressed store, hash-verified

308/* parse {{{ */
309
310func parseClass(sc *scanner, allowset bool) class {
311 ch := sc.Next()
312 switch ch {
313 case '%':
314 return &singleClass{sc.Next()}
315 case '.':
316 if allowset {
317 return &dotClass{}
318 }
319 return &charClass{ch}
320 case '[':
321 if allowset {
322 return parseClassSet(sc)
323 }
324 return &charClass{ch}
325 //case '^' '$', '(', ')', ']', '*', '+', '-', '?':
326 // panic(newError(sc.CurrentPos(), "invalid %c", ch))
327 case EOS:
328 panic(newError(sc.CurrentPos(), "unexpected EOS"))
329 default:
330 return &charClass{ch}
331 }
332}
333
334func parseClassSet(sc *scanner) class {
335 set := &setClass{false, []class{}}

Callers 2

parseClassSetFunction · 0.85
parsePatternFunction · 0.85

Calls 4

parseClassSetFunction · 0.85
newErrorFunction · 0.85
CurrentPosMethod · 0.80
NextMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…