MCPcopy
hub / github.com/valyala/quicktemplate / parseDefault

Method parseDefault

parser/parser.go:261–292  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

259}
260
261func (p *parser) parseDefault() error {
262 s := p.s
263 if err := skipTagContents(s); err != nil {
264 return err
265 }
266 stmtStr := "default"
267 p.Printf("default:")
268 p.prefix += "\t"
269 for s.Next() {
270 t := s.Token()
271 switch t.ID {
272 case text:
273 p.emitText(t.Value)
274 case tagName:
275 ok, err := p.tryParseCommonTags(t.Value)
276 if err != nil {
277 return fmt.Errorf("error in %q: %s", stmtStr, err)
278 }
279 if !ok {
280 s.Rewind()
281 p.prefix = p.prefix[1:]
282 return nil
283 }
284 default:
285 return fmt.Errorf("unexpected token found when parsing %q: %s at %s", stmtStr, t, s.Context())
286 }
287 }
288 if err := s.LastError(); err != nil {
289 return fmt.Errorf("cannot parse %q: %s", stmtStr, err)
290 }
291 return fmt.Errorf("cannot find end of %q at %s", stmtStr, s.Context())
292}
293
294func (p *parser) parseCase(switchValue string) error {
295 s := p.s

Callers 1

parseSwitchMethod · 0.95

Calls 9

PrintfMethod · 0.95
emitTextMethod · 0.95
tryParseCommonTagsMethod · 0.95
skipTagContentsFunction · 0.85
NextMethod · 0.80
TokenMethod · 0.80
RewindMethod · 0.80
ContextMethod · 0.80
LastErrorMethod · 0.80

Tested by

no test coverage detected