MCPcopy Index your code
hub / github.com/XmirrorSecurity/OpenSCA-cli / rawToken

Method rawToken

opensca/sca/java/xml/xml.go:544–844  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

542}
543
544func (d *Decoder) rawToken() (Token, error) {
545 if d.t != nil {
546 return d.t.Token()
547 }
548 if d.err != nil {
549 return nil, d.err
550 }
551 if d.needClose {
552 // The last element we read was self-closing and
553 // we returned just the StartElement half.
554 // Return the EndElement half now.
555 d.needClose = false
556 return EndElement{d.toClose}, nil
557 }
558
559 b, ok := d.getc()
560 if !ok {
561 return nil, d.err
562 }
563
564 if b != '<' {
565 // Text section.
566 d.ungetc(b)
567 data := d.text(-1, false)
568 if data == nil {
569 return nil, d.err
570 }
571 return CharData(data), nil
572 }
573
574 if b, ok = d.mustgetc(); !ok {
575 return nil, d.err
576 }
577 switch b {
578 case '/':
579 // </: End element
580 var name Name
581 if name, ok = d.nsname(); !ok {
582 if d.err == nil {
583 d.err = d.syntaxError("expected element name after </")
584 }
585 return nil, d.err
586 }
587 d.space()
588 if b, ok = d.mustgetc(); !ok {
589 return nil, d.err
590 }
591 if b != '>' {
592 d.err = d.syntaxError("invalid characters between </" + name.Local + " and >")
593 return nil, d.err
594 }
595 return EndElement{name}, nil
596
597 case '?':
598 // <?: Processing instruction.
599 var target string
600 if target, ok = d.name(); !ok {
601 if d.err == nil {

Callers 2

TokenMethod · 0.95
RawTokenMethod · 0.95

Calls 15

getcMethod · 0.95
ungetcMethod · 0.95
textMethod · 0.95
mustgetcMethod · 0.95
nsnameMethod · 0.95
syntaxErrorMethod · 0.95
spaceMethod · 0.95
nameMethod · 0.95
switchToReaderMethod · 0.95
attrvalMethod · 0.95
CharDataTypeAlias · 0.85
procInstFunction · 0.85

Tested by

no test coverage detected