github.com/go-xe2/third@v1.0.3/golang.org/x/text/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 // +build ignore 6 7 package main 8 9 // This file contains code that is common between the generation code and the 10 // package's test code. 11 12 import ( 13 "log" 14 15 "github.com/go-xe2/third/golang.org/x/text/internal/ucd" 16 ) 17 18 func catFromEntry(p *ucd.Parser) (cat category) { 19 r := p.Rune(0) 20 switch s := p.String(1); s { 21 case "valid": 22 cat = valid 23 case "disallowed": 24 cat = disallowed 25 case "disallowed_STD3_valid": 26 cat = disallowedSTD3Valid 27 case "disallowed_STD3_mapped": 28 cat = disallowedSTD3Mapped 29 case "mapped": 30 cat = mapped 31 case "deviation": 32 cat = deviation 33 case "ignored": 34 cat = ignored 35 default: 36 log.Fatalf("%U: Unknown category %q", r, s) 37 } 38 if s := p.String(3); s != "" { 39 if cat != valid { 40 log.Fatalf(`%U: %s defined for %q; want "valid"`, r, s, p.String(1)) 41 } 42 switch s { 43 case "NV8": 44 cat = validNV8 45 case "XV8": 46 cat = validXV8 47 default: 48 log.Fatalf("%U: Unexpected exception %q", r, s) 49 } 50 } 51 return cat 52 } 53 54 var joinType = map[string]info{ 55 "L": joiningL, 56 "D": joiningD, 57 "T": joiningT, 58 "R": joiningR, 59 }