OSDN Git Service

new repo
[bytom/vapor.git] / vendor / golang.org / x / text / internal / export / idna / gen_common.go
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         "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 }