const UnicodeVersion … var xorData … var exceptions … // lookup returns the trie value for the first UTF-8 encoding in s and // the width in bytes of this encoding. The size will be 0 if s does not // hold enough bytes to complete the encoding. len(s) must be greater than 0. func (t *caseTrie) lookup(s []byte) (v uint16, sz int) { … } // lookupUnsafe returns the trie value for the first UTF-8 encoding in s. // s must start with a full and valid UTF-8 encoded rune. func (t *caseTrie) lookupUnsafe(s []byte) uint16 { … } // lookupString returns the trie value for the first UTF-8 encoding in s and // the width in bytes of this encoding. The size will be 0 if s does not // hold enough bytes to complete the encoding. len(s) must be greater than 0. func (t *caseTrie) lookupString(s string) (v uint16, sz int) { … } // lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. // s must start with a full and valid UTF-8 encoded rune. func (t *caseTrie) lookupStringUnsafe(s string) uint16 { … } type caseTrie … func newCaseTrie(i int) *caseTrie { … } // lookupValue determines the type of block n and looks up the value for b. func (t *caseTrie) lookupValue(n uint32, b byte) uint16 { … } var caseValues … var caseIndex … var sparseOffsets … var sparseValues …