/src/CMake/Utilities/cmllpkgc/llpkgc_dep__internal.c
Line | Count | Source |
1 | | /* Distributed under the OSI-approved BSD 3-Clause License. |
2 | | See accompanying file LICENSE.rst for details. */ |
3 | | /* This code was generated by llpkgc, do not edit it by hand |
4 | | See: https://gitlab.kitware.com/utils/llpkgc */ |
5 | | |
6 | | |
7 | | #include <stdlib.h> |
8 | | #include <stdint.h> |
9 | | #include <string.h> |
10 | | |
11 | | #ifdef __SSE4_2__ |
12 | | #ifdef _MSC_VER |
13 | | #include <nmmintrin.h> |
14 | | #else /* !_MSC_VER */ |
15 | | #include <x86intrin.h> |
16 | | #endif /* _MSC_VER */ |
17 | | #endif /* __SSE4_2__ */ |
18 | | |
19 | | #if defined(__ARM_NEON__) || defined(__ARM_NEON) |
20 | | #include <arm_neon.h> |
21 | | #endif /* __ARM_NEON__ */ |
22 | | |
23 | | #ifdef __wasm__ |
24 | | #include <wasm_simd128.h> |
25 | | #endif /* __wasm__ */ |
26 | | |
27 | | #ifdef _MSC_VER |
28 | | #define ALIGN(n) _declspec(align(n)) |
29 | | #define UNREACHABLE __assume(0) |
30 | | #else /* !_MSC_VER */ |
31 | | #define ALIGN(n) __attribute__((aligned(n))) |
32 | 0 | #define UNREACHABLE __builtin_unreachable() |
33 | | #endif /* _MSC_VER */ |
34 | | |
35 | | #include "llpkgc_dep__internal.h" |
36 | | |
37 | | typedef int (*llpkgc_dep__internal__span_cb)( |
38 | | llpkgc_dep__internal_t*, const char*, const char*); |
39 | | |
40 | | enum llparse_state_e { |
41 | | s_error, |
42 | | s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete, |
43 | | s_n_llpkgc_dep__internal__n_version, |
44 | | s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_version, |
45 | | s_n_llpkgc_dep__internal__n_before_version, |
46 | | s_n_llpkgc_dep__internal__n_unknown_operator, |
47 | | s_n_llpkgc_dep__internal__n_operator_end, |
48 | | s_n_llpkgc_dep__internal__n_not, |
49 | | s_n_llpkgc_dep__internal__n_less_than, |
50 | | s_n_llpkgc_dep__internal__n_greater_than, |
51 | | s_n_llpkgc_dep__internal__n_operator, |
52 | | s_n_llpkgc_dep__internal__n_invoke_update_finish_2, |
53 | | s_n_llpkgc_dep__internal__n_after_name, |
54 | | s_n_llpkgc_dep__internal__n_invoke_update_finish_1, |
55 | | s_n_llpkgc_dep__internal__n_invoke_update_finish_21, |
56 | | s_n_llpkgc_dep__internal__n_name, |
57 | | s_n_llpkgc_dep__internal__n_first_name_character, |
58 | | s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_name, |
59 | | s_n_llpkgc_dep__internal__n_start, |
60 | | }; |
61 | | typedef enum llparse_state_e llparse_state_t; |
62 | | |
63 | | int llpkgc_dep__on_dep_name( |
64 | | llpkgc_dep__internal_t* s, const unsigned char* p, |
65 | | const unsigned char* endp); |
66 | | |
67 | | int llpkgc_dep__on_dep_version( |
68 | | llpkgc_dep__internal_t* s, const unsigned char* p, |
69 | | const unsigned char* endp); |
70 | | |
71 | | int llpkgc_dep__internal__c_update_comparator( |
72 | | llpkgc_dep__internal_t* state, |
73 | | const unsigned char* p, |
74 | 37.0M | const unsigned char* endp) { |
75 | 37.0M | state->comparator = 0; |
76 | 37.0M | return 0; |
77 | 37.0M | } |
78 | | |
79 | | int llpkgc_dep__internal__c_update_finish( |
80 | | llpkgc_dep__internal_t* state, |
81 | | const unsigned char* p, |
82 | 104M | const unsigned char* endp) { |
83 | 104M | state->finish = 1; |
84 | 104M | return 0; |
85 | 104M | } |
86 | | |
87 | | int llpkgc_dep__on_dep_complete( |
88 | | llpkgc_dep__internal_t* s, const unsigned char* p, |
89 | | const unsigned char* endp); |
90 | | |
91 | | int llpkgc_dep__internal__c_update_finish_6( |
92 | | llpkgc_dep__internal_t* state, |
93 | | const unsigned char* p, |
94 | 34.6M | const unsigned char* endp) { |
95 | 34.6M | state->finish = 0; |
96 | 34.6M | return 0; |
97 | 34.6M | } |
98 | | |
99 | | int llpkgc_dep__internal__c_update_comparator_3( |
100 | | llpkgc_dep__internal_t* state, |
101 | | const unsigned char* p, |
102 | 471k | const unsigned char* endp) { |
103 | 471k | state->comparator = 4; |
104 | 471k | return 0; |
105 | 471k | } |
106 | | |
107 | | int llpkgc_dep__internal__c_update_comparator_5( |
108 | | llpkgc_dep__internal_t* state, |
109 | | const unsigned char* p, |
110 | 1.80M | const unsigned char* endp) { |
111 | 1.80M | state->comparator = 1; |
112 | 1.80M | return 0; |
113 | 1.80M | } |
114 | | |
115 | | int llpkgc_dep__internal__c_update_comparator_7( |
116 | | llpkgc_dep__internal_t* state, |
117 | | const unsigned char* p, |
118 | 123k | const unsigned char* endp) { |
119 | 123k | state->comparator = 2; |
120 | 123k | return 0; |
121 | 123k | } |
122 | | |
123 | | int llpkgc_dep__internal__c_update_comparator_8( |
124 | | llpkgc_dep__internal_t* state, |
125 | | const unsigned char* p, |
126 | 4.91M | const unsigned char* endp) { |
127 | 4.91M | state->comparator = 3; |
128 | 4.91M | return 0; |
129 | 4.91M | } |
130 | | |
131 | | int llpkgc_dep__internal__c_update_comparator_9( |
132 | | llpkgc_dep__internal_t* state, |
133 | | const unsigned char* p, |
134 | 1.25M | const unsigned char* endp) { |
135 | 1.25M | state->comparator = 5; |
136 | 1.25M | return 0; |
137 | 1.25M | } |
138 | | |
139 | | int llpkgc_dep__internal__c_update_comparator_11( |
140 | | llpkgc_dep__internal_t* state, |
141 | | const unsigned char* p, |
142 | 155k | const unsigned char* endp) { |
143 | 155k | state->comparator = 6; |
144 | 155k | return 0; |
145 | 155k | } |
146 | | |
147 | 2.94k | int llpkgc_dep__internal_init(llpkgc_dep__internal_t* state) { |
148 | 2.94k | memset(state, 0, sizeof(*state)); |
149 | 2.94k | state->_current = (void*) (intptr_t) s_n_llpkgc_dep__internal__n_start; |
150 | 2.94k | return 0; |
151 | 2.94k | } |
152 | | |
153 | | static llparse_state_t llpkgc_dep__internal__run( |
154 | | llpkgc_dep__internal_t* state, |
155 | | const unsigned char* p, |
156 | 2.81k | const unsigned char* endp) { |
157 | 2.81k | int match; |
158 | 2.81k | switch ((llparse_state_t) (intptr_t) state->_current) { |
159 | 0 | case s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete: |
160 | 34.6M | s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete: { |
161 | 34.6M | switch (llpkgc_dep__on_dep_complete(state, p, endp)) { |
162 | 34.6M | case 0: |
163 | 34.6M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_6; |
164 | 0 | case 5: |
165 | 0 | goto s_n_llpkgc_dep__internal__n_error_1; |
166 | 0 | default: |
167 | 0 | goto s_n_llpkgc_dep__internal__n_error; |
168 | 34.6M | } |
169 | 34.6M | UNREACHABLE; |
170 | 34.6M | } |
171 | 0 | case s_n_llpkgc_dep__internal__n_version: |
172 | 128M | s_n_llpkgc_dep__internal__n_version: { |
173 | 128M | if (p == endp) { |
174 | 1.16k | return s_n_llpkgc_dep__internal__n_version; |
175 | 1.16k | } |
176 | 128M | switch (*p) { |
177 | 1.79M | case 9: { |
178 | 1.79M | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version; |
179 | 0 | } |
180 | 0 | case 10: { |
181 | 0 | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version; |
182 | 0 | } |
183 | 47.2k | case 11: { |
184 | 47.2k | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version; |
185 | 0 | } |
186 | 31.6k | case 12: { |
187 | 31.6k | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version; |
188 | 0 | } |
189 | 0 | case 13: { |
190 | 0 | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version; |
191 | 0 | } |
192 | 7.26M | case ' ': { |
193 | 7.26M | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version; |
194 | 0 | } |
195 | 514k | case ',': { |
196 | 514k | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version; |
197 | 0 | } |
198 | 119M | default: { |
199 | 119M | p++; |
200 | 119M | goto s_n_llpkgc_dep__internal__n_version; |
201 | 0 | } |
202 | 128M | } |
203 | 128M | UNREACHABLE; |
204 | 128M | } |
205 | 0 | case s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_version: |
206 | 9.65M | s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_version: { |
207 | 9.65M | if (p == endp) { |
208 | 0 | return s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_version; |
209 | 0 | } |
210 | 9.65M | state->_span_pos0 = (void*) p; |
211 | 9.65M | state->_span_cb0 = llpkgc_dep__on_dep_version; |
212 | 9.65M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_7; |
213 | 9.65M | UNREACHABLE; |
214 | 9.65M | } |
215 | 0 | case s_n_llpkgc_dep__internal__n_before_version: |
216 | 13.2M | s_n_llpkgc_dep__internal__n_before_version: { |
217 | 13.2M | if (p == endp) { |
218 | 20 | return s_n_llpkgc_dep__internal__n_before_version; |
219 | 20 | } |
220 | 13.2M | switch (*p) { |
221 | 1.24M | case 9: { |
222 | 1.24M | p++; |
223 | 1.24M | goto s_n_llpkgc_dep__internal__n_before_version; |
224 | 0 | } |
225 | 0 | case 10: { |
226 | 0 | p++; |
227 | 0 | goto s_n_llpkgc_dep__internal__n_before_version; |
228 | 0 | } |
229 | 3.24k | case 11: { |
230 | 3.24k | p++; |
231 | 3.24k | goto s_n_llpkgc_dep__internal__n_before_version; |
232 | 0 | } |
233 | 38.9k | case 12: { |
234 | 38.9k | p++; |
235 | 38.9k | goto s_n_llpkgc_dep__internal__n_before_version; |
236 | 0 | } |
237 | 0 | case 13: { |
238 | 0 | p++; |
239 | 0 | goto s_n_llpkgc_dep__internal__n_before_version; |
240 | 0 | } |
241 | 2.25M | case ' ': { |
242 | 2.25M | p++; |
243 | 2.25M | goto s_n_llpkgc_dep__internal__n_before_version; |
244 | 0 | } |
245 | 51.4k | case ',': { |
246 | 51.4k | goto s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete; |
247 | 0 | } |
248 | 9.65M | default: { |
249 | 9.65M | goto s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_version; |
250 | 0 | } |
251 | 13.2M | } |
252 | 13.2M | UNREACHABLE; |
253 | 13.2M | } |
254 | 0 | case s_n_llpkgc_dep__internal__n_unknown_operator: |
255 | 1.65M | s_n_llpkgc_dep__internal__n_unknown_operator: { |
256 | 1.65M | if (p == endp) { |
257 | 145 | return s_n_llpkgc_dep__internal__n_unknown_operator; |
258 | 145 | } |
259 | 1.65M | switch (*p) { |
260 | 144k | case '!': { |
261 | 144k | p++; |
262 | 144k | goto s_n_llpkgc_dep__internal__n_unknown_operator; |
263 | 0 | } |
264 | 23.8k | case '<': { |
265 | 23.8k | p++; |
266 | 23.8k | goto s_n_llpkgc_dep__internal__n_unknown_operator; |
267 | 0 | } |
268 | 213k | case '=': { |
269 | 213k | p++; |
270 | 213k | goto s_n_llpkgc_dep__internal__n_unknown_operator; |
271 | 0 | } |
272 | 572k | case '>': { |
273 | 572k | p++; |
274 | 572k | goto s_n_llpkgc_dep__internal__n_unknown_operator; |
275 | 0 | } |
276 | 696k | default: { |
277 | 696k | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_5; |
278 | 0 | } |
279 | 1.65M | } |
280 | 1.65M | UNREACHABLE; |
281 | 1.65M | } |
282 | 0 | case s_n_llpkgc_dep__internal__n_operator_end: |
283 | 5.66M | s_n_llpkgc_dep__internal__n_operator_end: { |
284 | 5.66M | if (p == endp) { |
285 | 140 | return s_n_llpkgc_dep__internal__n_operator_end; |
286 | 140 | } |
287 | 5.66M | switch (*p) { |
288 | 85.4k | case '!': { |
289 | 85.4k | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_4; |
290 | 0 | } |
291 | 9.51k | case '<': { |
292 | 9.51k | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_4; |
293 | 0 | } |
294 | 15.5k | case '=': { |
295 | 15.5k | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_4; |
296 | 0 | } |
297 | 466 | case '>': { |
298 | 466 | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_4; |
299 | 0 | } |
300 | 5.55M | default: { |
301 | 5.55M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_10; |
302 | 0 | } |
303 | 5.66M | } |
304 | 5.66M | UNREACHABLE; |
305 | 5.66M | } |
306 | 0 | case s_n_llpkgc_dep__internal__n_not: |
307 | 1.72M | s_n_llpkgc_dep__internal__n_not: { |
308 | 1.72M | if (p == endp) { |
309 | 40 | return s_n_llpkgc_dep__internal__n_not; |
310 | 40 | } |
311 | 1.72M | switch (*p) { |
312 | 4.74k | case '!': { |
313 | 4.74k | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_2; |
314 | 0 | } |
315 | 633 | case '<': { |
316 | 633 | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_2; |
317 | 0 | } |
318 | 471k | case '=': { |
319 | 471k | p++; |
320 | 471k | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_3; |
321 | 0 | } |
322 | 564k | case '>': { |
323 | 564k | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_2; |
324 | 0 | } |
325 | 687k | default: { |
326 | 687k | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_11; |
327 | 0 | } |
328 | 1.72M | } |
329 | 1.72M | UNREACHABLE; |
330 | 1.72M | } |
331 | 0 | case s_n_llpkgc_dep__internal__n_less_than: |
332 | 1.80M | s_n_llpkgc_dep__internal__n_less_than: { |
333 | 1.80M | if (p == endp) { |
334 | 38 | return s_n_llpkgc_dep__internal__n_less_than; |
335 | 38 | } |
336 | 1.80M | switch (*p) { |
337 | 3.68k | case '!': { |
338 | 3.68k | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_6; |
339 | 0 | } |
340 | 2.60k | case '<': { |
341 | 2.60k | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_6; |
342 | 0 | } |
343 | 123k | case '=': { |
344 | 123k | p++; |
345 | 123k | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_7; |
346 | 0 | } |
347 | 3.19k | case '>': { |
348 | 3.19k | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_6; |
349 | 0 | } |
350 | 1.67M | default: { |
351 | 1.67M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_15; |
352 | 0 | } |
353 | 1.80M | } |
354 | 1.80M | UNREACHABLE; |
355 | 1.80M | } |
356 | 0 | case s_n_llpkgc_dep__internal__n_greater_than: |
357 | 1.25M | s_n_llpkgc_dep__internal__n_greater_than: { |
358 | 1.25M | if (p == endp) { |
359 | 88 | return s_n_llpkgc_dep__internal__n_greater_than; |
360 | 88 | } |
361 | 1.25M | switch (*p) { |
362 | 660 | case '!': { |
363 | 660 | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_10; |
364 | 0 | } |
365 | 4.38k | case '<': { |
366 | 4.38k | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_10; |
367 | 0 | } |
368 | 155k | case '=': { |
369 | 155k | p++; |
370 | 155k | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_11; |
371 | 0 | } |
372 | 2.13k | case '>': { |
373 | 2.13k | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_10; |
374 | 0 | } |
375 | 1.09M | default: { |
376 | 1.09M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_20; |
377 | 0 | } |
378 | 1.25M | } |
379 | 1.25M | UNREACHABLE; |
380 | 1.25M | } |
381 | 0 | case s_n_llpkgc_dep__internal__n_operator: |
382 | 9.70M | s_n_llpkgc_dep__internal__n_operator: { |
383 | 9.70M | if (p == endp) { |
384 | 0 | return s_n_llpkgc_dep__internal__n_operator; |
385 | 0 | } |
386 | 9.70M | switch (*p) { |
387 | 1.72M | case '!': { |
388 | 1.72M | p++; |
389 | 1.72M | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_1; |
390 | 0 | } |
391 | 1.80M | case '<': { |
392 | 1.80M | p++; |
393 | 1.80M | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_5; |
394 | 0 | } |
395 | 4.91M | case '=': { |
396 | 4.91M | p++; |
397 | 4.91M | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_8; |
398 | 0 | } |
399 | 1.25M | case '>': { |
400 | 1.25M | p++; |
401 | 1.25M | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_9; |
402 | 0 | } |
403 | 0 | default: { |
404 | 0 | goto s_n_llpkgc_dep__internal__n_error_2; |
405 | 0 | } |
406 | 9.70M | } |
407 | 9.70M | UNREACHABLE; |
408 | 9.70M | } |
409 | 0 | case s_n_llpkgc_dep__internal__n_invoke_update_finish_2: |
410 | 9.70M | s_n_llpkgc_dep__internal__n_invoke_update_finish_2: { |
411 | 9.70M | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
412 | 9.70M | default: |
413 | 9.70M | goto s_n_llpkgc_dep__internal__n_operator; |
414 | 9.70M | } |
415 | 9.70M | UNREACHABLE; |
416 | 9.70M | } |
417 | 0 | case s_n_llpkgc_dep__internal__n_after_name: |
418 | 63.1M | s_n_llpkgc_dep__internal__n_after_name: { |
419 | 63.1M | if (p == endp) { |
420 | 31 | return s_n_llpkgc_dep__internal__n_after_name; |
421 | 31 | } |
422 | 63.1M | switch (*p) { |
423 | 9.77M | case 9: { |
424 | 9.77M | p++; |
425 | 9.77M | goto s_n_llpkgc_dep__internal__n_after_name; |
426 | 0 | } |
427 | 0 | case 10: { |
428 | 0 | p++; |
429 | 0 | goto s_n_llpkgc_dep__internal__n_after_name; |
430 | 0 | } |
431 | 86.5k | case 11: { |
432 | 86.5k | p++; |
433 | 86.5k | goto s_n_llpkgc_dep__internal__n_after_name; |
434 | 0 | } |
435 | 239k | case 12: { |
436 | 239k | p++; |
437 | 239k | goto s_n_llpkgc_dep__internal__n_after_name; |
438 | 0 | } |
439 | 0 | case 13: { |
440 | 0 | p++; |
441 | 0 | goto s_n_llpkgc_dep__internal__n_after_name; |
442 | 0 | } |
443 | 23.7M | case ' ': { |
444 | 23.7M | p++; |
445 | 23.7M | goto s_n_llpkgc_dep__internal__n_after_name; |
446 | 0 | } |
447 | 781k | case '!': { |
448 | 781k | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_2; |
449 | 0 | } |
450 | 1.21M | case '<': { |
451 | 1.21M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_2; |
452 | 0 | } |
453 | 1.58M | case '=': { |
454 | 1.58M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_2; |
455 | 0 | } |
456 | 732k | case '>': { |
457 | 732k | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_2; |
458 | 0 | } |
459 | 24.9M | default: { |
460 | 24.9M | goto s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete; |
461 | 0 | } |
462 | 63.1M | } |
463 | 63.1M | UNREACHABLE; |
464 | 63.1M | } |
465 | 0 | case s_n_llpkgc_dep__internal__n_invoke_update_finish_1: |
466 | 3.25M | s_n_llpkgc_dep__internal__n_invoke_update_finish_1: { |
467 | 3.25M | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
468 | 3.25M | default: |
469 | 3.25M | goto s_n_llpkgc_dep__internal__n_after_name; |
470 | 3.25M | } |
471 | 3.25M | UNREACHABLE; |
472 | 3.25M | } |
473 | 0 | case s_n_llpkgc_dep__internal__n_invoke_update_finish_21: |
474 | 26.0M | s_n_llpkgc_dep__internal__n_invoke_update_finish_21: { |
475 | 26.0M | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
476 | 26.0M | default: |
477 | 26.0M | goto s_n_llpkgc_dep__internal__n_after_name; |
478 | 26.0M | } |
479 | 26.0M | UNREACHABLE; |
480 | 26.0M | } |
481 | 0 | case s_n_llpkgc_dep__internal__n_name: |
482 | 218M | s_n_llpkgc_dep__internal__n_name: { |
483 | 218M | if (p == endp) { |
484 | 968 | return s_n_llpkgc_dep__internal__n_name; |
485 | 968 | } |
486 | 218M | switch (*p) { |
487 | 8.79M | case 9: { |
488 | 8.79M | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1; |
489 | 0 | } |
490 | 0 | case 10: { |
491 | 0 | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1; |
492 | 0 | } |
493 | 65.2k | case 11: { |
494 | 65.2k | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1; |
495 | 0 | } |
496 | 62.5k | case 12: { |
497 | 62.5k | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1; |
498 | 0 | } |
499 | 0 | case 13: { |
500 | 0 | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1; |
501 | 0 | } |
502 | 16.5M | case ' ': { |
503 | 16.5M | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1; |
504 | 0 | } |
505 | 947k | case '!': { |
506 | 947k | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_2; |
507 | 0 | } |
508 | 507k | case ',': { |
509 | 507k | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1; |
510 | 0 | } |
511 | 592k | case '<': { |
512 | 592k | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_2; |
513 | 0 | } |
514 | 3.32M | case '=': { |
515 | 3.32M | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_2; |
516 | 0 | } |
517 | 527k | case '>': { |
518 | 527k | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_2; |
519 | 0 | } |
520 | 187M | default: { |
521 | 187M | p++; |
522 | 187M | goto s_n_llpkgc_dep__internal__n_name; |
523 | 0 | } |
524 | 218M | } |
525 | 218M | UNREACHABLE; |
526 | 218M | } |
527 | 0 | case s_n_llpkgc_dep__internal__n_first_name_character: |
528 | 39.5M | s_n_llpkgc_dep__internal__n_first_name_character: { |
529 | 39.5M | if (p == endp) { |
530 | 101 | return s_n_llpkgc_dep__internal__n_first_name_character; |
531 | 101 | } |
532 | 39.5M | switch (*p) { |
533 | 419k | case 9: { |
534 | 419k | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name; |
535 | 0 | } |
536 | 0 | case 10: { |
537 | 0 | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name; |
538 | 0 | } |
539 | 3.07k | case 11: { |
540 | 3.07k | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name; |
541 | 0 | } |
542 | 3.98k | case 12: { |
543 | 3.98k | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name; |
544 | 0 | } |
545 | 0 | case 13: { |
546 | 0 | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name; |
547 | 0 | } |
548 | 2.75M | case ' ': { |
549 | 2.75M | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name; |
550 | 0 | } |
551 | 735k | case '!': { |
552 | 735k | p++; |
553 | 735k | goto s_n_llpkgc_dep__internal__n_first_name_character; |
554 | 0 | } |
555 | 74.2k | case ',': { |
556 | 74.2k | goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name; |
557 | 0 | } |
558 | 109k | case '<': { |
559 | 109k | p++; |
560 | 109k | goto s_n_llpkgc_dep__internal__n_first_name_character; |
561 | 0 | } |
562 | 2.72M | case '=': { |
563 | 2.72M | p++; |
564 | 2.72M | goto s_n_llpkgc_dep__internal__n_first_name_character; |
565 | 0 | } |
566 | 1.27M | case '>': { |
567 | 1.27M | p++; |
568 | 1.27M | goto s_n_llpkgc_dep__internal__n_first_name_character; |
569 | 0 | } |
570 | 31.4M | default: { |
571 | 31.4M | goto s_n_llpkgc_dep__internal__n_name; |
572 | 0 | } |
573 | 39.5M | } |
574 | 39.5M | UNREACHABLE; |
575 | 39.5M | } |
576 | 0 | case s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_name: |
577 | 34.6M | s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_name: { |
578 | 34.6M | if (p == endp) { |
579 | 0 | return s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_name; |
580 | 0 | } |
581 | 34.6M | state->_span_pos0 = (void*) p; |
582 | 34.6M | state->_span_cb0 = llpkgc_dep__on_dep_name; |
583 | 34.6M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish; |
584 | 34.6M | UNREACHABLE; |
585 | 34.6M | } |
586 | 2.81k | case s_n_llpkgc_dep__internal__n_start: |
587 | 48.8M | s_n_llpkgc_dep__internal__n_start: { |
588 | 48.8M | if (p == endp) { |
589 | 77 | return s_n_llpkgc_dep__internal__n_start; |
590 | 77 | } |
591 | 48.8M | switch (*p) { |
592 | 2.78M | case 9: { |
593 | 2.78M | p++; |
594 | 2.78M | goto s_n_llpkgc_dep__internal__n_start; |
595 | 0 | } |
596 | 0 | case 10: { |
597 | 0 | p++; |
598 | 0 | goto s_n_llpkgc_dep__internal__n_start; |
599 | 0 | } |
600 | 64.3k | case 11: { |
601 | 64.3k | p++; |
602 | 64.3k | goto s_n_llpkgc_dep__internal__n_start; |
603 | 0 | } |
604 | 106k | case 12: { |
605 | 106k | p++; |
606 | 106k | goto s_n_llpkgc_dep__internal__n_start; |
607 | 0 | } |
608 | 0 | case 13: { |
609 | 0 | p++; |
610 | 0 | goto s_n_llpkgc_dep__internal__n_start; |
611 | 0 | } |
612 | 9.46M | case ' ': { |
613 | 9.46M | p++; |
614 | 9.46M | goto s_n_llpkgc_dep__internal__n_start; |
615 | 0 | } |
616 | 1.78M | case ',': { |
617 | 1.78M | p++; |
618 | 1.78M | goto s_n_llpkgc_dep__internal__n_start; |
619 | 0 | } |
620 | 34.6M | default: { |
621 | 34.6M | goto s_n_llpkgc_dep__internal__n_invoke_update_comparator; |
622 | 0 | } |
623 | 48.8M | } |
624 | 48.8M | UNREACHABLE; |
625 | 48.8M | } |
626 | 0 | default: |
627 | 0 | UNREACHABLE; |
628 | 2.81k | } |
629 | 34.6M | s_n_llpkgc_dep__internal__n_invoke_update_finish_6: { |
630 | 34.6M | switch (llpkgc_dep__internal__c_update_finish_6(state, p, endp)) { |
631 | 34.6M | default: |
632 | 34.6M | goto s_n_llpkgc_dep__internal__n_start; |
633 | 34.6M | } |
634 | 34.6M | UNREACHABLE; |
635 | 34.6M | } |
636 | 0 | s_n_llpkgc_dep__internal__n_error_1: { |
637 | 0 | state->error = 0x5; |
638 | 0 | state->reason = "Internal parser error"; |
639 | 0 | state->error_pos = (const char*) p; |
640 | 0 | state->_current = (void*) (intptr_t) s_error; |
641 | 0 | return s_error; |
642 | 34.6M | UNREACHABLE; |
643 | 34.6M | } |
644 | 0 | s_n_llpkgc_dep__internal__n_error: { |
645 | 0 | state->error = 0x2; |
646 | 0 | state->reason = "Callback error"; |
647 | 0 | state->error_pos = (const char*) p; |
648 | 0 | state->_current = (void*) (intptr_t) s_error; |
649 | 0 | return s_error; |
650 | 34.6M | UNREACHABLE; |
651 | 34.6M | } |
652 | 9.65M | s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version: { |
653 | 9.65M | const unsigned char* start; |
654 | 9.65M | int err; |
655 | | |
656 | 9.65M | start = state->_span_pos0; |
657 | 9.65M | state->_span_pos0 = NULL; |
658 | 9.65M | err = llpkgc_dep__on_dep_version(state, start, p); |
659 | 9.65M | if (err != 0) { |
660 | 0 | state->error = err; |
661 | 0 | state->error_pos = (const char*) p; |
662 | 0 | state->_current = (void*) (intptr_t) s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete; |
663 | 0 | return s_error; |
664 | 0 | } |
665 | 9.65M | goto s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete; |
666 | 9.65M | UNREACHABLE; |
667 | 9.65M | } |
668 | 9.65M | s_n_llpkgc_dep__internal__n_invoke_update_finish_7: { |
669 | 9.65M | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
670 | 9.65M | default: |
671 | 9.65M | goto s_n_llpkgc_dep__internal__n_version; |
672 | 9.65M | } |
673 | 9.65M | UNREACHABLE; |
674 | 9.65M | } |
675 | 696k | s_n_llpkgc_dep__internal__n_invoke_update_finish_5: { |
676 | 696k | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
677 | 696k | default: |
678 | 696k | goto s_n_llpkgc_dep__internal__n_before_version; |
679 | 696k | } |
680 | 696k | UNREACHABLE; |
681 | 696k | } |
682 | 569k | s_n_llpkgc_dep__internal__n_invoke_update_finish_4: { |
683 | 569k | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
684 | 569k | default: |
685 | 569k | goto s_n_llpkgc_dep__internal__n_unknown_operator; |
686 | 569k | } |
687 | 569k | UNREACHABLE; |
688 | 569k | } |
689 | 569k | s_n_llpkgc_dep__internal__n_invoke_update_comparator_2: { |
690 | 569k | switch (llpkgc_dep__internal__c_update_comparator(state, p, endp)) { |
691 | 569k | default: |
692 | 569k | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_4; |
693 | 569k | } |
694 | 569k | UNREACHABLE; |
695 | 569k | } |
696 | 110k | s_n_llpkgc_dep__internal__n_invoke_update_finish_9: { |
697 | 110k | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
698 | 110k | default: |
699 | 110k | goto s_n_llpkgc_dep__internal__n_unknown_operator; |
700 | 110k | } |
701 | 110k | UNREACHABLE; |
702 | 110k | } |
703 | 110k | s_n_llpkgc_dep__internal__n_invoke_update_comparator_4: { |
704 | 110k | switch (llpkgc_dep__internal__c_update_comparator(state, p, endp)) { |
705 | 110k | default: |
706 | 110k | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_9; |
707 | 110k | } |
708 | 110k | UNREACHABLE; |
709 | 110k | } |
710 | 5.55M | s_n_llpkgc_dep__internal__n_invoke_update_finish_10: { |
711 | 5.55M | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
712 | 5.55M | default: |
713 | 5.55M | goto s_n_llpkgc_dep__internal__n_before_version; |
714 | 5.55M | } |
715 | 5.55M | UNREACHABLE; |
716 | 5.55M | } |
717 | 471k | s_n_llpkgc_dep__internal__n_invoke_update_finish_8: { |
718 | 471k | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
719 | 471k | default: |
720 | 471k | goto s_n_llpkgc_dep__internal__n_operator_end; |
721 | 471k | } |
722 | 471k | UNREACHABLE; |
723 | 471k | } |
724 | 471k | s_n_llpkgc_dep__internal__n_invoke_update_comparator_3: { |
725 | 471k | switch (llpkgc_dep__internal__c_update_comparator_3(state, p, endp)) { |
726 | 471k | default: |
727 | 471k | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_8; |
728 | 471k | } |
729 | 471k | UNREACHABLE; |
730 | 471k | } |
731 | 687k | s_n_llpkgc_dep__internal__n_invoke_update_finish_11: { |
732 | 687k | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
733 | 687k | default: |
734 | 687k | goto s_n_llpkgc_dep__internal__n_before_version; |
735 | 687k | } |
736 | 687k | UNREACHABLE; |
737 | 687k | } |
738 | 1.72M | s_n_llpkgc_dep__internal__n_invoke_update_finish_3: { |
739 | 1.72M | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
740 | 1.72M | default: |
741 | 1.72M | goto s_n_llpkgc_dep__internal__n_not; |
742 | 1.72M | } |
743 | 1.72M | UNREACHABLE; |
744 | 1.72M | } |
745 | 1.72M | s_n_llpkgc_dep__internal__n_invoke_update_comparator_1: { |
746 | 1.72M | switch (llpkgc_dep__internal__c_update_comparator(state, p, endp)) { |
747 | 1.72M | default: |
748 | 1.72M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_3; |
749 | 1.72M | } |
750 | 1.72M | UNREACHABLE; |
751 | 1.72M | } |
752 | 9.49k | s_n_llpkgc_dep__internal__n_invoke_update_finish_13: { |
753 | 9.49k | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
754 | 9.49k | default: |
755 | 9.49k | goto s_n_llpkgc_dep__internal__n_unknown_operator; |
756 | 9.49k | } |
757 | 9.49k | UNREACHABLE; |
758 | 9.49k | } |
759 | 9.49k | s_n_llpkgc_dep__internal__n_invoke_update_comparator_6: { |
760 | 9.49k | switch (llpkgc_dep__internal__c_update_comparator(state, p, endp)) { |
761 | 9.49k | default: |
762 | 9.49k | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_13; |
763 | 9.49k | } |
764 | 9.49k | UNREACHABLE; |
765 | 9.49k | } |
766 | 123k | s_n_llpkgc_dep__internal__n_invoke_update_finish_14: { |
767 | 123k | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
768 | 123k | default: |
769 | 123k | goto s_n_llpkgc_dep__internal__n_operator_end; |
770 | 123k | } |
771 | 123k | UNREACHABLE; |
772 | 123k | } |
773 | 123k | s_n_llpkgc_dep__internal__n_invoke_update_comparator_7: { |
774 | 123k | switch (llpkgc_dep__internal__c_update_comparator_7(state, p, endp)) { |
775 | 123k | default: |
776 | 123k | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_14; |
777 | 123k | } |
778 | 123k | UNREACHABLE; |
779 | 123k | } |
780 | 1.67M | s_n_llpkgc_dep__internal__n_invoke_update_finish_15: { |
781 | 1.67M | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
782 | 1.67M | default: |
783 | 1.67M | goto s_n_llpkgc_dep__internal__n_before_version; |
784 | 1.67M | } |
785 | 1.67M | UNREACHABLE; |
786 | 1.67M | } |
787 | 1.80M | s_n_llpkgc_dep__internal__n_invoke_update_finish_12: { |
788 | 1.80M | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
789 | 1.80M | default: |
790 | 1.80M | goto s_n_llpkgc_dep__internal__n_less_than; |
791 | 1.80M | } |
792 | 1.80M | UNREACHABLE; |
793 | 1.80M | } |
794 | 1.80M | s_n_llpkgc_dep__internal__n_invoke_update_comparator_5: { |
795 | 1.80M | switch (llpkgc_dep__internal__c_update_comparator_5(state, p, endp)) { |
796 | 1.80M | default: |
797 | 1.80M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_12; |
798 | 1.80M | } |
799 | 1.80M | UNREACHABLE; |
800 | 1.80M | } |
801 | 4.91M | s_n_llpkgc_dep__internal__n_invoke_update_finish_16: { |
802 | 4.91M | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
803 | 4.91M | default: |
804 | 4.91M | goto s_n_llpkgc_dep__internal__n_operator_end; |
805 | 4.91M | } |
806 | 4.91M | UNREACHABLE; |
807 | 4.91M | } |
808 | 4.91M | s_n_llpkgc_dep__internal__n_invoke_update_comparator_8: { |
809 | 4.91M | switch (llpkgc_dep__internal__c_update_comparator_8(state, p, endp)) { |
810 | 4.91M | default: |
811 | 4.91M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_16; |
812 | 4.91M | } |
813 | 4.91M | UNREACHABLE; |
814 | 4.91M | } |
815 | 7.17k | s_n_llpkgc_dep__internal__n_invoke_update_finish_18: { |
816 | 7.17k | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
817 | 7.17k | default: |
818 | 7.17k | goto s_n_llpkgc_dep__internal__n_unknown_operator; |
819 | 7.17k | } |
820 | 7.17k | UNREACHABLE; |
821 | 7.17k | } |
822 | 7.17k | s_n_llpkgc_dep__internal__n_invoke_update_comparator_10: { |
823 | 7.17k | switch (llpkgc_dep__internal__c_update_comparator(state, p, endp)) { |
824 | 7.17k | default: |
825 | 7.17k | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_18; |
826 | 7.17k | } |
827 | 7.17k | UNREACHABLE; |
828 | 7.17k | } |
829 | 155k | s_n_llpkgc_dep__internal__n_invoke_update_finish_19: { |
830 | 155k | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
831 | 155k | default: |
832 | 155k | goto s_n_llpkgc_dep__internal__n_operator_end; |
833 | 155k | } |
834 | 155k | UNREACHABLE; |
835 | 155k | } |
836 | 155k | s_n_llpkgc_dep__internal__n_invoke_update_comparator_11: { |
837 | 155k | switch (llpkgc_dep__internal__c_update_comparator_11(state, p, endp)) { |
838 | 155k | default: |
839 | 155k | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_19; |
840 | 155k | } |
841 | 155k | UNREACHABLE; |
842 | 155k | } |
843 | 1.09M | s_n_llpkgc_dep__internal__n_invoke_update_finish_20: { |
844 | 1.09M | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
845 | 1.09M | default: |
846 | 1.09M | goto s_n_llpkgc_dep__internal__n_before_version; |
847 | 1.09M | } |
848 | 1.09M | UNREACHABLE; |
849 | 1.09M | } |
850 | 1.25M | s_n_llpkgc_dep__internal__n_invoke_update_finish_17: { |
851 | 1.25M | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
852 | 1.25M | default: |
853 | 1.25M | goto s_n_llpkgc_dep__internal__n_greater_than; |
854 | 1.25M | } |
855 | 1.25M | UNREACHABLE; |
856 | 1.25M | } |
857 | 1.25M | s_n_llpkgc_dep__internal__n_invoke_update_comparator_9: { |
858 | 1.25M | switch (llpkgc_dep__internal__c_update_comparator_9(state, p, endp)) { |
859 | 1.25M | default: |
860 | 1.25M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_17; |
861 | 1.25M | } |
862 | 1.25M | UNREACHABLE; |
863 | 1.25M | } |
864 | 0 | s_n_llpkgc_dep__internal__n_error_2: { |
865 | 0 | state->error = 0x4; |
866 | 0 | state->reason = "Invalid dependency operator"; |
867 | 0 | state->error_pos = (const char*) p; |
868 | 0 | state->_current = (void*) (intptr_t) s_error; |
869 | 0 | return s_error; |
870 | 1.25M | UNREACHABLE; |
871 | 1.25M | } |
872 | 3.25M | s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name: { |
873 | 3.25M | const unsigned char* start; |
874 | 3.25M | int err; |
875 | | |
876 | 3.25M | start = state->_span_pos0; |
877 | 3.25M | state->_span_pos0 = NULL; |
878 | 3.25M | err = llpkgc_dep__on_dep_name(state, start, p); |
879 | 3.25M | if (err != 0) { |
880 | 0 | state->error = err; |
881 | 0 | state->error_pos = (const char*) p; |
882 | 0 | state->_current = (void*) (intptr_t) s_n_llpkgc_dep__internal__n_invoke_update_finish_1; |
883 | 0 | return s_error; |
884 | 0 | } |
885 | 3.25M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_1; |
886 | 3.25M | UNREACHABLE; |
887 | 3.25M | } |
888 | 26.0M | s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1: { |
889 | 26.0M | const unsigned char* start; |
890 | 26.0M | int err; |
891 | | |
892 | 26.0M | start = state->_span_pos0; |
893 | 26.0M | state->_span_pos0 = NULL; |
894 | 26.0M | err = llpkgc_dep__on_dep_name(state, start, p); |
895 | 26.0M | if (err != 0) { |
896 | 0 | state->error = err; |
897 | 0 | state->error_pos = (const char*) p; |
898 | 0 | state->_current = (void*) (intptr_t) s_n_llpkgc_dep__internal__n_invoke_update_finish_21; |
899 | 0 | return s_error; |
900 | 0 | } |
901 | 26.0M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_21; |
902 | 26.0M | UNREACHABLE; |
903 | 26.0M | } |
904 | 5.39M | s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_2: { |
905 | 5.39M | const unsigned char* start; |
906 | 5.39M | int err; |
907 | | |
908 | 5.39M | start = state->_span_pos0; |
909 | 5.39M | state->_span_pos0 = NULL; |
910 | 5.39M | err = llpkgc_dep__on_dep_name(state, start, p); |
911 | 5.39M | if (err != 0) { |
912 | 0 | state->error = err; |
913 | 0 | state->error_pos = (const char*) p; |
914 | 0 | state->_current = (void*) (intptr_t) s_n_llpkgc_dep__internal__n_invoke_update_finish_2; |
915 | 0 | return s_error; |
916 | 0 | } |
917 | 5.39M | goto s_n_llpkgc_dep__internal__n_invoke_update_finish_2; |
918 | 5.39M | UNREACHABLE; |
919 | 5.39M | } |
920 | 34.6M | s_n_llpkgc_dep__internal__n_invoke_update_finish: { |
921 | 34.6M | switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) { |
922 | 34.6M | default: |
923 | 34.6M | goto s_n_llpkgc_dep__internal__n_first_name_character; |
924 | 34.6M | } |
925 | 34.6M | UNREACHABLE; |
926 | 34.6M | } |
927 | 34.6M | s_n_llpkgc_dep__internal__n_invoke_update_comparator: { |
928 | 34.6M | switch (llpkgc_dep__internal__c_update_comparator(state, p, endp)) { |
929 | 34.6M | default: |
930 | 34.6M | goto s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_name; |
931 | 34.6M | } |
932 | 34.6M | UNREACHABLE; |
933 | 34.6M | } |
934 | 34.6M | } |
935 | | |
936 | 2.81k | int llpkgc_dep__internal_execute(llpkgc_dep__internal_t* state, const char* p, const char* endp) { |
937 | 2.81k | llparse_state_t next; |
938 | | |
939 | | /* check lingering errors */ |
940 | 2.81k | if (state->error != 0) { |
941 | 0 | return state->error; |
942 | 0 | } |
943 | | |
944 | | /* restart spans */ |
945 | 2.81k | if (state->_span_pos0 != NULL) { |
946 | 0 | state->_span_pos0 = (void*) p; |
947 | 0 | } |
948 | | |
949 | 2.81k | next = llpkgc_dep__internal__run(state, (const unsigned char*) p, (const unsigned char*) endp); |
950 | 2.81k | if (next == s_error) { |
951 | 0 | return state->error; |
952 | 0 | } |
953 | 2.81k | state->_current = (void*) (intptr_t) next; |
954 | | |
955 | | /* execute spans */ |
956 | 2.81k | if (state->_span_pos0 != NULL) { |
957 | 2.23k | int error; |
958 | | |
959 | 2.23k | error = ((llpkgc_dep__internal__span_cb) state->_span_cb0)(state, state->_span_pos0, (const char*) endp); |
960 | 2.23k | if (error != 0) { |
961 | 0 | state->error = error; |
962 | 0 | state->error_pos = endp; |
963 | 0 | return error; |
964 | 0 | } |
965 | 2.23k | } |
966 | | |
967 | 2.81k | return 0; |
968 | 2.81k | } |
969 | | #include <string.h> |
970 | | #include "llpkgc_dep.h" |
971 | | int llpkgc_dep__on_dep_complete(llpkgc_dep_t*, const unsigned char*, const unsigned char*); |
972 | | |
973 | 2.94k | int llpkgc_dep__on_dep_list_complete(llpkgc_dep_t* s, const unsigned char* p, const unsigned char* endp) { |
974 | 2.94k | const llpkgc_dep_settings_t* settings = s->settings; |
975 | 2.94k | int err; |
976 | 2.94k | if (settings == NULL || settings->on_dep_list_complete == NULL) return 0; |
977 | 0 | err = settings->on_dep_list_complete(s); |
978 | 0 | if (err != 0) { |
979 | 0 | if (s->reason == NULL) s->reason = "User callback error in on_dep_list_complete"; |
980 | 0 | s->callback_reason = (void*) s->reason; |
981 | 0 | return PDEP_USER; |
982 | 0 | } |
983 | 0 | return 0; |
984 | 0 | } |
985 | | |
986 | 34.6M | int llpkgc_dep__on_dep_name(llpkgc_dep_t* s, const unsigned char* p, const unsigned char* endp) { |
987 | 34.6M | const llpkgc_dep_settings_t* settings = s->settings; |
988 | 34.6M | int err; |
989 | 34.6M | if (settings == NULL || settings->on_dep_name == NULL) return 0; |
990 | 34.6M | err = settings->on_dep_name(s, (const char*) p, (size_t) (endp - p)); |
991 | 34.6M | if (err != 0) { |
992 | 0 | if (s->reason == NULL) s->reason = "User callback error in on_dep_name"; |
993 | 0 | s->callback_reason = (void*) s->reason; |
994 | 0 | return PDEP_USER; |
995 | 0 | } |
996 | 34.6M | return 0; |
997 | 34.6M | } |
998 | | |
999 | 9.65M | int llpkgc_dep__on_dep_version(llpkgc_dep_t* s, const unsigned char* p, const unsigned char* endp) { |
1000 | 9.65M | const llpkgc_dep_settings_t* settings = s->settings; |
1001 | 9.65M | int err; |
1002 | 9.65M | if (settings == NULL || settings->on_dep_version == NULL) return 0; |
1003 | 9.65M | err = settings->on_dep_version(s, (const char*) p, (size_t) (endp - p)); |
1004 | 9.65M | if (err != 0) { |
1005 | 0 | if (s->reason == NULL) s->reason = "User callback error in on_dep_version"; |
1006 | 0 | s->callback_reason = (void*) s->reason; |
1007 | 0 | return PDEP_USER; |
1008 | 0 | } |
1009 | 9.65M | return 0; |
1010 | 9.65M | } |
1011 | | |
1012 | 34.6M | int llpkgc_dep__on_dep_complete(llpkgc_dep_t* s, const unsigned char* p, const unsigned char* endp) { |
1013 | 34.6M | const llpkgc_dep_settings_t* settings = s->settings; |
1014 | 34.6M | int err; |
1015 | 34.6M | if (settings == NULL || settings->on_dep_complete == NULL) return 0; |
1016 | 34.6M | err = settings->on_dep_complete(s); |
1017 | 34.6M | if (err != 0) { |
1018 | 0 | if (s->reason == NULL) s->reason = "User callback error in on_dep_complete"; |
1019 | 0 | s->callback_reason = (void*) s->reason; |
1020 | 0 | return PDEP_USER; |
1021 | 0 | } |
1022 | 34.6M | return 0; |
1023 | 34.6M | } |
1024 | | |
1025 | 2.94k | void llpkgc_dep_init(llpkgc_dep_t* s, const llpkgc_dep_settings_t* settings) { |
1026 | 2.94k | llpkgc_dep__internal_init(s); |
1027 | 2.94k | s->settings = (void*) settings; |
1028 | 2.94k | } |
1029 | 0 | void llpkgc_dep_reset(llpkgc_dep_t* s) { |
1030 | 0 | const llpkgc_dep_settings_t* settings = s->settings; |
1031 | 0 | void* data = s->data; |
1032 | 0 | llpkgc_dep_init(s, settings); |
1033 | 0 | s->data = data; |
1034 | 0 | } |
1035 | 0 | void llpkgc_dep_settings_init(llpkgc_dep_settings_t* settings) { |
1036 | 0 | memset(settings, 0, sizeof(*settings)); |
1037 | 0 | } |
1038 | 2.94k | llpkgc_dep_errno_t llpkgc_dep_execute(llpkgc_dep_t* s, const char* data, size_t len) { |
1039 | 2.94k | if (s->error != 0) return s->error; |
1040 | 2.94k | if (s->done) { |
1041 | 0 | s->reason = "Input after finish"; |
1042 | 0 | s->error_pos = data; |
1043 | 0 | return s->error = PDEP_INVALID; |
1044 | 0 | } |
1045 | | |
1046 | 2.94k | if (len == 0) return PDEP_OK; |
1047 | 2.81k | s->end = (void*) (data + len); |
1048 | 2.81k | { |
1049 | 2.81k | int err = llpkgc_dep__internal_execute(s, data, data + len); |
1050 | 2.81k | if (err == PDEP_USER && s->callback_reason != NULL) |
1051 | 0 | s->reason = s->callback_reason; |
1052 | | |
1053 | 2.81k | return err; |
1054 | 2.94k | } |
1055 | 2.94k | } |
1056 | 2.94k | llpkgc_dep_errno_t llpkgc_dep_finish(llpkgc_dep_t* s) { |
1057 | 2.94k | int err; |
1058 | 2.94k | if (s->error != 0) return s->error; |
1059 | 2.94k | if (s->done) return PDEP_OK; |
1060 | 2.94k | switch (s->finish) { |
1061 | 208 | case 0: |
1062 | 208 | err = llpkgc_dep__on_dep_list_complete(s, s->end, s->end); |
1063 | 208 | if (err != 0) { |
1064 | 0 | s->error = err; |
1065 | 0 | s->error_pos = s->end; |
1066 | 0 | return s->error; |
1067 | 0 | } |
1068 | 208 | break; |
1069 | 2.73k | case 1: |
1070 | 2.73k | err = llpkgc_dep__on_dep_complete(s, s->end, s->end); |
1071 | 2.73k | if (err != 0) { |
1072 | 0 | s->error = err; |
1073 | 0 | s->error_pos = s->end; |
1074 | 0 | return s->error; |
1075 | 0 | } |
1076 | | |
1077 | 2.73k | err = llpkgc_dep__on_dep_list_complete(s, s->end, s->end); |
1078 | 2.73k | if (err != 0) { |
1079 | 0 | s->error = err; |
1080 | 0 | s->error_pos = s->end; |
1081 | 0 | return s->error; |
1082 | 0 | } |
1083 | 2.73k | break; |
1084 | 2.73k | default: s->reason = "Invalid finish action"; return s->error = PDEP_INTERNAL; |
1085 | 2.94k | } |
1086 | 2.94k | s->done = 1; |
1087 | 2.94k | return PDEP_OK; |
1088 | 2.94k | } |
1089 | 0 | llpkgc_dep_errno_t llpkgc_dep_get_errno(const llpkgc_dep_t* s) { return s->error; } |
1090 | 0 | const char* llpkgc_dep_get_error_reason(const llpkgc_dep_t* s) { return s->reason; } |
1091 | 0 | void llpkgc_dep_set_error_reason(llpkgc_dep_t* s, const char* reason) { s->reason = reason; } |
1092 | 0 | const char* llpkgc_dep_get_error_pos(const llpkgc_dep_t* s) { return s->error_pos; } |
1093 | 0 | const char* llpkgc_dep_errno_name(llpkgc_dep_errno_t err) { |
1094 | 0 | switch (err) { |
1095 | 0 | case PDEP_OK: return "PDEP_OK"; |
1096 | 0 | case PDEP_USER: return "PDEP_USER"; |
1097 | 0 | case PDEP_UNFINISHED: return "PDEP_UNFINISHED"; |
1098 | 0 | case PDEP_INVALID: return "PDEP_INVALID"; |
1099 | | |
1100 | 0 | default: return "PDEP_INTERNAL"; |
1101 | 0 | } |
1102 | 0 | } |
1103 | | |