1
2
3 package strconv
4
5 import (
6 "cuelang.org/go/internal/core/adt"
7 "cuelang.org/go/internal/pkg"
8 )
9
10 func init() {
11 pkg.Register("strconv", p)
12 }
13
14 var _ = adt.TopKind
15
16 var p = &pkg.Package{
17 Native: []*pkg.Builtin{{
18 Name: "Unquote",
19 Params: []pkg.Param{
20 {Kind: adt.StringKind},
21 },
22 Result: adt.StringKind,
23 Func: func(c *pkg.CallCtxt) {
24 s := c.String(0)
25 if c.Do() {
26 c.Ret, c.Err = Unquote(s)
27 }
28 },
29 }, {
30 Name: "ParseBool",
31 Params: []pkg.Param{
32 {Kind: adt.StringKind},
33 },
34 Result: adt.BoolKind,
35 Func: func(c *pkg.CallCtxt) {
36 str := c.String(0)
37 if c.Do() {
38 c.Ret, c.Err = ParseBool(str)
39 }
40 },
41 }, {
42 Name: "FormatBool",
43 Params: []pkg.Param{
44 {Kind: adt.BoolKind},
45 },
46 Result: adt.StringKind,
47 Func: func(c *pkg.CallCtxt) {
48 b := c.Bool(0)
49 if c.Do() {
50 c.Ret = FormatBool(b)
51 }
52 },
53 }, {
54 Name: "ParseComplex",
55 Params: []pkg.Param{
56 {Kind: adt.StringKind},
57 {Kind: adt.IntKind},
58 },
59 Result: adt.TopKind,
60 Func: func(c *pkg.CallCtxt) {
61 s, bitSize := c.String(0), c.Int(1)
62 if c.Do() {
63 c.Ret, c.Err = ParseComplex(s, bitSize)
64 }
65 },
66 }, {
67 Name: "ParseFloat",
68 Params: []pkg.Param{
69 {Kind: adt.StringKind},
70 {Kind: adt.IntKind},
71 },
72 Result: adt.NumKind,
73 Func: func(c *pkg.CallCtxt) {
74 s, bitSize := c.String(0), c.Int(1)
75 if c.Do() {
76 c.Ret, c.Err = ParseFloat(s, bitSize)
77 }
78 },
79 }, {
80 Name: "IntSize",
81 Const: "64",
82 }, {
83 Name: "ParseUint",
84 Params: []pkg.Param{
85 {Kind: adt.StringKind},
86 {Kind: adt.IntKind},
87 {Kind: adt.IntKind},
88 },
89 Result: adt.IntKind,
90 Func: func(c *pkg.CallCtxt) {
91 s, base, bitSize := c.String(0), c.Int(1), c.Int(2)
92 if c.Do() {
93 c.Ret, c.Err = ParseUint(s, base, bitSize)
94 }
95 },
96 }, {
97 Name: "ParseInt",
98 Params: []pkg.Param{
99 {Kind: adt.StringKind},
100 {Kind: adt.IntKind},
101 {Kind: adt.IntKind},
102 },
103 Result: adt.IntKind,
104 Func: func(c *pkg.CallCtxt) {
105 s, base, bitSize := c.String(0), c.Int(1), c.Int(2)
106 if c.Do() {
107 c.Ret, c.Err = ParseInt(s, base, bitSize)
108 }
109 },
110 }, {
111 Name: "Atoi",
112 Params: []pkg.Param{
113 {Kind: adt.StringKind},
114 },
115 Result: adt.IntKind,
116 Func: func(c *pkg.CallCtxt) {
117 s := c.String(0)
118 if c.Do() {
119 c.Ret, c.Err = Atoi(s)
120 }
121 },
122 }, {
123 Name: "FormatFloat",
124 Params: []pkg.Param{
125 {Kind: adt.NumKind},
126 {Kind: adt.IntKind},
127 {Kind: adt.IntKind},
128 {Kind: adt.IntKind},
129 },
130 Result: adt.StringKind,
131 Func: func(c *pkg.CallCtxt) {
132 f, fmt, prec, bitSize := c.Float64(0), c.Byte(1), c.Int(2), c.Int(3)
133 if c.Do() {
134 c.Ret = FormatFloat(f, fmt, prec, bitSize)
135 }
136 },
137 }, {
138 Name: "FormatUint",
139 Params: []pkg.Param{
140 {Kind: adt.IntKind},
141 {Kind: adt.IntKind},
142 },
143 Result: adt.StringKind,
144 Func: func(c *pkg.CallCtxt) {
145 i, base := c.BigInt(0), c.Int(1)
146 if c.Do() {
147 c.Ret = FormatUint(i, base)
148 }
149 },
150 }, {
151 Name: "FormatInt",
152 Params: []pkg.Param{
153 {Kind: adt.IntKind},
154 {Kind: adt.IntKind},
155 },
156 Result: adt.StringKind,
157 Func: func(c *pkg.CallCtxt) {
158 i, base := c.BigInt(0), c.Int(1)
159 if c.Do() {
160 c.Ret = FormatInt(i, base)
161 }
162 },
163 }, {
164 Name: "Quote",
165 Params: []pkg.Param{
166 {Kind: adt.StringKind},
167 },
168 Result: adt.StringKind,
169 Func: func(c *pkg.CallCtxt) {
170 s := c.String(0)
171 if c.Do() {
172 c.Ret = Quote(s)
173 }
174 },
175 }, {
176 Name: "QuoteToASCII",
177 Params: []pkg.Param{
178 {Kind: adt.StringKind},
179 },
180 Result: adt.StringKind,
181 Func: func(c *pkg.CallCtxt) {
182 s := c.String(0)
183 if c.Do() {
184 c.Ret = QuoteToASCII(s)
185 }
186 },
187 }, {
188 Name: "QuoteToGraphic",
189 Params: []pkg.Param{
190 {Kind: adt.StringKind},
191 },
192 Result: adt.StringKind,
193 Func: func(c *pkg.CallCtxt) {
194 s := c.String(0)
195 if c.Do() {
196 c.Ret = QuoteToGraphic(s)
197 }
198 },
199 }, {
200 Name: "QuoteRune",
201 Params: []pkg.Param{
202 {Kind: adt.IntKind},
203 },
204 Result: adt.StringKind,
205 Func: func(c *pkg.CallCtxt) {
206 r := c.Rune(0)
207 if c.Do() {
208 c.Ret = QuoteRune(r)
209 }
210 },
211 }, {
212 Name: "QuoteRuneToASCII",
213 Params: []pkg.Param{
214 {Kind: adt.IntKind},
215 },
216 Result: adt.StringKind,
217 Func: func(c *pkg.CallCtxt) {
218 r := c.Rune(0)
219 if c.Do() {
220 c.Ret = QuoteRuneToASCII(r)
221 }
222 },
223 }, {
224 Name: "QuoteRuneToGraphic",
225 Params: []pkg.Param{
226 {Kind: adt.IntKind},
227 },
228 Result: adt.StringKind,
229 Func: func(c *pkg.CallCtxt) {
230 r := c.Rune(0)
231 if c.Do() {
232 c.Ret = QuoteRuneToGraphic(r)
233 }
234 },
235 }, {
236 Name: "IsPrint",
237 Params: []pkg.Param{
238 {Kind: adt.IntKind},
239 },
240 Result: adt.BoolKind,
241 Func: func(c *pkg.CallCtxt) {
242 r := c.Rune(0)
243 if c.Do() {
244 c.Ret = IsPrint(r)
245 }
246 },
247 }, {
248 Name: "IsGraphic",
249 Params: []pkg.Param{
250 {Kind: adt.IntKind},
251 },
252 Result: adt.BoolKind,
253 Func: func(c *pkg.CallCtxt) {
254 r := c.Rune(0)
255 if c.Do() {
256 c.Ret = IsGraphic(r)
257 }
258 },
259 }},
260 }
261
View as plain text