demangle.go
func (st *state) cvQualifiers() Qualifiers {
	var q Qualifiers
	for len(st.str) > 0 {
		if qv, ok := qualifiers[st.str[0]]; ok {
			q = append([]string{qv}, q...)
			st.advance(1)
		} else if len(st.str) > 1 && st.str[:2] == "Dx" {
			q = append([]string{"transaction_safe"}, q...)
			st.advance(2)
		} else {
			break
		}
	}
	return q
}
func (st *state) cvQualifiers() Qualifiers {
	var q Qualifiers
	for len(st.str) > 0 {
		if qv, ok := qualifiers[st.str[0]]; ok {
			q = append([]string{qv}, q...)
			st.advance(1)
		} else if len(st.str) > 1 && st.str[:2] == "Dx" {
			q = append([]string{"transaction_safe"}, q...)
			st.advance(2)
		} else {
			break
		}
	}
	return q
}
func ( st * state ) cvQualifiers ( ) Qualifiers { var q Qualifiers for len ( st . str ) > 0 { if qv , ok := qualifiers [ st . str [ 0 ] ] ; ok { q = append ( [ ] string { qv } , q ... ) st . advance ( 1 ) } else if len ( st . str ) > 1 && st . str [ : 2 ] == " " { q = append ( [ ] string { " " } , q ... ) st . advance ( 2 ) } else { break } } return q }
// <CV-qualifiers> ::= [r] [V] [K]
<CV - qualifiers > :: = [ r ] [ V ] [ K ]