github.com/go-enjin/golang-org-x-text@v0.12.1-enjin.2/internal/export/idna/gen_common.go (about) 1 // Copyright 2016 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:build ignore 6 // +build ignore 7 8 package main 9 10 // This file contains code that is common between the generation code and the 11 // package's test code. 12 13 import ( 14 "log" 15 16 "github.com/go-enjin/golang-org-x-text/internal/ucd" 17 ) 18 19 func catFromEntry(p *ucd.Parser) (cat category) { 20 r := p.Rune(0) 21 switch s := p.String(1); s { 22 case "valid": 23 cat = valid 24 case "disallowed": 25 cat = disallowed 26 case "disallowed_STD3_valid": 27 cat = disallowedSTD3Valid 28 case "disallowed_STD3_mapped": 29 cat = disallowedSTD3Mapped 30 case "mapped": 31 cat = mapped 32 case "deviation": 33 cat = deviation 34 case "ignored": 35 cat = ignored 36 default: 37 log.Fatalf("%U: Unknown category %q", r, s) 38 } 39 if s := p.String(3); s != "" { 40 if cat != valid { 41 log.Fatalf(`%U: %s defined for %q; want "valid"`, r, s, p.String(1)) 42 } 43 switch s { 44 case "NV8": 45 cat = validNV8 46 case "XV8": 47 cat = validXV8 48 default: 49 log.Fatalf("%U: Unexpected exception %q", r, s) 50 } 51 } 52 return cat 53 } 54 55 var joinType = map[string]info{ 56 "L": joiningL, 57 "D": joiningD, 58 "T": joiningT, 59 "R": joiningR, 60 }