1#[derive(Debug, Clone)]
2pub struct AccessCall<'tree> {
3 pub span: ::treesitter_types::Span,
4 pub key: AccessCallKey<'tree>,
5 pub target: AccessCallTarget<'tree>,
6}
7impl<'tree> ::treesitter_types::FromNode<'tree> for AccessCall<'tree> {
8 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
9 fn from_node(
10 node: ::tree_sitter::Node<'tree>,
11 src: &'tree [u8],
12 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
13 debug_assert_eq!(node.kind(), "access_call");
14 Ok(Self {
15 span: ::treesitter_types::Span::from(node),
16 key: {
17 let child = node
18 .child_by_field_name("key")
19 .ok_or_else(|| ::treesitter_types::ParseError::missing_field("key", node))?;
20 <AccessCallKey as ::treesitter_types::FromNode>::from_node(child, src)?
21 },
22 target: {
23 let child = node
24 .child_by_field_name("target")
25 .ok_or_else(|| ::treesitter_types::ParseError::missing_field("target", node))?;
26 <AccessCallTarget as ::treesitter_types::FromNode>::from_node(child, src)?
27 },
28 })
29 }
30}
31impl ::treesitter_types::Spanned for AccessCall<'_> {
32 fn span(&self) -> ::treesitter_types::Span {
33 self.span
34 }
35}
36#[derive(Debug, Clone)]
37pub struct AfterBlock<'tree> {
38 pub span: ::treesitter_types::Span,
39 pub children: ::std::vec::Vec<AfterBlockChildren<'tree>>,
40}
41impl<'tree> ::treesitter_types::FromNode<'tree> for AfterBlock<'tree> {
42 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
43 fn from_node(
44 node: ::tree_sitter::Node<'tree>,
45 src: &'tree [u8],
46 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
47 debug_assert_eq!(node.kind(), "after_block");
48 Ok(Self {
49 span: ::treesitter_types::Span::from(node),
50 children: {
51 #[allow(clippy::suspicious_else_formatting)]
52 let non_field_children = {
53 let mut cursor = node.walk();
54 let mut result = ::std::vec::Vec::new();
55 if cursor.goto_first_child() {
56 loop {
57 if cursor.field_name().is_none()
58 && cursor.node().is_named()
59 && !cursor.node().is_extra()
60 {
61 result.push(cursor.node());
62 }
63 if !cursor.goto_next_sibling() {
64 break;
65 }
66 }
67 }
68 result
69 };
70 let mut items = ::std::vec::Vec::new();
71 for child in non_field_children {
72 items.push(
73 <AfterBlockChildren as ::treesitter_types::FromNode>::from_node(
74 child, src,
75 )?,
76 );
77 }
78 items
79 },
80 })
81 }
82}
83impl ::treesitter_types::Spanned for AfterBlock<'_> {
84 fn span(&self) -> ::treesitter_types::Span {
85 self.span
86 }
87}
88#[derive(Debug, Clone)]
89pub struct AnonymousFunction<'tree> {
90 pub span: ::treesitter_types::Span,
91 pub children: ::std::vec::Vec<StabClause<'tree>>,
92}
93impl<'tree> ::treesitter_types::FromNode<'tree> for AnonymousFunction<'tree> {
94 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
95 fn from_node(
96 node: ::tree_sitter::Node<'tree>,
97 src: &'tree [u8],
98 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
99 debug_assert_eq!(node.kind(), "anonymous_function");
100 Ok(Self {
101 span: ::treesitter_types::Span::from(node),
102 children: {
103 #[allow(clippy::suspicious_else_formatting)]
104 let non_field_children = {
105 let mut cursor = node.walk();
106 let mut result = ::std::vec::Vec::new();
107 if cursor.goto_first_child() {
108 loop {
109 if cursor.field_name().is_none()
110 && cursor.node().is_named()
111 && !cursor.node().is_extra()
112 {
113 result.push(cursor.node());
114 }
115 if !cursor.goto_next_sibling() {
116 break;
117 }
118 }
119 }
120 result
121 };
122 let mut items = ::std::vec::Vec::new();
123 for child in non_field_children {
124 items.push(<StabClause as ::treesitter_types::FromNode>::from_node(
125 child, src,
126 )?);
127 }
128 items
129 },
130 })
131 }
132}
133impl ::treesitter_types::Spanned for AnonymousFunction<'_> {
134 fn span(&self) -> ::treesitter_types::Span {
135 self.span
136 }
137}
138#[derive(Debug, Clone)]
139pub struct Arguments<'tree> {
140 pub span: ::treesitter_types::Span,
141 pub children: ::std::vec::Vec<ArgumentsChildren<'tree>>,
142}
143impl<'tree> ::treesitter_types::FromNode<'tree> for Arguments<'tree> {
144 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
145 fn from_node(
146 node: ::tree_sitter::Node<'tree>,
147 src: &'tree [u8],
148 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
149 debug_assert_eq!(node.kind(), "arguments");
150 Ok(Self {
151 span: ::treesitter_types::Span::from(node),
152 children: {
153 #[allow(clippy::suspicious_else_formatting)]
154 let non_field_children = {
155 let mut cursor = node.walk();
156 let mut result = ::std::vec::Vec::new();
157 if cursor.goto_first_child() {
158 loop {
159 if cursor.field_name().is_none()
160 && cursor.node().is_named()
161 && !cursor.node().is_extra()
162 {
163 result.push(cursor.node());
164 }
165 if !cursor.goto_next_sibling() {
166 break;
167 }
168 }
169 }
170 result
171 };
172 let mut items = ::std::vec::Vec::new();
173 for child in non_field_children {
174 items.push(
175 <ArgumentsChildren as ::treesitter_types::FromNode>::from_node(child, src)?,
176 );
177 }
178 items
179 },
180 })
181 }
182}
183impl ::treesitter_types::Spanned for Arguments<'_> {
184 fn span(&self) -> ::treesitter_types::Span {
185 self.span
186 }
187}
188#[derive(Debug, Clone)]
189pub struct BinaryOperator<'tree> {
190 pub span: ::treesitter_types::Span,
191 pub left: BinaryOperatorLeft<'tree>,
192 pub operator: BinaryOperatorOperator,
193 pub right: BinaryOperatorRight<'tree>,
194}
195impl<'tree> ::treesitter_types::FromNode<'tree> for BinaryOperator<'tree> {
196 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
197 fn from_node(
198 node: ::tree_sitter::Node<'tree>,
199 src: &'tree [u8],
200 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
201 debug_assert_eq!(node.kind(), "binary_operator");
202 Ok(Self {
203 span: ::treesitter_types::Span::from(node),
204 left: {
205 let child = node
206 .child_by_field_name("left")
207 .ok_or_else(|| ::treesitter_types::ParseError::missing_field("left", node))?;
208 <BinaryOperatorLeft as ::treesitter_types::FromNode>::from_node(child, src)?
209 },
210 operator: {
211 let child = node.child_by_field_name("operator").ok_or_else(|| {
212 ::treesitter_types::ParseError::missing_field("operator", node)
213 })?;
214 <BinaryOperatorOperator as ::treesitter_types::FromNode>::from_node(child, src)?
215 },
216 right: {
217 let child = node
218 .child_by_field_name("right")
219 .ok_or_else(|| ::treesitter_types::ParseError::missing_field("right", node))?;
220 <BinaryOperatorRight as ::treesitter_types::FromNode>::from_node(child, src)?
221 },
222 })
223 }
224}
225impl ::treesitter_types::Spanned for BinaryOperator<'_> {
226 fn span(&self) -> ::treesitter_types::Span {
227 self.span
228 }
229}
230#[derive(Debug, Clone)]
231pub struct Bitstring<'tree> {
232 pub span: ::treesitter_types::Span,
233 pub children: ::std::vec::Vec<BitstringChildren<'tree>>,
234}
235impl<'tree> ::treesitter_types::FromNode<'tree> for Bitstring<'tree> {
236 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
237 fn from_node(
238 node: ::tree_sitter::Node<'tree>,
239 src: &'tree [u8],
240 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
241 debug_assert_eq!(node.kind(), "bitstring");
242 Ok(Self {
243 span: ::treesitter_types::Span::from(node),
244 children: {
245 #[allow(clippy::suspicious_else_formatting)]
246 let non_field_children = {
247 let mut cursor = node.walk();
248 let mut result = ::std::vec::Vec::new();
249 if cursor.goto_first_child() {
250 loop {
251 if cursor.field_name().is_none()
252 && cursor.node().is_named()
253 && !cursor.node().is_extra()
254 {
255 result.push(cursor.node());
256 }
257 if !cursor.goto_next_sibling() {
258 break;
259 }
260 }
261 }
262 result
263 };
264 let mut items = ::std::vec::Vec::new();
265 for child in non_field_children {
266 items.push(
267 <BitstringChildren as ::treesitter_types::FromNode>::from_node(child, src)?,
268 );
269 }
270 items
271 },
272 })
273 }
274}
275impl ::treesitter_types::Spanned for Bitstring<'_> {
276 fn span(&self) -> ::treesitter_types::Span {
277 self.span
278 }
279}
280#[derive(Debug, Clone)]
281pub struct Block<'tree> {
282 pub span: ::treesitter_types::Span,
283 pub children: ::std::vec::Vec<BlockChildren<'tree>>,
284}
285impl<'tree> ::treesitter_types::FromNode<'tree> for Block<'tree> {
286 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
287 fn from_node(
288 node: ::tree_sitter::Node<'tree>,
289 src: &'tree [u8],
290 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
291 debug_assert_eq!(node.kind(), "block");
292 Ok(Self {
293 span: ::treesitter_types::Span::from(node),
294 children: {
295 #[allow(clippy::suspicious_else_formatting)]
296 let non_field_children = {
297 let mut cursor = node.walk();
298 let mut result = ::std::vec::Vec::new();
299 if cursor.goto_first_child() {
300 loop {
301 if cursor.field_name().is_none()
302 && cursor.node().is_named()
303 && !cursor.node().is_extra()
304 {
305 result.push(cursor.node());
306 }
307 if !cursor.goto_next_sibling() {
308 break;
309 }
310 }
311 }
312 result
313 };
314 let mut items = ::std::vec::Vec::new();
315 for child in non_field_children {
316 items.push(<BlockChildren as ::treesitter_types::FromNode>::from_node(
317 child, src,
318 )?);
319 }
320 items
321 },
322 })
323 }
324}
325impl ::treesitter_types::Spanned for Block<'_> {
326 fn span(&self) -> ::treesitter_types::Span {
327 self.span
328 }
329}
330#[derive(Debug, Clone)]
331pub struct Body<'tree> {
332 pub span: ::treesitter_types::Span,
333 pub children: ::std::vec::Vec<BodyChildren<'tree>>,
334}
335impl<'tree> ::treesitter_types::FromNode<'tree> for Body<'tree> {
336 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
337 fn from_node(
338 node: ::tree_sitter::Node<'tree>,
339 src: &'tree [u8],
340 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
341 debug_assert_eq!(node.kind(), "body");
342 Ok(Self {
343 span: ::treesitter_types::Span::from(node),
344 children: {
345 #[allow(clippy::suspicious_else_formatting)]
346 let non_field_children = {
347 let mut cursor = node.walk();
348 let mut result = ::std::vec::Vec::new();
349 if cursor.goto_first_child() {
350 loop {
351 if cursor.field_name().is_none()
352 && cursor.node().is_named()
353 && !cursor.node().is_extra()
354 {
355 result.push(cursor.node());
356 }
357 if !cursor.goto_next_sibling() {
358 break;
359 }
360 }
361 }
362 result
363 };
364 let mut items = ::std::vec::Vec::new();
365 for child in non_field_children {
366 items.push(<BodyChildren as ::treesitter_types::FromNode>::from_node(
367 child, src,
368 )?);
369 }
370 items
371 },
372 })
373 }
374}
375impl ::treesitter_types::Spanned for Body<'_> {
376 fn span(&self) -> ::treesitter_types::Span {
377 self.span
378 }
379}
380#[derive(Debug, Clone)]
381pub struct Boolean<'tree> {
382 pub span: ::treesitter_types::Span,
383 text: &'tree str,
384}
385impl<'tree> ::treesitter_types::FromNode<'tree> for Boolean<'tree> {
386 fn from_node(
387 node: ::tree_sitter::Node<'tree>,
388 src: &'tree [u8],
389 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
390 debug_assert_eq!(node.kind(), "boolean");
391 Ok(Self {
392 span: ::treesitter_types::Span::from(node),
393 text: node.utf8_text(src)?,
394 })
395 }
396}
397impl<'tree> ::treesitter_types::LeafNode<'tree> for Boolean<'tree> {
398 fn text(&self) -> &'tree str {
399 self.text
400 }
401}
402impl ::treesitter_types::Spanned for Boolean<'_> {
403 fn span(&self) -> ::treesitter_types::Span {
404 self.span
405 }
406}
407#[derive(Debug, Clone)]
408pub struct Call<'tree> {
409 pub span: ::treesitter_types::Span,
410 pub target: CallTarget<'tree>,
411 pub children: ::std::vec::Vec<CallChildren<'tree>>,
412}
413impl<'tree> ::treesitter_types::FromNode<'tree> for Call<'tree> {
414 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
415 fn from_node(
416 node: ::tree_sitter::Node<'tree>,
417 src: &'tree [u8],
418 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
419 debug_assert_eq!(node.kind(), "call");
420 Ok(Self {
421 span: ::treesitter_types::Span::from(node),
422 target: {
423 let child = node
424 .child_by_field_name("target")
425 .ok_or_else(|| ::treesitter_types::ParseError::missing_field("target", node))?;
426 <CallTarget as ::treesitter_types::FromNode>::from_node(child, src)?
427 },
428 children: {
429 #[allow(clippy::suspicious_else_formatting)]
430 let non_field_children = {
431 let mut cursor = node.walk();
432 let mut result = ::std::vec::Vec::new();
433 if cursor.goto_first_child() {
434 loop {
435 if cursor.field_name().is_none()
436 && cursor.node().is_named()
437 && !cursor.node().is_extra()
438 {
439 result.push(cursor.node());
440 }
441 if !cursor.goto_next_sibling() {
442 break;
443 }
444 }
445 }
446 result
447 };
448 let mut items = ::std::vec::Vec::new();
449 for child in non_field_children {
450 items.push(<CallChildren as ::treesitter_types::FromNode>::from_node(
451 child, src,
452 )?);
453 }
454 items
455 },
456 })
457 }
458}
459impl ::treesitter_types::Spanned for Call<'_> {
460 fn span(&self) -> ::treesitter_types::Span {
461 self.span
462 }
463}
464#[derive(Debug, Clone)]
465pub struct CatchBlock<'tree> {
466 pub span: ::treesitter_types::Span,
467 pub children: ::std::vec::Vec<CatchBlockChildren<'tree>>,
468}
469impl<'tree> ::treesitter_types::FromNode<'tree> for CatchBlock<'tree> {
470 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
471 fn from_node(
472 node: ::tree_sitter::Node<'tree>,
473 src: &'tree [u8],
474 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
475 debug_assert_eq!(node.kind(), "catch_block");
476 Ok(Self {
477 span: ::treesitter_types::Span::from(node),
478 children: {
479 #[allow(clippy::suspicious_else_formatting)]
480 let non_field_children = {
481 let mut cursor = node.walk();
482 let mut result = ::std::vec::Vec::new();
483 if cursor.goto_first_child() {
484 loop {
485 if cursor.field_name().is_none()
486 && cursor.node().is_named()
487 && !cursor.node().is_extra()
488 {
489 result.push(cursor.node());
490 }
491 if !cursor.goto_next_sibling() {
492 break;
493 }
494 }
495 }
496 result
497 };
498 let mut items = ::std::vec::Vec::new();
499 for child in non_field_children {
500 items.push(
501 <CatchBlockChildren as ::treesitter_types::FromNode>::from_node(
502 child, src,
503 )?,
504 );
505 }
506 items
507 },
508 })
509 }
510}
511impl ::treesitter_types::Spanned for CatchBlock<'_> {
512 fn span(&self) -> ::treesitter_types::Span {
513 self.span
514 }
515}
516#[derive(Debug, Clone)]
517pub struct Charlist<'tree> {
518 pub span: ::treesitter_types::Span,
519 pub quoted_end: CharlistQuotedEnd,
520 pub quoted_start: CharlistQuotedStart,
521 pub children: ::std::vec::Vec<CharlistChildren<'tree>>,
522}
523impl<'tree> ::treesitter_types::FromNode<'tree> for Charlist<'tree> {
524 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
525 fn from_node(
526 node: ::tree_sitter::Node<'tree>,
527 src: &'tree [u8],
528 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
529 debug_assert_eq!(node.kind(), "charlist");
530 Ok(Self {
531 span: ::treesitter_types::Span::from(node),
532 quoted_end: {
533 let child = node.child_by_field_name("quoted_end").ok_or_else(|| {
534 ::treesitter_types::ParseError::missing_field("quoted_end", node)
535 })?;
536 <CharlistQuotedEnd as ::treesitter_types::FromNode>::from_node(child, src)?
537 },
538 quoted_start: {
539 let child = node.child_by_field_name("quoted_start").ok_or_else(|| {
540 ::treesitter_types::ParseError::missing_field("quoted_start", node)
541 })?;
542 <CharlistQuotedStart as ::treesitter_types::FromNode>::from_node(child, src)?
543 },
544 children: {
545 #[allow(clippy::suspicious_else_formatting)]
546 let non_field_children = {
547 let mut cursor = node.walk();
548 let mut result = ::std::vec::Vec::new();
549 if cursor.goto_first_child() {
550 loop {
551 if cursor.field_name().is_none()
552 && cursor.node().is_named()
553 && !cursor.node().is_extra()
554 {
555 result.push(cursor.node());
556 }
557 if !cursor.goto_next_sibling() {
558 break;
559 }
560 }
561 }
562 result
563 };
564 let mut items = ::std::vec::Vec::new();
565 for child in non_field_children {
566 items.push(
567 <CharlistChildren as ::treesitter_types::FromNode>::from_node(child, src)?,
568 );
569 }
570 items
571 },
572 })
573 }
574}
575impl ::treesitter_types::Spanned for Charlist<'_> {
576 fn span(&self) -> ::treesitter_types::Span {
577 self.span
578 }
579}
580#[derive(Debug, Clone)]
581pub struct DoBlock<'tree> {
582 pub span: ::treesitter_types::Span,
583 pub children: ::std::vec::Vec<DoBlockChildren<'tree>>,
584}
585impl<'tree> ::treesitter_types::FromNode<'tree> for DoBlock<'tree> {
586 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
587 fn from_node(
588 node: ::tree_sitter::Node<'tree>,
589 src: &'tree [u8],
590 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
591 debug_assert_eq!(node.kind(), "do_block");
592 Ok(Self {
593 span: ::treesitter_types::Span::from(node),
594 children: {
595 #[allow(clippy::suspicious_else_formatting)]
596 let non_field_children = {
597 let mut cursor = node.walk();
598 let mut result = ::std::vec::Vec::new();
599 if cursor.goto_first_child() {
600 loop {
601 if cursor.field_name().is_none()
602 && cursor.node().is_named()
603 && !cursor.node().is_extra()
604 {
605 result.push(cursor.node());
606 }
607 if !cursor.goto_next_sibling() {
608 break;
609 }
610 }
611 }
612 result
613 };
614 let mut items = ::std::vec::Vec::new();
615 for child in non_field_children {
616 items.push(
617 <DoBlockChildren as ::treesitter_types::FromNode>::from_node(child, src)?,
618 );
619 }
620 items
621 },
622 })
623 }
624}
625impl ::treesitter_types::Spanned for DoBlock<'_> {
626 fn span(&self) -> ::treesitter_types::Span {
627 self.span
628 }
629}
630#[derive(Debug, Clone)]
631pub struct Dot<'tree> {
632 pub span: ::treesitter_types::Span,
633 pub left: DotLeft<'tree>,
634 pub operator: DotOperator,
635 pub right: ::core::option::Option<DotRight<'tree>>,
636}
637impl<'tree> ::treesitter_types::FromNode<'tree> for Dot<'tree> {
638 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
639 fn from_node(
640 node: ::tree_sitter::Node<'tree>,
641 src: &'tree [u8],
642 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
643 debug_assert_eq!(node.kind(), "dot");
644 Ok(Self {
645 span: ::treesitter_types::Span::from(node),
646 left: {
647 let child = node
648 .child_by_field_name("left")
649 .ok_or_else(|| ::treesitter_types::ParseError::missing_field("left", node))?;
650 <DotLeft as ::treesitter_types::FromNode>::from_node(child, src)?
651 },
652 operator: {
653 let child = node.child_by_field_name("operator").ok_or_else(|| {
654 ::treesitter_types::ParseError::missing_field("operator", node)
655 })?;
656 <DotOperator as ::treesitter_types::FromNode>::from_node(child, src)?
657 },
658 right: match node.child_by_field_name("right") {
659 Some(child) => Some(<DotRight as ::treesitter_types::FromNode>::from_node(
660 child, src,
661 )?),
662 None => None,
663 },
664 })
665 }
666}
667impl ::treesitter_types::Spanned for Dot<'_> {
668 fn span(&self) -> ::treesitter_types::Span {
669 self.span
670 }
671}
672#[derive(Debug, Clone)]
673pub struct ElseBlock<'tree> {
674 pub span: ::treesitter_types::Span,
675 pub children: ::std::vec::Vec<ElseBlockChildren<'tree>>,
676}
677impl<'tree> ::treesitter_types::FromNode<'tree> for ElseBlock<'tree> {
678 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
679 fn from_node(
680 node: ::tree_sitter::Node<'tree>,
681 src: &'tree [u8],
682 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
683 debug_assert_eq!(node.kind(), "else_block");
684 Ok(Self {
685 span: ::treesitter_types::Span::from(node),
686 children: {
687 #[allow(clippy::suspicious_else_formatting)]
688 let non_field_children = {
689 let mut cursor = node.walk();
690 let mut result = ::std::vec::Vec::new();
691 if cursor.goto_first_child() {
692 loop {
693 if cursor.field_name().is_none()
694 && cursor.node().is_named()
695 && !cursor.node().is_extra()
696 {
697 result.push(cursor.node());
698 }
699 if !cursor.goto_next_sibling() {
700 break;
701 }
702 }
703 }
704 result
705 };
706 let mut items = ::std::vec::Vec::new();
707 for child in non_field_children {
708 items.push(
709 <ElseBlockChildren as ::treesitter_types::FromNode>::from_node(child, src)?,
710 );
711 }
712 items
713 },
714 })
715 }
716}
717impl ::treesitter_types::Spanned for ElseBlock<'_> {
718 fn span(&self) -> ::treesitter_types::Span {
719 self.span
720 }
721}
722#[derive(Debug, Clone)]
723pub struct Identifier<'tree> {
724 pub span: ::treesitter_types::Span,
725 text: &'tree str,
726}
727impl<'tree> ::treesitter_types::FromNode<'tree> for Identifier<'tree> {
728 fn from_node(
729 node: ::tree_sitter::Node<'tree>,
730 src: &'tree [u8],
731 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
732 debug_assert_eq!(node.kind(), "identifier");
733 Ok(Self {
734 span: ::treesitter_types::Span::from(node),
735 text: node.utf8_text(src)?,
736 })
737 }
738}
739impl<'tree> ::treesitter_types::LeafNode<'tree> for Identifier<'tree> {
740 fn text(&self) -> &'tree str {
741 self.text
742 }
743}
744impl ::treesitter_types::Spanned for Identifier<'_> {
745 fn span(&self) -> ::treesitter_types::Span {
746 self.span
747 }
748}
749#[derive(Debug, Clone)]
750pub struct Interpolation<'tree> {
751 pub span: ::treesitter_types::Span,
752 pub children: ::core::option::Option<InterpolationChildren<'tree>>,
753}
754impl<'tree> ::treesitter_types::FromNode<'tree> for Interpolation<'tree> {
755 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
756 fn from_node(
757 node: ::tree_sitter::Node<'tree>,
758 src: &'tree [u8],
759 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
760 debug_assert_eq!(node.kind(), "interpolation");
761 Ok(Self {
762 span: ::treesitter_types::Span::from(node),
763 children: {
764 #[allow(clippy::suspicious_else_formatting)]
765 let non_field_children = {
766 let mut cursor = node.walk();
767 let mut result = ::std::vec::Vec::new();
768 if cursor.goto_first_child() {
769 loop {
770 if cursor.field_name().is_none()
771 && cursor.node().is_named()
772 && !cursor.node().is_extra()
773 {
774 result.push(cursor.node());
775 }
776 if !cursor.goto_next_sibling() {
777 break;
778 }
779 }
780 }
781 result
782 };
783 match non_field_children.first() {
784 Some(&child) => Some(
785 <InterpolationChildren as ::treesitter_types::FromNode>::from_node(
786 child, src,
787 )?,
788 ),
789 None => None,
790 }
791 },
792 })
793 }
794}
795impl ::treesitter_types::Spanned for Interpolation<'_> {
796 fn span(&self) -> ::treesitter_types::Span {
797 self.span
798 }
799}
800#[derive(Debug, Clone)]
801pub struct Keywords<'tree> {
802 pub span: ::treesitter_types::Span,
803 pub children: ::std::vec::Vec<Pair<'tree>>,
804}
805impl<'tree> ::treesitter_types::FromNode<'tree> for Keywords<'tree> {
806 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
807 fn from_node(
808 node: ::tree_sitter::Node<'tree>,
809 src: &'tree [u8],
810 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
811 debug_assert_eq!(node.kind(), "keywords");
812 Ok(Self {
813 span: ::treesitter_types::Span::from(node),
814 children: {
815 #[allow(clippy::suspicious_else_formatting)]
816 let non_field_children = {
817 let mut cursor = node.walk();
818 let mut result = ::std::vec::Vec::new();
819 if cursor.goto_first_child() {
820 loop {
821 if cursor.field_name().is_none()
822 && cursor.node().is_named()
823 && !cursor.node().is_extra()
824 {
825 result.push(cursor.node());
826 }
827 if !cursor.goto_next_sibling() {
828 break;
829 }
830 }
831 }
832 result
833 };
834 let mut items = ::std::vec::Vec::new();
835 for child in non_field_children {
836 items.push(<Pair as ::treesitter_types::FromNode>::from_node(
837 child, src,
838 )?);
839 }
840 items
841 },
842 })
843 }
844}
845impl ::treesitter_types::Spanned for Keywords<'_> {
846 fn span(&self) -> ::treesitter_types::Span {
847 self.span
848 }
849}
850#[derive(Debug, Clone)]
851pub struct List<'tree> {
852 pub span: ::treesitter_types::Span,
853 pub children: ::std::vec::Vec<ListChildren<'tree>>,
854}
855impl<'tree> ::treesitter_types::FromNode<'tree> for List<'tree> {
856 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
857 fn from_node(
858 node: ::tree_sitter::Node<'tree>,
859 src: &'tree [u8],
860 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
861 debug_assert_eq!(node.kind(), "list");
862 Ok(Self {
863 span: ::treesitter_types::Span::from(node),
864 children: {
865 #[allow(clippy::suspicious_else_formatting)]
866 let non_field_children = {
867 let mut cursor = node.walk();
868 let mut result = ::std::vec::Vec::new();
869 if cursor.goto_first_child() {
870 loop {
871 if cursor.field_name().is_none()
872 && cursor.node().is_named()
873 && !cursor.node().is_extra()
874 {
875 result.push(cursor.node());
876 }
877 if !cursor.goto_next_sibling() {
878 break;
879 }
880 }
881 }
882 result
883 };
884 let mut items = ::std::vec::Vec::new();
885 for child in non_field_children {
886 items.push(<ListChildren as ::treesitter_types::FromNode>::from_node(
887 child, src,
888 )?);
889 }
890 items
891 },
892 })
893 }
894}
895impl ::treesitter_types::Spanned for List<'_> {
896 fn span(&self) -> ::treesitter_types::Span {
897 self.span
898 }
899}
900#[derive(Debug, Clone)]
901pub struct Map<'tree> {
902 pub span: ::treesitter_types::Span,
903 pub children: ::std::vec::Vec<MapChildren<'tree>>,
904}
905impl<'tree> ::treesitter_types::FromNode<'tree> for Map<'tree> {
906 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
907 fn from_node(
908 node: ::tree_sitter::Node<'tree>,
909 src: &'tree [u8],
910 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
911 debug_assert_eq!(node.kind(), "map");
912 Ok(Self {
913 span: ::treesitter_types::Span::from(node),
914 children: {
915 #[allow(clippy::suspicious_else_formatting)]
916 let non_field_children = {
917 let mut cursor = node.walk();
918 let mut result = ::std::vec::Vec::new();
919 if cursor.goto_first_child() {
920 loop {
921 if cursor.field_name().is_none()
922 && cursor.node().is_named()
923 && !cursor.node().is_extra()
924 {
925 result.push(cursor.node());
926 }
927 if !cursor.goto_next_sibling() {
928 break;
929 }
930 }
931 }
932 result
933 };
934 let mut items = ::std::vec::Vec::new();
935 for child in non_field_children {
936 items.push(<MapChildren as ::treesitter_types::FromNode>::from_node(
937 child, src,
938 )?);
939 }
940 items
941 },
942 })
943 }
944}
945impl ::treesitter_types::Spanned for Map<'_> {
946 fn span(&self) -> ::treesitter_types::Span {
947 self.span
948 }
949}
950#[derive(Debug, Clone)]
951pub struct MapContent<'tree> {
952 pub span: ::treesitter_types::Span,
953 pub children: ::std::vec::Vec<MapContentChildren<'tree>>,
954}
955impl<'tree> ::treesitter_types::FromNode<'tree> for MapContent<'tree> {
956 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
957 fn from_node(
958 node: ::tree_sitter::Node<'tree>,
959 src: &'tree [u8],
960 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
961 debug_assert_eq!(node.kind(), "map_content");
962 Ok(Self {
963 span: ::treesitter_types::Span::from(node),
964 children: {
965 #[allow(clippy::suspicious_else_formatting)]
966 let non_field_children = {
967 let mut cursor = node.walk();
968 let mut result = ::std::vec::Vec::new();
969 if cursor.goto_first_child() {
970 loop {
971 if cursor.field_name().is_none()
972 && cursor.node().is_named()
973 && !cursor.node().is_extra()
974 {
975 result.push(cursor.node());
976 }
977 if !cursor.goto_next_sibling() {
978 break;
979 }
980 }
981 }
982 result
983 };
984 let mut items = ::std::vec::Vec::new();
985 for child in non_field_children {
986 items.push(
987 <MapContentChildren as ::treesitter_types::FromNode>::from_node(
988 child, src,
989 )?,
990 );
991 }
992 items
993 },
994 })
995 }
996}
997impl ::treesitter_types::Spanned for MapContent<'_> {
998 fn span(&self) -> ::treesitter_types::Span {
999 self.span
1000 }
1001}
1002#[derive(Debug, Clone)]
1003pub struct Nil<'tree> {
1004 pub span: ::treesitter_types::Span,
1005 text: &'tree str,
1006}
1007impl<'tree> ::treesitter_types::FromNode<'tree> for Nil<'tree> {
1008 fn from_node(
1009 node: ::tree_sitter::Node<'tree>,
1010 src: &'tree [u8],
1011 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1012 debug_assert_eq!(node.kind(), "nil");
1013 Ok(Self {
1014 span: ::treesitter_types::Span::from(node),
1015 text: node.utf8_text(src)?,
1016 })
1017 }
1018}
1019impl<'tree> ::treesitter_types::LeafNode<'tree> for Nil<'tree> {
1020 fn text(&self) -> &'tree str {
1021 self.text
1022 }
1023}
1024impl ::treesitter_types::Spanned for Nil<'_> {
1025 fn span(&self) -> ::treesitter_types::Span {
1026 self.span
1027 }
1028}
1029#[derive(Debug, Clone)]
1030pub struct OperatorIdentifier<'tree> {
1031 pub span: ::treesitter_types::Span,
1032 text: &'tree str,
1033}
1034impl<'tree> ::treesitter_types::FromNode<'tree> for OperatorIdentifier<'tree> {
1035 fn from_node(
1036 node: ::tree_sitter::Node<'tree>,
1037 src: &'tree [u8],
1038 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1039 debug_assert_eq!(node.kind(), "operator_identifier");
1040 Ok(Self {
1041 span: ::treesitter_types::Span::from(node),
1042 text: node.utf8_text(src)?,
1043 })
1044 }
1045}
1046impl<'tree> ::treesitter_types::LeafNode<'tree> for OperatorIdentifier<'tree> {
1047 fn text(&self) -> &'tree str {
1048 self.text
1049 }
1050}
1051impl ::treesitter_types::Spanned for OperatorIdentifier<'_> {
1052 fn span(&self) -> ::treesitter_types::Span {
1053 self.span
1054 }
1055}
1056#[derive(Debug, Clone)]
1057pub struct Pair<'tree> {
1058 pub span: ::treesitter_types::Span,
1059 pub key: PairKey<'tree>,
1060 pub value: PairValue<'tree>,
1061}
1062impl<'tree> ::treesitter_types::FromNode<'tree> for Pair<'tree> {
1063 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
1064 fn from_node(
1065 node: ::tree_sitter::Node<'tree>,
1066 src: &'tree [u8],
1067 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1068 debug_assert_eq!(node.kind(), "pair");
1069 Ok(Self {
1070 span: ::treesitter_types::Span::from(node),
1071 key: {
1072 let child = node
1073 .child_by_field_name("key")
1074 .ok_or_else(|| ::treesitter_types::ParseError::missing_field("key", node))?;
1075 <PairKey as ::treesitter_types::FromNode>::from_node(child, src)?
1076 },
1077 value: {
1078 let child = node
1079 .child_by_field_name("value")
1080 .ok_or_else(|| ::treesitter_types::ParseError::missing_field("value", node))?;
1081 <PairValue as ::treesitter_types::FromNode>::from_node(child, src)?
1082 },
1083 })
1084 }
1085}
1086impl ::treesitter_types::Spanned for Pair<'_> {
1087 fn span(&self) -> ::treesitter_types::Span {
1088 self.span
1089 }
1090}
1091#[derive(Debug, Clone)]
1092pub struct QuotedAtom<'tree> {
1093 pub span: ::treesitter_types::Span,
1094 pub quoted_end: QuotedAtomQuotedEnd,
1095 pub quoted_start: QuotedAtomQuotedStart,
1096 pub children: ::std::vec::Vec<QuotedAtomChildren<'tree>>,
1097}
1098impl<'tree> ::treesitter_types::FromNode<'tree> for QuotedAtom<'tree> {
1099 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
1100 fn from_node(
1101 node: ::tree_sitter::Node<'tree>,
1102 src: &'tree [u8],
1103 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1104 debug_assert_eq!(node.kind(), "quoted_atom");
1105 Ok(Self {
1106 span: ::treesitter_types::Span::from(node),
1107 quoted_end: {
1108 let child = node.child_by_field_name("quoted_end").ok_or_else(|| {
1109 ::treesitter_types::ParseError::missing_field("quoted_end", node)
1110 })?;
1111 <QuotedAtomQuotedEnd as ::treesitter_types::FromNode>::from_node(child, src)?
1112 },
1113 quoted_start: {
1114 let child = node.child_by_field_name("quoted_start").ok_or_else(|| {
1115 ::treesitter_types::ParseError::missing_field("quoted_start", node)
1116 })?;
1117 <QuotedAtomQuotedStart as ::treesitter_types::FromNode>::from_node(child, src)?
1118 },
1119 children: {
1120 #[allow(clippy::suspicious_else_formatting)]
1121 let non_field_children = {
1122 let mut cursor = node.walk();
1123 let mut result = ::std::vec::Vec::new();
1124 if cursor.goto_first_child() {
1125 loop {
1126 if cursor.field_name().is_none()
1127 && cursor.node().is_named()
1128 && !cursor.node().is_extra()
1129 {
1130 result.push(cursor.node());
1131 }
1132 if !cursor.goto_next_sibling() {
1133 break;
1134 }
1135 }
1136 }
1137 result
1138 };
1139 let mut items = ::std::vec::Vec::new();
1140 for child in non_field_children {
1141 items.push(
1142 <QuotedAtomChildren as ::treesitter_types::FromNode>::from_node(
1143 child, src,
1144 )?,
1145 );
1146 }
1147 items
1148 },
1149 })
1150 }
1151}
1152impl ::treesitter_types::Spanned for QuotedAtom<'_> {
1153 fn span(&self) -> ::treesitter_types::Span {
1154 self.span
1155 }
1156}
1157#[derive(Debug, Clone)]
1158pub struct QuotedKeyword<'tree> {
1159 pub span: ::treesitter_types::Span,
1160 pub quoted_end: QuotedKeywordQuotedEnd,
1161 pub quoted_start: QuotedKeywordQuotedStart,
1162 pub children: ::std::vec::Vec<QuotedKeywordChildren<'tree>>,
1163}
1164impl<'tree> ::treesitter_types::FromNode<'tree> for QuotedKeyword<'tree> {
1165 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
1166 fn from_node(
1167 node: ::tree_sitter::Node<'tree>,
1168 src: &'tree [u8],
1169 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1170 debug_assert_eq!(node.kind(), "quoted_keyword");
1171 Ok(Self {
1172 span: ::treesitter_types::Span::from(node),
1173 quoted_end: {
1174 let child = node.child_by_field_name("quoted_end").ok_or_else(|| {
1175 ::treesitter_types::ParseError::missing_field("quoted_end", node)
1176 })?;
1177 <QuotedKeywordQuotedEnd as ::treesitter_types::FromNode>::from_node(child, src)?
1178 },
1179 quoted_start: {
1180 let child = node.child_by_field_name("quoted_start").ok_or_else(|| {
1181 ::treesitter_types::ParseError::missing_field("quoted_start", node)
1182 })?;
1183 <QuotedKeywordQuotedStart as ::treesitter_types::FromNode>::from_node(child, src)?
1184 },
1185 children: {
1186 #[allow(clippy::suspicious_else_formatting)]
1187 let non_field_children = {
1188 let mut cursor = node.walk();
1189 let mut result = ::std::vec::Vec::new();
1190 if cursor.goto_first_child() {
1191 loop {
1192 if cursor.field_name().is_none()
1193 && cursor.node().is_named()
1194 && !cursor.node().is_extra()
1195 {
1196 result.push(cursor.node());
1197 }
1198 if !cursor.goto_next_sibling() {
1199 break;
1200 }
1201 }
1202 }
1203 result
1204 };
1205 let mut items = ::std::vec::Vec::new();
1206 for child in non_field_children {
1207 items.push(
1208 <QuotedKeywordChildren as ::treesitter_types::FromNode>::from_node(
1209 child, src,
1210 )?,
1211 );
1212 }
1213 items
1214 },
1215 })
1216 }
1217}
1218impl ::treesitter_types::Spanned for QuotedKeyword<'_> {
1219 fn span(&self) -> ::treesitter_types::Span {
1220 self.span
1221 }
1222}
1223#[derive(Debug, Clone)]
1224pub struct RescueBlock<'tree> {
1225 pub span: ::treesitter_types::Span,
1226 pub children: ::std::vec::Vec<RescueBlockChildren<'tree>>,
1227}
1228impl<'tree> ::treesitter_types::FromNode<'tree> for RescueBlock<'tree> {
1229 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
1230 fn from_node(
1231 node: ::tree_sitter::Node<'tree>,
1232 src: &'tree [u8],
1233 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1234 debug_assert_eq!(node.kind(), "rescue_block");
1235 Ok(Self {
1236 span: ::treesitter_types::Span::from(node),
1237 children: {
1238 #[allow(clippy::suspicious_else_formatting)]
1239 let non_field_children = {
1240 let mut cursor = node.walk();
1241 let mut result = ::std::vec::Vec::new();
1242 if cursor.goto_first_child() {
1243 loop {
1244 if cursor.field_name().is_none()
1245 && cursor.node().is_named()
1246 && !cursor.node().is_extra()
1247 {
1248 result.push(cursor.node());
1249 }
1250 if !cursor.goto_next_sibling() {
1251 break;
1252 }
1253 }
1254 }
1255 result
1256 };
1257 let mut items = ::std::vec::Vec::new();
1258 for child in non_field_children {
1259 items.push(
1260 <RescueBlockChildren as ::treesitter_types::FromNode>::from_node(
1261 child, src,
1262 )?,
1263 );
1264 }
1265 items
1266 },
1267 })
1268 }
1269}
1270impl ::treesitter_types::Spanned for RescueBlock<'_> {
1271 fn span(&self) -> ::treesitter_types::Span {
1272 self.span
1273 }
1274}
1275#[derive(Debug, Clone)]
1276pub struct Sigil<'tree> {
1277 pub span: ::treesitter_types::Span,
1278 pub quoted_end: SigilQuotedEnd,
1279 pub quoted_start: SigilQuotedStart,
1280 pub children: ::std::vec::Vec<SigilChildren<'tree>>,
1281}
1282impl<'tree> ::treesitter_types::FromNode<'tree> for Sigil<'tree> {
1283 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
1284 fn from_node(
1285 node: ::tree_sitter::Node<'tree>,
1286 src: &'tree [u8],
1287 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1288 debug_assert_eq!(node.kind(), "sigil");
1289 Ok(Self {
1290 span: ::treesitter_types::Span::from(node),
1291 quoted_end: {
1292 let child = node.child_by_field_name("quoted_end").ok_or_else(|| {
1293 ::treesitter_types::ParseError::missing_field("quoted_end", node)
1294 })?;
1295 <SigilQuotedEnd as ::treesitter_types::FromNode>::from_node(child, src)?
1296 },
1297 quoted_start: {
1298 let child = node.child_by_field_name("quoted_start").ok_or_else(|| {
1299 ::treesitter_types::ParseError::missing_field("quoted_start", node)
1300 })?;
1301 <SigilQuotedStart as ::treesitter_types::FromNode>::from_node(child, src)?
1302 },
1303 children: {
1304 #[allow(clippy::suspicious_else_formatting)]
1305 let non_field_children = {
1306 let mut cursor = node.walk();
1307 let mut result = ::std::vec::Vec::new();
1308 if cursor.goto_first_child() {
1309 loop {
1310 if cursor.field_name().is_none()
1311 && cursor.node().is_named()
1312 && !cursor.node().is_extra()
1313 {
1314 result.push(cursor.node());
1315 }
1316 if !cursor.goto_next_sibling() {
1317 break;
1318 }
1319 }
1320 }
1321 result
1322 };
1323 let mut items = ::std::vec::Vec::new();
1324 for child in non_field_children {
1325 items.push(<SigilChildren as ::treesitter_types::FromNode>::from_node(
1326 child, src,
1327 )?);
1328 }
1329 items
1330 },
1331 })
1332 }
1333}
1334impl ::treesitter_types::Spanned for Sigil<'_> {
1335 fn span(&self) -> ::treesitter_types::Span {
1336 self.span
1337 }
1338}
1339#[derive(Debug, Clone)]
1340pub struct Source<'tree> {
1341 pub span: ::treesitter_types::Span,
1342 pub children: ::std::vec::Vec<SourceChildren<'tree>>,
1343}
1344impl<'tree> ::treesitter_types::FromNode<'tree> for Source<'tree> {
1345 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
1346 fn from_node(
1347 node: ::tree_sitter::Node<'tree>,
1348 src: &'tree [u8],
1349 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1350 debug_assert_eq!(node.kind(), "source");
1351 Ok(Self {
1352 span: ::treesitter_types::Span::from(node),
1353 children: {
1354 #[allow(clippy::suspicious_else_formatting)]
1355 let non_field_children = {
1356 let mut cursor = node.walk();
1357 let mut result = ::std::vec::Vec::new();
1358 if cursor.goto_first_child() {
1359 loop {
1360 if cursor.field_name().is_none()
1361 && cursor.node().is_named()
1362 && !cursor.node().is_extra()
1363 {
1364 result.push(cursor.node());
1365 }
1366 if !cursor.goto_next_sibling() {
1367 break;
1368 }
1369 }
1370 }
1371 result
1372 };
1373 let mut items = ::std::vec::Vec::new();
1374 for child in non_field_children {
1375 items.push(<SourceChildren as ::treesitter_types::FromNode>::from_node(
1376 child, src,
1377 )?);
1378 }
1379 items
1380 },
1381 })
1382 }
1383}
1384impl ::treesitter_types::Spanned for Source<'_> {
1385 fn span(&self) -> ::treesitter_types::Span {
1386 self.span
1387 }
1388}
1389#[derive(Debug, Clone)]
1390pub struct StabClause<'tree> {
1391 pub span: ::treesitter_types::Span,
1392 pub left: ::core::option::Option<StabClauseLeft<'tree>>,
1393 pub operator: StabClauseOperator,
1394 pub right: ::core::option::Option<Body<'tree>>,
1395}
1396impl<'tree> ::treesitter_types::FromNode<'tree> for StabClause<'tree> {
1397 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
1398 fn from_node(
1399 node: ::tree_sitter::Node<'tree>,
1400 src: &'tree [u8],
1401 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1402 debug_assert_eq!(node.kind(), "stab_clause");
1403 Ok(Self {
1404 span: ::treesitter_types::Span::from(node),
1405 left: match node.child_by_field_name("left") {
1406 Some(child) => Some(<StabClauseLeft as ::treesitter_types::FromNode>::from_node(
1407 child, src,
1408 )?),
1409 None => None,
1410 },
1411 operator: {
1412 let child = node.child_by_field_name("operator").ok_or_else(|| {
1413 ::treesitter_types::ParseError::missing_field("operator", node)
1414 })?;
1415 <StabClauseOperator as ::treesitter_types::FromNode>::from_node(child, src)?
1416 },
1417 right: match node.child_by_field_name("right") {
1418 Some(child) => Some(<Body as ::treesitter_types::FromNode>::from_node(
1419 child, src,
1420 )?),
1421 None => None,
1422 },
1423 })
1424 }
1425}
1426impl ::treesitter_types::Spanned for StabClause<'_> {
1427 fn span(&self) -> ::treesitter_types::Span {
1428 self.span
1429 }
1430}
1431#[derive(Debug, Clone)]
1432pub struct String<'tree> {
1433 pub span: ::treesitter_types::Span,
1434 pub quoted_end: StringQuotedEnd,
1435 pub quoted_start: StringQuotedStart,
1436 pub children: ::std::vec::Vec<StringChildren<'tree>>,
1437}
1438impl<'tree> ::treesitter_types::FromNode<'tree> for String<'tree> {
1439 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
1440 fn from_node(
1441 node: ::tree_sitter::Node<'tree>,
1442 src: &'tree [u8],
1443 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1444 debug_assert_eq!(node.kind(), "string");
1445 Ok(Self {
1446 span: ::treesitter_types::Span::from(node),
1447 quoted_end: {
1448 let child = node.child_by_field_name("quoted_end").ok_or_else(|| {
1449 ::treesitter_types::ParseError::missing_field("quoted_end", node)
1450 })?;
1451 <StringQuotedEnd as ::treesitter_types::FromNode>::from_node(child, src)?
1452 },
1453 quoted_start: {
1454 let child = node.child_by_field_name("quoted_start").ok_or_else(|| {
1455 ::treesitter_types::ParseError::missing_field("quoted_start", node)
1456 })?;
1457 <StringQuotedStart as ::treesitter_types::FromNode>::from_node(child, src)?
1458 },
1459 children: {
1460 #[allow(clippy::suspicious_else_formatting)]
1461 let non_field_children = {
1462 let mut cursor = node.walk();
1463 let mut result = ::std::vec::Vec::new();
1464 if cursor.goto_first_child() {
1465 loop {
1466 if cursor.field_name().is_none()
1467 && cursor.node().is_named()
1468 && !cursor.node().is_extra()
1469 {
1470 result.push(cursor.node());
1471 }
1472 if !cursor.goto_next_sibling() {
1473 break;
1474 }
1475 }
1476 }
1477 result
1478 };
1479 let mut items = ::std::vec::Vec::new();
1480 for child in non_field_children {
1481 items.push(<StringChildren as ::treesitter_types::FromNode>::from_node(
1482 child, src,
1483 )?);
1484 }
1485 items
1486 },
1487 })
1488 }
1489}
1490impl ::treesitter_types::Spanned for String<'_> {
1491 fn span(&self) -> ::treesitter_types::Span {
1492 self.span
1493 }
1494}
1495#[derive(Debug, Clone)]
1496pub struct Struct<'tree> {
1497 pub span: ::treesitter_types::Span,
1498 pub children: StructChildren<'tree>,
1499}
1500impl<'tree> ::treesitter_types::FromNode<'tree> for Struct<'tree> {
1501 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
1502 fn from_node(
1503 node: ::tree_sitter::Node<'tree>,
1504 src: &'tree [u8],
1505 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1506 debug_assert_eq!(node.kind(), "struct");
1507 Ok(Self {
1508 span: ::treesitter_types::Span::from(node),
1509 children: {
1510 #[allow(clippy::suspicious_else_formatting)]
1511 let non_field_children = {
1512 let mut cursor = node.walk();
1513 let mut result = ::std::vec::Vec::new();
1514 if cursor.goto_first_child() {
1515 loop {
1516 if cursor.field_name().is_none()
1517 && cursor.node().is_named()
1518 && !cursor.node().is_extra()
1519 {
1520 result.push(cursor.node());
1521 }
1522 if !cursor.goto_next_sibling() {
1523 break;
1524 }
1525 }
1526 }
1527 result
1528 };
1529 let child = if let Some(&c) = non_field_children.first() {
1530 c
1531 } else {
1532 let mut fallback_cursor = node.walk();
1533 let mut fallback_child = None;
1534 if fallback_cursor.goto_first_child() {
1535 loop {
1536 if fallback_cursor.field_name().is_none()
1537 && !fallback_cursor.node().is_extra()
1538 {
1539 let candidate = fallback_cursor.node();
1540 #[allow(clippy::needless_question_mark)]
1541 if (|| -> ::core::result::Result<
1542 _,
1543 ::treesitter_types::ParseError,
1544 > {
1545 let child = candidate;
1546 Ok(
1547 <StructChildren as ::treesitter_types::FromNode>::from_node(
1548 child,
1549 src,
1550 )?,
1551 )
1552 })()
1553 .is_ok()
1554 {
1555 fallback_child = Some(candidate);
1556 break;
1557 }
1558 }
1559 if !fallback_cursor.goto_next_sibling() {
1560 break;
1561 }
1562 }
1563 }
1564 if fallback_child.is_none() {
1565 let mut cursor2 = node.walk();
1566 if cursor2.goto_first_child() {
1567 loop {
1568 if cursor2.node().is_named() && !cursor2.node().is_extra() {
1569 let candidate = cursor2.node();
1570 #[allow(clippy::needless_question_mark)]
1571 if (|| -> ::core::result::Result<
1572 _,
1573 ::treesitter_types::ParseError,
1574 > {
1575 let child = candidate;
1576 Ok(
1577 <StructChildren as ::treesitter_types::FromNode>::from_node(
1578 child,
1579 src,
1580 )?,
1581 )
1582 })()
1583 .is_ok()
1584 {
1585 fallback_child = Some(candidate);
1586 break;
1587 }
1588 }
1589 if !cursor2.goto_next_sibling() {
1590 break;
1591 }
1592 }
1593 }
1594 }
1595 fallback_child.ok_or_else(|| {
1596 ::treesitter_types::ParseError::missing_field("children", node)
1597 })?
1598 };
1599 <StructChildren as ::treesitter_types::FromNode>::from_node(child, src)?
1600 },
1601 })
1602 }
1603}
1604impl ::treesitter_types::Spanned for Struct<'_> {
1605 fn span(&self) -> ::treesitter_types::Span {
1606 self.span
1607 }
1608}
1609#[derive(Debug, Clone)]
1610pub struct Tuple<'tree> {
1611 pub span: ::treesitter_types::Span,
1612 pub children: ::std::vec::Vec<TupleChildren<'tree>>,
1613}
1614impl<'tree> ::treesitter_types::FromNode<'tree> for Tuple<'tree> {
1615 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
1616 fn from_node(
1617 node: ::tree_sitter::Node<'tree>,
1618 src: &'tree [u8],
1619 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1620 debug_assert_eq!(node.kind(), "tuple");
1621 Ok(Self {
1622 span: ::treesitter_types::Span::from(node),
1623 children: {
1624 #[allow(clippy::suspicious_else_formatting)]
1625 let non_field_children = {
1626 let mut cursor = node.walk();
1627 let mut result = ::std::vec::Vec::new();
1628 if cursor.goto_first_child() {
1629 loop {
1630 if cursor.field_name().is_none()
1631 && cursor.node().is_named()
1632 && !cursor.node().is_extra()
1633 {
1634 result.push(cursor.node());
1635 }
1636 if !cursor.goto_next_sibling() {
1637 break;
1638 }
1639 }
1640 }
1641 result
1642 };
1643 let mut items = ::std::vec::Vec::new();
1644 for child in non_field_children {
1645 items.push(<TupleChildren as ::treesitter_types::FromNode>::from_node(
1646 child, src,
1647 )?);
1648 }
1649 items
1650 },
1651 })
1652 }
1653}
1654impl ::treesitter_types::Spanned for Tuple<'_> {
1655 fn span(&self) -> ::treesitter_types::Span {
1656 self.span
1657 }
1658}
1659#[derive(Debug, Clone)]
1660pub struct UnaryOperator<'tree> {
1661 pub span: ::treesitter_types::Span,
1662 pub operand: ::std::vec::Vec<UnaryOperatorOperand<'tree>>,
1663 pub operator: UnaryOperatorOperator,
1664}
1665impl<'tree> ::treesitter_types::FromNode<'tree> for UnaryOperator<'tree> {
1666 #[allow(clippy::match_single_binding, clippy::suspicious_else_formatting)]
1667 fn from_node(
1668 node: ::tree_sitter::Node<'tree>,
1669 src: &'tree [u8],
1670 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1671 debug_assert_eq!(node.kind(), "unary_operator");
1672 Ok(Self {
1673 span: ::treesitter_types::Span::from(node),
1674 operand: {
1675 let mut cursor = node.walk();
1676 let mut items = ::std::vec::Vec::new();
1677 for child in node.children_by_field_name("operand", &mut cursor) {
1678 items.push(
1679 <UnaryOperatorOperand as ::treesitter_types::FromNode>::from_node(
1680 child, src,
1681 )?,
1682 );
1683 }
1684 items
1685 },
1686 operator: {
1687 let child = node.child_by_field_name("operator").ok_or_else(|| {
1688 ::treesitter_types::ParseError::missing_field("operator", node)
1689 })?;
1690 <UnaryOperatorOperator as ::treesitter_types::FromNode>::from_node(child, src)?
1691 },
1692 })
1693 }
1694}
1695impl ::treesitter_types::Spanned for UnaryOperator<'_> {
1696 fn span(&self) -> ::treesitter_types::Span {
1697 self.span
1698 }
1699}
1700#[derive(Debug, Clone)]
1701pub struct Alias<'tree> {
1702 pub span: ::treesitter_types::Span,
1703 text: &'tree str,
1704}
1705impl<'tree> ::treesitter_types::FromNode<'tree> for Alias<'tree> {
1706 fn from_node(
1707 node: ::tree_sitter::Node<'tree>,
1708 src: &'tree [u8],
1709 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1710 debug_assert_eq!(node.kind(), "alias");
1711 Ok(Self {
1712 span: ::treesitter_types::Span::from(node),
1713 text: node.utf8_text(src)?,
1714 })
1715 }
1716}
1717impl<'tree> ::treesitter_types::LeafNode<'tree> for Alias<'tree> {
1718 fn text(&self) -> &'tree str {
1719 self.text
1720 }
1721}
1722impl ::treesitter_types::Spanned for Alias<'_> {
1723 fn span(&self) -> ::treesitter_types::Span {
1724 self.span
1725 }
1726}
1727#[derive(Debug, Clone)]
1728pub struct Atom<'tree> {
1729 pub span: ::treesitter_types::Span,
1730 text: &'tree str,
1731}
1732impl<'tree> ::treesitter_types::FromNode<'tree> for Atom<'tree> {
1733 fn from_node(
1734 node: ::tree_sitter::Node<'tree>,
1735 src: &'tree [u8],
1736 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1737 debug_assert_eq!(node.kind(), "atom");
1738 Ok(Self {
1739 span: ::treesitter_types::Span::from(node),
1740 text: node.utf8_text(src)?,
1741 })
1742 }
1743}
1744impl<'tree> ::treesitter_types::LeafNode<'tree> for Atom<'tree> {
1745 fn text(&self) -> &'tree str {
1746 self.text
1747 }
1748}
1749impl ::treesitter_types::Spanned for Atom<'_> {
1750 fn span(&self) -> ::treesitter_types::Span {
1751 self.span
1752 }
1753}
1754#[derive(Debug, Clone)]
1755pub struct Char<'tree> {
1756 pub span: ::treesitter_types::Span,
1757 text: &'tree str,
1758}
1759impl<'tree> ::treesitter_types::FromNode<'tree> for Char<'tree> {
1760 fn from_node(
1761 node: ::tree_sitter::Node<'tree>,
1762 src: &'tree [u8],
1763 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1764 debug_assert_eq!(node.kind(), "char");
1765 Ok(Self {
1766 span: ::treesitter_types::Span::from(node),
1767 text: node.utf8_text(src)?,
1768 })
1769 }
1770}
1771impl<'tree> ::treesitter_types::LeafNode<'tree> for Char<'tree> {
1772 fn text(&self) -> &'tree str {
1773 self.text
1774 }
1775}
1776impl ::treesitter_types::Spanned for Char<'_> {
1777 fn span(&self) -> ::treesitter_types::Span {
1778 self.span
1779 }
1780}
1781#[derive(Debug, Clone)]
1782pub struct Comment<'tree> {
1783 pub span: ::treesitter_types::Span,
1784 text: &'tree str,
1785}
1786impl<'tree> ::treesitter_types::FromNode<'tree> for Comment<'tree> {
1787 fn from_node(
1788 node: ::tree_sitter::Node<'tree>,
1789 src: &'tree [u8],
1790 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1791 debug_assert_eq!(node.kind(), "comment");
1792 Ok(Self {
1793 span: ::treesitter_types::Span::from(node),
1794 text: node.utf8_text(src)?,
1795 })
1796 }
1797}
1798impl<'tree> ::treesitter_types::LeafNode<'tree> for Comment<'tree> {
1799 fn text(&self) -> &'tree str {
1800 self.text
1801 }
1802}
1803impl ::treesitter_types::Spanned for Comment<'_> {
1804 fn span(&self) -> ::treesitter_types::Span {
1805 self.span
1806 }
1807}
1808#[derive(Debug, Clone)]
1809pub struct EscapeSequence<'tree> {
1810 pub span: ::treesitter_types::Span,
1811 text: &'tree str,
1812}
1813impl<'tree> ::treesitter_types::FromNode<'tree> for EscapeSequence<'tree> {
1814 fn from_node(
1815 node: ::tree_sitter::Node<'tree>,
1816 src: &'tree [u8],
1817 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1818 debug_assert_eq!(node.kind(), "escape_sequence");
1819 Ok(Self {
1820 span: ::treesitter_types::Span::from(node),
1821 text: node.utf8_text(src)?,
1822 })
1823 }
1824}
1825impl<'tree> ::treesitter_types::LeafNode<'tree> for EscapeSequence<'tree> {
1826 fn text(&self) -> &'tree str {
1827 self.text
1828 }
1829}
1830impl ::treesitter_types::Spanned for EscapeSequence<'_> {
1831 fn span(&self) -> ::treesitter_types::Span {
1832 self.span
1833 }
1834}
1835#[derive(Debug, Clone)]
1836pub struct Float<'tree> {
1837 pub span: ::treesitter_types::Span,
1838 text: &'tree str,
1839}
1840impl<'tree> ::treesitter_types::FromNode<'tree> for Float<'tree> {
1841 fn from_node(
1842 node: ::tree_sitter::Node<'tree>,
1843 src: &'tree [u8],
1844 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1845 debug_assert_eq!(node.kind(), "float");
1846 Ok(Self {
1847 span: ::treesitter_types::Span::from(node),
1848 text: node.utf8_text(src)?,
1849 })
1850 }
1851}
1852impl<'tree> ::treesitter_types::LeafNode<'tree> for Float<'tree> {
1853 fn text(&self) -> &'tree str {
1854 self.text
1855 }
1856}
1857impl ::treesitter_types::Spanned for Float<'_> {
1858 fn span(&self) -> ::treesitter_types::Span {
1859 self.span
1860 }
1861}
1862#[derive(Debug, Clone)]
1863pub struct Integer<'tree> {
1864 pub span: ::treesitter_types::Span,
1865 text: &'tree str,
1866}
1867impl<'tree> ::treesitter_types::FromNode<'tree> for Integer<'tree> {
1868 fn from_node(
1869 node: ::tree_sitter::Node<'tree>,
1870 src: &'tree [u8],
1871 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1872 debug_assert_eq!(node.kind(), "integer");
1873 Ok(Self {
1874 span: ::treesitter_types::Span::from(node),
1875 text: node.utf8_text(src)?,
1876 })
1877 }
1878}
1879impl<'tree> ::treesitter_types::LeafNode<'tree> for Integer<'tree> {
1880 fn text(&self) -> &'tree str {
1881 self.text
1882 }
1883}
1884impl ::treesitter_types::Spanned for Integer<'_> {
1885 fn span(&self) -> ::treesitter_types::Span {
1886 self.span
1887 }
1888}
1889#[derive(Debug, Clone)]
1890pub struct Keyword<'tree> {
1891 pub span: ::treesitter_types::Span,
1892 text: &'tree str,
1893}
1894impl<'tree> ::treesitter_types::FromNode<'tree> for Keyword<'tree> {
1895 fn from_node(
1896 node: ::tree_sitter::Node<'tree>,
1897 src: &'tree [u8],
1898 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1899 debug_assert_eq!(node.kind(), "keyword");
1900 Ok(Self {
1901 span: ::treesitter_types::Span::from(node),
1902 text: node.utf8_text(src)?,
1903 })
1904 }
1905}
1906impl<'tree> ::treesitter_types::LeafNode<'tree> for Keyword<'tree> {
1907 fn text(&self) -> &'tree str {
1908 self.text
1909 }
1910}
1911impl ::treesitter_types::Spanned for Keyword<'_> {
1912 fn span(&self) -> ::treesitter_types::Span {
1913 self.span
1914 }
1915}
1916#[derive(Debug, Clone)]
1917pub struct QuotedContent<'tree> {
1918 pub span: ::treesitter_types::Span,
1919 text: &'tree str,
1920}
1921impl<'tree> ::treesitter_types::FromNode<'tree> for QuotedContent<'tree> {
1922 fn from_node(
1923 node: ::tree_sitter::Node<'tree>,
1924 src: &'tree [u8],
1925 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1926 debug_assert_eq!(node.kind(), "quoted_content");
1927 Ok(Self {
1928 span: ::treesitter_types::Span::from(node),
1929 text: node.utf8_text(src)?,
1930 })
1931 }
1932}
1933impl<'tree> ::treesitter_types::LeafNode<'tree> for QuotedContent<'tree> {
1934 fn text(&self) -> &'tree str {
1935 self.text
1936 }
1937}
1938impl ::treesitter_types::Spanned for QuotedContent<'_> {
1939 fn span(&self) -> ::treesitter_types::Span {
1940 self.span
1941 }
1942}
1943#[derive(Debug, Clone)]
1944pub struct SigilModifiers<'tree> {
1945 pub span: ::treesitter_types::Span,
1946 text: &'tree str,
1947}
1948impl<'tree> ::treesitter_types::FromNode<'tree> for SigilModifiers<'tree> {
1949 fn from_node(
1950 node: ::tree_sitter::Node<'tree>,
1951 src: &'tree [u8],
1952 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1953 debug_assert_eq!(node.kind(), "sigil_modifiers");
1954 Ok(Self {
1955 span: ::treesitter_types::Span::from(node),
1956 text: node.utf8_text(src)?,
1957 })
1958 }
1959}
1960impl<'tree> ::treesitter_types::LeafNode<'tree> for SigilModifiers<'tree> {
1961 fn text(&self) -> &'tree str {
1962 self.text
1963 }
1964}
1965impl ::treesitter_types::Spanned for SigilModifiers<'_> {
1966 fn span(&self) -> ::treesitter_types::Span {
1967 self.span
1968 }
1969}
1970#[derive(Debug, Clone)]
1971pub struct SigilName<'tree> {
1972 pub span: ::treesitter_types::Span,
1973 text: &'tree str,
1974}
1975impl<'tree> ::treesitter_types::FromNode<'tree> for SigilName<'tree> {
1976 fn from_node(
1977 node: ::tree_sitter::Node<'tree>,
1978 src: &'tree [u8],
1979 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
1980 debug_assert_eq!(node.kind(), "sigil_name");
1981 Ok(Self {
1982 span: ::treesitter_types::Span::from(node),
1983 text: node.utf8_text(src)?,
1984 })
1985 }
1986}
1987impl<'tree> ::treesitter_types::LeafNode<'tree> for SigilName<'tree> {
1988 fn text(&self) -> &'tree str {
1989 self.text
1990 }
1991}
1992impl ::treesitter_types::Spanned for SigilName<'_> {
1993 fn span(&self) -> ::treesitter_types::Span {
1994 self.span
1995 }
1996}
1997#[derive(Debug, Clone)]
1998pub enum AccessCallKey<'tree> {
1999 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
2000 Alias(::std::boxed::Box<Alias<'tree>>),
2001 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
2002 Atom(::std::boxed::Box<Atom<'tree>>),
2003 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
2004 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
2005 Block(::std::boxed::Box<Block<'tree>>),
2006 Boolean(::std::boxed::Box<Boolean<'tree>>),
2007 Call(::std::boxed::Box<Call<'tree>>),
2008 Char(::std::boxed::Box<Char<'tree>>),
2009 Charlist(::std::boxed::Box<Charlist<'tree>>),
2010 Dot(::std::boxed::Box<Dot<'tree>>),
2011 Float(::std::boxed::Box<Float<'tree>>),
2012 Identifier(::std::boxed::Box<Identifier<'tree>>),
2013 Integer(::std::boxed::Box<Integer<'tree>>),
2014 List(::std::boxed::Box<List<'tree>>),
2015 Map(::std::boxed::Box<Map<'tree>>),
2016 Nil(::std::boxed::Box<Nil<'tree>>),
2017 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
2018 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
2019 Sigil(::std::boxed::Box<Sigil<'tree>>),
2020 String(::std::boxed::Box<String<'tree>>),
2021 Tuple(::std::boxed::Box<Tuple<'tree>>),
2022 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
2023}
2024impl<'tree> ::treesitter_types::FromNode<'tree> for AccessCallKey<'tree> {
2025 #[allow(clippy::collapsible_else_if)]
2026 fn from_node(
2027 node: ::tree_sitter::Node<'tree>,
2028 src: &'tree [u8],
2029 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
2030 match node.kind() {
2031 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
2032 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
2033 ))),
2034 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
2035 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
2036 ))),
2037 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
2038 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
2039 ))),
2040 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
2041 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
2042 ))),
2043 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
2044 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
2045 ))),
2046 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
2047 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
2048 ))),
2049 "block" => Ok(Self::Block(::std::boxed::Box::new(
2050 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
2051 ))),
2052 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
2053 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
2054 ))),
2055 "call" => Ok(Self::Call(::std::boxed::Box::new(
2056 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
2057 ))),
2058 "char" => Ok(Self::Char(::std::boxed::Box::new(
2059 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
2060 ))),
2061 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
2062 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
2063 ))),
2064 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
2065 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
2066 ))),
2067 "float" => Ok(Self::Float(::std::boxed::Box::new(
2068 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
2069 ))),
2070 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
2071 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
2072 ))),
2073 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
2074 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
2075 ))),
2076 "list" => Ok(Self::List(::std::boxed::Box::new(
2077 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
2078 ))),
2079 "map" => Ok(Self::Map(::std::boxed::Box::new(
2080 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
2081 ))),
2082 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
2083 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
2084 ))),
2085 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
2086 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
2087 ))),
2088 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
2089 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
2090 ))),
2091 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
2092 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
2093 ))),
2094 "string" => Ok(Self::String(::std::boxed::Box::new(
2095 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
2096 ))),
2097 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
2098 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
2099 ))),
2100 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
2101 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
2102 ))),
2103 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
2104 }
2105 }
2106}
2107impl ::treesitter_types::Spanned for AccessCallKey<'_> {
2108 fn span(&self) -> ::treesitter_types::Span {
2109 match self {
2110 Self::AccessCall(inner) => inner.span(),
2111 Self::Alias(inner) => inner.span(),
2112 Self::AnonymousFunction(inner) => inner.span(),
2113 Self::Atom(inner) => inner.span(),
2114 Self::BinaryOperator(inner) => inner.span(),
2115 Self::Bitstring(inner) => inner.span(),
2116 Self::Block(inner) => inner.span(),
2117 Self::Boolean(inner) => inner.span(),
2118 Self::Call(inner) => inner.span(),
2119 Self::Char(inner) => inner.span(),
2120 Self::Charlist(inner) => inner.span(),
2121 Self::Dot(inner) => inner.span(),
2122 Self::Float(inner) => inner.span(),
2123 Self::Identifier(inner) => inner.span(),
2124 Self::Integer(inner) => inner.span(),
2125 Self::List(inner) => inner.span(),
2126 Self::Map(inner) => inner.span(),
2127 Self::Nil(inner) => inner.span(),
2128 Self::OperatorIdentifier(inner) => inner.span(),
2129 Self::QuotedAtom(inner) => inner.span(),
2130 Self::Sigil(inner) => inner.span(),
2131 Self::String(inner) => inner.span(),
2132 Self::Tuple(inner) => inner.span(),
2133 Self::UnaryOperator(inner) => inner.span(),
2134 }
2135 }
2136}
2137#[derive(Debug, Clone)]
2138pub enum AccessCallTarget<'tree> {
2139 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
2140 Alias(::std::boxed::Box<Alias<'tree>>),
2141 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
2142 Atom(::std::boxed::Box<Atom<'tree>>),
2143 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
2144 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
2145 Block(::std::boxed::Box<Block<'tree>>),
2146 Boolean(::std::boxed::Box<Boolean<'tree>>),
2147 Call(::std::boxed::Box<Call<'tree>>),
2148 Char(::std::boxed::Box<Char<'tree>>),
2149 Charlist(::std::boxed::Box<Charlist<'tree>>),
2150 Dot(::std::boxed::Box<Dot<'tree>>),
2151 Float(::std::boxed::Box<Float<'tree>>),
2152 Identifier(::std::boxed::Box<Identifier<'tree>>),
2153 Integer(::std::boxed::Box<Integer<'tree>>),
2154 List(::std::boxed::Box<List<'tree>>),
2155 Map(::std::boxed::Box<Map<'tree>>),
2156 Nil(::std::boxed::Box<Nil<'tree>>),
2157 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
2158 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
2159 Sigil(::std::boxed::Box<Sigil<'tree>>),
2160 String(::std::boxed::Box<String<'tree>>),
2161 Tuple(::std::boxed::Box<Tuple<'tree>>),
2162 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
2163}
2164impl<'tree> ::treesitter_types::FromNode<'tree> for AccessCallTarget<'tree> {
2165 #[allow(clippy::collapsible_else_if)]
2166 fn from_node(
2167 node: ::tree_sitter::Node<'tree>,
2168 src: &'tree [u8],
2169 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
2170 match node.kind() {
2171 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
2172 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
2173 ))),
2174 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
2175 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
2176 ))),
2177 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
2178 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
2179 ))),
2180 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
2181 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
2182 ))),
2183 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
2184 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
2185 ))),
2186 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
2187 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
2188 ))),
2189 "block" => Ok(Self::Block(::std::boxed::Box::new(
2190 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
2191 ))),
2192 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
2193 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
2194 ))),
2195 "call" => Ok(Self::Call(::std::boxed::Box::new(
2196 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
2197 ))),
2198 "char" => Ok(Self::Char(::std::boxed::Box::new(
2199 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
2200 ))),
2201 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
2202 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
2203 ))),
2204 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
2205 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
2206 ))),
2207 "float" => Ok(Self::Float(::std::boxed::Box::new(
2208 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
2209 ))),
2210 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
2211 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
2212 ))),
2213 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
2214 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
2215 ))),
2216 "list" => Ok(Self::List(::std::boxed::Box::new(
2217 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
2218 ))),
2219 "map" => Ok(Self::Map(::std::boxed::Box::new(
2220 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
2221 ))),
2222 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
2223 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
2224 ))),
2225 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
2226 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
2227 ))),
2228 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
2229 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
2230 ))),
2231 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
2232 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
2233 ))),
2234 "string" => Ok(Self::String(::std::boxed::Box::new(
2235 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
2236 ))),
2237 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
2238 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
2239 ))),
2240 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
2241 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
2242 ))),
2243 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
2244 }
2245 }
2246}
2247impl ::treesitter_types::Spanned for AccessCallTarget<'_> {
2248 fn span(&self) -> ::treesitter_types::Span {
2249 match self {
2250 Self::AccessCall(inner) => inner.span(),
2251 Self::Alias(inner) => inner.span(),
2252 Self::AnonymousFunction(inner) => inner.span(),
2253 Self::Atom(inner) => inner.span(),
2254 Self::BinaryOperator(inner) => inner.span(),
2255 Self::Bitstring(inner) => inner.span(),
2256 Self::Block(inner) => inner.span(),
2257 Self::Boolean(inner) => inner.span(),
2258 Self::Call(inner) => inner.span(),
2259 Self::Char(inner) => inner.span(),
2260 Self::Charlist(inner) => inner.span(),
2261 Self::Dot(inner) => inner.span(),
2262 Self::Float(inner) => inner.span(),
2263 Self::Identifier(inner) => inner.span(),
2264 Self::Integer(inner) => inner.span(),
2265 Self::List(inner) => inner.span(),
2266 Self::Map(inner) => inner.span(),
2267 Self::Nil(inner) => inner.span(),
2268 Self::OperatorIdentifier(inner) => inner.span(),
2269 Self::QuotedAtom(inner) => inner.span(),
2270 Self::Sigil(inner) => inner.span(),
2271 Self::String(inner) => inner.span(),
2272 Self::Tuple(inner) => inner.span(),
2273 Self::UnaryOperator(inner) => inner.span(),
2274 }
2275 }
2276}
2277#[derive(Debug, Clone)]
2278pub enum AfterBlockChildren<'tree> {
2279 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
2280 Alias(::std::boxed::Box<Alias<'tree>>),
2281 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
2282 Atom(::std::boxed::Box<Atom<'tree>>),
2283 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
2284 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
2285 Block(::std::boxed::Box<Block<'tree>>),
2286 Boolean(::std::boxed::Box<Boolean<'tree>>),
2287 Call(::std::boxed::Box<Call<'tree>>),
2288 Char(::std::boxed::Box<Char<'tree>>),
2289 Charlist(::std::boxed::Box<Charlist<'tree>>),
2290 Dot(::std::boxed::Box<Dot<'tree>>),
2291 Float(::std::boxed::Box<Float<'tree>>),
2292 Identifier(::std::boxed::Box<Identifier<'tree>>),
2293 Integer(::std::boxed::Box<Integer<'tree>>),
2294 List(::std::boxed::Box<List<'tree>>),
2295 Map(::std::boxed::Box<Map<'tree>>),
2296 Nil(::std::boxed::Box<Nil<'tree>>),
2297 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
2298 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
2299 Sigil(::std::boxed::Box<Sigil<'tree>>),
2300 StabClause(::std::boxed::Box<StabClause<'tree>>),
2301 String(::std::boxed::Box<String<'tree>>),
2302 Tuple(::std::boxed::Box<Tuple<'tree>>),
2303 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
2304}
2305impl<'tree> ::treesitter_types::FromNode<'tree> for AfterBlockChildren<'tree> {
2306 #[allow(clippy::collapsible_else_if)]
2307 fn from_node(
2308 node: ::tree_sitter::Node<'tree>,
2309 src: &'tree [u8],
2310 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
2311 match node.kind() {
2312 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
2313 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
2314 ))),
2315 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
2316 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
2317 ))),
2318 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
2319 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
2320 ))),
2321 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
2322 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
2323 ))),
2324 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
2325 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
2326 ))),
2327 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
2328 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
2329 ))),
2330 "block" => Ok(Self::Block(::std::boxed::Box::new(
2331 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
2332 ))),
2333 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
2334 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
2335 ))),
2336 "call" => Ok(Self::Call(::std::boxed::Box::new(
2337 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
2338 ))),
2339 "char" => Ok(Self::Char(::std::boxed::Box::new(
2340 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
2341 ))),
2342 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
2343 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
2344 ))),
2345 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
2346 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
2347 ))),
2348 "float" => Ok(Self::Float(::std::boxed::Box::new(
2349 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
2350 ))),
2351 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
2352 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
2353 ))),
2354 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
2355 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
2356 ))),
2357 "list" => Ok(Self::List(::std::boxed::Box::new(
2358 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
2359 ))),
2360 "map" => Ok(Self::Map(::std::boxed::Box::new(
2361 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
2362 ))),
2363 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
2364 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
2365 ))),
2366 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
2367 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
2368 ))),
2369 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
2370 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
2371 ))),
2372 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
2373 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
2374 ))),
2375 "stab_clause" => Ok(Self::StabClause(::std::boxed::Box::new(
2376 <StabClause as ::treesitter_types::FromNode>::from_node(node, src)?,
2377 ))),
2378 "string" => Ok(Self::String(::std::boxed::Box::new(
2379 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
2380 ))),
2381 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
2382 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
2383 ))),
2384 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
2385 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
2386 ))),
2387 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
2388 }
2389 }
2390}
2391impl ::treesitter_types::Spanned for AfterBlockChildren<'_> {
2392 fn span(&self) -> ::treesitter_types::Span {
2393 match self {
2394 Self::AccessCall(inner) => inner.span(),
2395 Self::Alias(inner) => inner.span(),
2396 Self::AnonymousFunction(inner) => inner.span(),
2397 Self::Atom(inner) => inner.span(),
2398 Self::BinaryOperator(inner) => inner.span(),
2399 Self::Bitstring(inner) => inner.span(),
2400 Self::Block(inner) => inner.span(),
2401 Self::Boolean(inner) => inner.span(),
2402 Self::Call(inner) => inner.span(),
2403 Self::Char(inner) => inner.span(),
2404 Self::Charlist(inner) => inner.span(),
2405 Self::Dot(inner) => inner.span(),
2406 Self::Float(inner) => inner.span(),
2407 Self::Identifier(inner) => inner.span(),
2408 Self::Integer(inner) => inner.span(),
2409 Self::List(inner) => inner.span(),
2410 Self::Map(inner) => inner.span(),
2411 Self::Nil(inner) => inner.span(),
2412 Self::OperatorIdentifier(inner) => inner.span(),
2413 Self::QuotedAtom(inner) => inner.span(),
2414 Self::Sigil(inner) => inner.span(),
2415 Self::StabClause(inner) => inner.span(),
2416 Self::String(inner) => inner.span(),
2417 Self::Tuple(inner) => inner.span(),
2418 Self::UnaryOperator(inner) => inner.span(),
2419 }
2420 }
2421}
2422#[derive(Debug, Clone)]
2423pub enum ArgumentsChildren<'tree> {
2424 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
2425 Alias(::std::boxed::Box<Alias<'tree>>),
2426 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
2427 Atom(::std::boxed::Box<Atom<'tree>>),
2428 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
2429 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
2430 Block(::std::boxed::Box<Block<'tree>>),
2431 Boolean(::std::boxed::Box<Boolean<'tree>>),
2432 Call(::std::boxed::Box<Call<'tree>>),
2433 Char(::std::boxed::Box<Char<'tree>>),
2434 Charlist(::std::boxed::Box<Charlist<'tree>>),
2435 Dot(::std::boxed::Box<Dot<'tree>>),
2436 Float(::std::boxed::Box<Float<'tree>>),
2437 Identifier(::std::boxed::Box<Identifier<'tree>>),
2438 Integer(::std::boxed::Box<Integer<'tree>>),
2439 Keywords(::std::boxed::Box<Keywords<'tree>>),
2440 List(::std::boxed::Box<List<'tree>>),
2441 Map(::std::boxed::Box<Map<'tree>>),
2442 Nil(::std::boxed::Box<Nil<'tree>>),
2443 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
2444 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
2445 Sigil(::std::boxed::Box<Sigil<'tree>>),
2446 String(::std::boxed::Box<String<'tree>>),
2447 Tuple(::std::boxed::Box<Tuple<'tree>>),
2448 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
2449}
2450impl<'tree> ::treesitter_types::FromNode<'tree> for ArgumentsChildren<'tree> {
2451 #[allow(clippy::collapsible_else_if)]
2452 fn from_node(
2453 node: ::tree_sitter::Node<'tree>,
2454 src: &'tree [u8],
2455 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
2456 match node.kind() {
2457 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
2458 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
2459 ))),
2460 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
2461 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
2462 ))),
2463 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
2464 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
2465 ))),
2466 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
2467 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
2468 ))),
2469 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
2470 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
2471 ))),
2472 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
2473 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
2474 ))),
2475 "block" => Ok(Self::Block(::std::boxed::Box::new(
2476 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
2477 ))),
2478 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
2479 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
2480 ))),
2481 "call" => Ok(Self::Call(::std::boxed::Box::new(
2482 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
2483 ))),
2484 "char" => Ok(Self::Char(::std::boxed::Box::new(
2485 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
2486 ))),
2487 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
2488 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
2489 ))),
2490 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
2491 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
2492 ))),
2493 "float" => Ok(Self::Float(::std::boxed::Box::new(
2494 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
2495 ))),
2496 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
2497 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
2498 ))),
2499 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
2500 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
2501 ))),
2502 "keywords" => Ok(Self::Keywords(::std::boxed::Box::new(
2503 <Keywords as ::treesitter_types::FromNode>::from_node(node, src)?,
2504 ))),
2505 "list" => Ok(Self::List(::std::boxed::Box::new(
2506 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
2507 ))),
2508 "map" => Ok(Self::Map(::std::boxed::Box::new(
2509 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
2510 ))),
2511 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
2512 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
2513 ))),
2514 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
2515 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
2516 ))),
2517 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
2518 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
2519 ))),
2520 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
2521 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
2522 ))),
2523 "string" => Ok(Self::String(::std::boxed::Box::new(
2524 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
2525 ))),
2526 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
2527 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
2528 ))),
2529 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
2530 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
2531 ))),
2532 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
2533 }
2534 }
2535}
2536impl ::treesitter_types::Spanned for ArgumentsChildren<'_> {
2537 fn span(&self) -> ::treesitter_types::Span {
2538 match self {
2539 Self::AccessCall(inner) => inner.span(),
2540 Self::Alias(inner) => inner.span(),
2541 Self::AnonymousFunction(inner) => inner.span(),
2542 Self::Atom(inner) => inner.span(),
2543 Self::BinaryOperator(inner) => inner.span(),
2544 Self::Bitstring(inner) => inner.span(),
2545 Self::Block(inner) => inner.span(),
2546 Self::Boolean(inner) => inner.span(),
2547 Self::Call(inner) => inner.span(),
2548 Self::Char(inner) => inner.span(),
2549 Self::Charlist(inner) => inner.span(),
2550 Self::Dot(inner) => inner.span(),
2551 Self::Float(inner) => inner.span(),
2552 Self::Identifier(inner) => inner.span(),
2553 Self::Integer(inner) => inner.span(),
2554 Self::Keywords(inner) => inner.span(),
2555 Self::List(inner) => inner.span(),
2556 Self::Map(inner) => inner.span(),
2557 Self::Nil(inner) => inner.span(),
2558 Self::OperatorIdentifier(inner) => inner.span(),
2559 Self::QuotedAtom(inner) => inner.span(),
2560 Self::Sigil(inner) => inner.span(),
2561 Self::String(inner) => inner.span(),
2562 Self::Tuple(inner) => inner.span(),
2563 Self::UnaryOperator(inner) => inner.span(),
2564 }
2565 }
2566}
2567#[derive(Debug, Clone)]
2568pub enum BinaryOperatorLeft<'tree> {
2569 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
2570 Alias(::std::boxed::Box<Alias<'tree>>),
2571 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
2572 Arguments(::std::boxed::Box<Arguments<'tree>>),
2573 Atom(::std::boxed::Box<Atom<'tree>>),
2574 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
2575 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
2576 Block(::std::boxed::Box<Block<'tree>>),
2577 Boolean(::std::boxed::Box<Boolean<'tree>>),
2578 Call(::std::boxed::Box<Call<'tree>>),
2579 Char(::std::boxed::Box<Char<'tree>>),
2580 Charlist(::std::boxed::Box<Charlist<'tree>>),
2581 Dot(::std::boxed::Box<Dot<'tree>>),
2582 Float(::std::boxed::Box<Float<'tree>>),
2583 Identifier(::std::boxed::Box<Identifier<'tree>>),
2584 Integer(::std::boxed::Box<Integer<'tree>>),
2585 List(::std::boxed::Box<List<'tree>>),
2586 Map(::std::boxed::Box<Map<'tree>>),
2587 Nil(::std::boxed::Box<Nil<'tree>>),
2588 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
2589 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
2590 Sigil(::std::boxed::Box<Sigil<'tree>>),
2591 String(::std::boxed::Box<String<'tree>>),
2592 Tuple(::std::boxed::Box<Tuple<'tree>>),
2593 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
2594}
2595impl<'tree> ::treesitter_types::FromNode<'tree> for BinaryOperatorLeft<'tree> {
2596 #[allow(clippy::collapsible_else_if)]
2597 fn from_node(
2598 node: ::tree_sitter::Node<'tree>,
2599 src: &'tree [u8],
2600 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
2601 match node.kind() {
2602 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
2603 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
2604 ))),
2605 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
2606 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
2607 ))),
2608 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
2609 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
2610 ))),
2611 "arguments" => Ok(Self::Arguments(::std::boxed::Box::new(
2612 <Arguments as ::treesitter_types::FromNode>::from_node(node, src)?,
2613 ))),
2614 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
2615 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
2616 ))),
2617 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
2618 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
2619 ))),
2620 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
2621 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
2622 ))),
2623 "block" => Ok(Self::Block(::std::boxed::Box::new(
2624 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
2625 ))),
2626 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
2627 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
2628 ))),
2629 "call" => Ok(Self::Call(::std::boxed::Box::new(
2630 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
2631 ))),
2632 "char" => Ok(Self::Char(::std::boxed::Box::new(
2633 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
2634 ))),
2635 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
2636 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
2637 ))),
2638 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
2639 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
2640 ))),
2641 "float" => Ok(Self::Float(::std::boxed::Box::new(
2642 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
2643 ))),
2644 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
2645 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
2646 ))),
2647 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
2648 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
2649 ))),
2650 "list" => Ok(Self::List(::std::boxed::Box::new(
2651 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
2652 ))),
2653 "map" => Ok(Self::Map(::std::boxed::Box::new(
2654 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
2655 ))),
2656 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
2657 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
2658 ))),
2659 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
2660 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
2661 ))),
2662 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
2663 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
2664 ))),
2665 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
2666 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
2667 ))),
2668 "string" => Ok(Self::String(::std::boxed::Box::new(
2669 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
2670 ))),
2671 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
2672 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
2673 ))),
2674 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
2675 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
2676 ))),
2677 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
2678 }
2679 }
2680}
2681impl ::treesitter_types::Spanned for BinaryOperatorLeft<'_> {
2682 fn span(&self) -> ::treesitter_types::Span {
2683 match self {
2684 Self::AccessCall(inner) => inner.span(),
2685 Self::Alias(inner) => inner.span(),
2686 Self::AnonymousFunction(inner) => inner.span(),
2687 Self::Arguments(inner) => inner.span(),
2688 Self::Atom(inner) => inner.span(),
2689 Self::BinaryOperator(inner) => inner.span(),
2690 Self::Bitstring(inner) => inner.span(),
2691 Self::Block(inner) => inner.span(),
2692 Self::Boolean(inner) => inner.span(),
2693 Self::Call(inner) => inner.span(),
2694 Self::Char(inner) => inner.span(),
2695 Self::Charlist(inner) => inner.span(),
2696 Self::Dot(inner) => inner.span(),
2697 Self::Float(inner) => inner.span(),
2698 Self::Identifier(inner) => inner.span(),
2699 Self::Integer(inner) => inner.span(),
2700 Self::List(inner) => inner.span(),
2701 Self::Map(inner) => inner.span(),
2702 Self::Nil(inner) => inner.span(),
2703 Self::OperatorIdentifier(inner) => inner.span(),
2704 Self::QuotedAtom(inner) => inner.span(),
2705 Self::Sigil(inner) => inner.span(),
2706 Self::String(inner) => inner.span(),
2707 Self::Tuple(inner) => inner.span(),
2708 Self::UnaryOperator(inner) => inner.span(),
2709 }
2710 }
2711}
2712#[derive(Debug, Clone)]
2713pub enum BinaryOperatorOperator {
2714 NotEq(::treesitter_types::Span),
2715 BangEqEq(::treesitter_types::Span),
2716 AmpAmp(::treesitter_types::Span),
2717 AmpAmpAmp(::treesitter_types::Span),
2718 Star(::treesitter_types::Span),
2719 StarStar(::treesitter_types::Span),
2720 Plus(::treesitter_types::Span),
2721 PlusPlus(::treesitter_types::Span),
2722 PlusPlusPlus(::treesitter_types::Span),
2723 Minus(::treesitter_types::Span),
2724 MinusMinus(::treesitter_types::Span),
2725 MinusMinusMinus(::treesitter_types::Span),
2726 DotDot(::treesitter_types::Span),
2727 Slash(::treesitter_types::Span),
2728 SlashSlash(::treesitter_types::Span),
2729 DoubleColon(::treesitter_types::Span),
2730 Lt(::treesitter_types::Span),
2731 LArrow(::treesitter_types::Span),
2732 LtLtLt(::treesitter_types::Span),
2733 LtLtTilde(::treesitter_types::Span),
2734 LtEq(::treesitter_types::Span),
2735 LtGt(::treesitter_types::Span),
2736 LtPipeGt(::treesitter_types::Span),
2737 LtTilde(::treesitter_types::Span),
2738 LtTildeGt(::treesitter_types::Span),
2739 Eq(::treesitter_types::Span),
2740 EqEq(::treesitter_types::Span),
2741 EqEqEq(::treesitter_types::Span),
2742 FatArrow(::treesitter_types::Span),
2743 EqTilde(::treesitter_types::Span),
2744 Gt(::treesitter_types::Span),
2745 GtEq(::treesitter_types::Span),
2746 GtGtGt(::treesitter_types::Span),
2747 BackslashBackslash(::treesitter_types::Span),
2748 CaretCaretCaret(::treesitter_types::Span),
2749 And(::treesitter_types::Span),
2750 In(::treesitter_types::Span),
2751 NOTXIN(::treesitter_types::Span),
2752 Or(::treesitter_types::Span),
2753 When(::treesitter_types::Span),
2754 Pipe(::treesitter_types::Span),
2755 PipeGt(::treesitter_types::Span),
2756 PipePipe(::treesitter_types::Span),
2757 PipePipePipe(::treesitter_types::Span),
2758 TildeGt(::treesitter_types::Span),
2759 TildeGtGt(::treesitter_types::Span),
2760}
2761impl<'tree> ::treesitter_types::FromNode<'tree> for BinaryOperatorOperator {
2762 #[allow(clippy::collapsible_else_if)]
2763 fn from_node(
2764 node: ::tree_sitter::Node<'tree>,
2765 _src: &'tree [u8],
2766 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
2767 match node.kind() {
2768 "!=" => Ok(Self::NotEq(::treesitter_types::Span::from(node))),
2769 "!==" => Ok(Self::BangEqEq(::treesitter_types::Span::from(node))),
2770 "&&" => Ok(Self::AmpAmp(::treesitter_types::Span::from(node))),
2771 "&&&" => Ok(Self::AmpAmpAmp(::treesitter_types::Span::from(node))),
2772 "*" => Ok(Self::Star(::treesitter_types::Span::from(node))),
2773 "**" => Ok(Self::StarStar(::treesitter_types::Span::from(node))),
2774 "+" => Ok(Self::Plus(::treesitter_types::Span::from(node))),
2775 "++" => Ok(Self::PlusPlus(::treesitter_types::Span::from(node))),
2776 "+++" => Ok(Self::PlusPlusPlus(::treesitter_types::Span::from(node))),
2777 "-" => Ok(Self::Minus(::treesitter_types::Span::from(node))),
2778 "--" => Ok(Self::MinusMinus(::treesitter_types::Span::from(node))),
2779 "---" => Ok(Self::MinusMinusMinus(::treesitter_types::Span::from(node))),
2780 ".." => Ok(Self::DotDot(::treesitter_types::Span::from(node))),
2781 "/" => Ok(Self::Slash(::treesitter_types::Span::from(node))),
2782 "//" => Ok(Self::SlashSlash(::treesitter_types::Span::from(node))),
2783 "::" => Ok(Self::DoubleColon(::treesitter_types::Span::from(node))),
2784 "<" => Ok(Self::Lt(::treesitter_types::Span::from(node))),
2785 "<-" => Ok(Self::LArrow(::treesitter_types::Span::from(node))),
2786 "<<<" => Ok(Self::LtLtLt(::treesitter_types::Span::from(node))),
2787 "<<~" => Ok(Self::LtLtTilde(::treesitter_types::Span::from(node))),
2788 "<=" => Ok(Self::LtEq(::treesitter_types::Span::from(node))),
2789 "<>" => Ok(Self::LtGt(::treesitter_types::Span::from(node))),
2790 "<|>" => Ok(Self::LtPipeGt(::treesitter_types::Span::from(node))),
2791 "<~" => Ok(Self::LtTilde(::treesitter_types::Span::from(node))),
2792 "<~>" => Ok(Self::LtTildeGt(::treesitter_types::Span::from(node))),
2793 "=" => Ok(Self::Eq(::treesitter_types::Span::from(node))),
2794 "==" => Ok(Self::EqEq(::treesitter_types::Span::from(node))),
2795 "===" => Ok(Self::EqEqEq(::treesitter_types::Span::from(node))),
2796 "=>" => Ok(Self::FatArrow(::treesitter_types::Span::from(node))),
2797 "=~" => Ok(Self::EqTilde(::treesitter_types::Span::from(node))),
2798 ">" => Ok(Self::Gt(::treesitter_types::Span::from(node))),
2799 ">=" => Ok(Self::GtEq(::treesitter_types::Span::from(node))),
2800 ">>>" => Ok(Self::GtGtGt(::treesitter_types::Span::from(node))),
2801 "\\\\" => Ok(Self::BackslashBackslash(::treesitter_types::Span::from(
2802 node,
2803 ))),
2804 "^^^" => Ok(Self::CaretCaretCaret(::treesitter_types::Span::from(node))),
2805 "and" => Ok(Self::And(::treesitter_types::Span::from(node))),
2806 "in" => Ok(Self::In(::treesitter_types::Span::from(node))),
2807 "not in" => Ok(Self::NOTXIN(::treesitter_types::Span::from(node))),
2808 "or" => Ok(Self::Or(::treesitter_types::Span::from(node))),
2809 "when" => Ok(Self::When(::treesitter_types::Span::from(node))),
2810 "|" => Ok(Self::Pipe(::treesitter_types::Span::from(node))),
2811 "|>" => Ok(Self::PipeGt(::treesitter_types::Span::from(node))),
2812 "||" => Ok(Self::PipePipe(::treesitter_types::Span::from(node))),
2813 "|||" => Ok(Self::PipePipePipe(::treesitter_types::Span::from(node))),
2814 "~>" => Ok(Self::TildeGt(::treesitter_types::Span::from(node))),
2815 "~>>" => Ok(Self::TildeGtGt(::treesitter_types::Span::from(node))),
2816 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
2817 }
2818 }
2819}
2820impl ::treesitter_types::Spanned for BinaryOperatorOperator {
2821 fn span(&self) -> ::treesitter_types::Span {
2822 match self {
2823 Self::NotEq(span) => *span,
2824 Self::BangEqEq(span) => *span,
2825 Self::AmpAmp(span) => *span,
2826 Self::AmpAmpAmp(span) => *span,
2827 Self::Star(span) => *span,
2828 Self::StarStar(span) => *span,
2829 Self::Plus(span) => *span,
2830 Self::PlusPlus(span) => *span,
2831 Self::PlusPlusPlus(span) => *span,
2832 Self::Minus(span) => *span,
2833 Self::MinusMinus(span) => *span,
2834 Self::MinusMinusMinus(span) => *span,
2835 Self::DotDot(span) => *span,
2836 Self::Slash(span) => *span,
2837 Self::SlashSlash(span) => *span,
2838 Self::DoubleColon(span) => *span,
2839 Self::Lt(span) => *span,
2840 Self::LArrow(span) => *span,
2841 Self::LtLtLt(span) => *span,
2842 Self::LtLtTilde(span) => *span,
2843 Self::LtEq(span) => *span,
2844 Self::LtGt(span) => *span,
2845 Self::LtPipeGt(span) => *span,
2846 Self::LtTilde(span) => *span,
2847 Self::LtTildeGt(span) => *span,
2848 Self::Eq(span) => *span,
2849 Self::EqEq(span) => *span,
2850 Self::EqEqEq(span) => *span,
2851 Self::FatArrow(span) => *span,
2852 Self::EqTilde(span) => *span,
2853 Self::Gt(span) => *span,
2854 Self::GtEq(span) => *span,
2855 Self::GtGtGt(span) => *span,
2856 Self::BackslashBackslash(span) => *span,
2857 Self::CaretCaretCaret(span) => *span,
2858 Self::And(span) => *span,
2859 Self::In(span) => *span,
2860 Self::NOTXIN(span) => *span,
2861 Self::Or(span) => *span,
2862 Self::When(span) => *span,
2863 Self::Pipe(span) => *span,
2864 Self::PipeGt(span) => *span,
2865 Self::PipePipe(span) => *span,
2866 Self::PipePipePipe(span) => *span,
2867 Self::TildeGt(span) => *span,
2868 Self::TildeGtGt(span) => *span,
2869 }
2870 }
2871}
2872#[derive(Debug, Clone)]
2873pub enum BinaryOperatorRight<'tree> {
2874 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
2875 Alias(::std::boxed::Box<Alias<'tree>>),
2876 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
2877 Atom(::std::boxed::Box<Atom<'tree>>),
2878 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
2879 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
2880 Block(::std::boxed::Box<Block<'tree>>),
2881 Boolean(::std::boxed::Box<Boolean<'tree>>),
2882 Call(::std::boxed::Box<Call<'tree>>),
2883 Char(::std::boxed::Box<Char<'tree>>),
2884 Charlist(::std::boxed::Box<Charlist<'tree>>),
2885 Dot(::std::boxed::Box<Dot<'tree>>),
2886 Float(::std::boxed::Box<Float<'tree>>),
2887 Identifier(::std::boxed::Box<Identifier<'tree>>),
2888 Integer(::std::boxed::Box<Integer<'tree>>),
2889 Keywords(::std::boxed::Box<Keywords<'tree>>),
2890 List(::std::boxed::Box<List<'tree>>),
2891 Map(::std::boxed::Box<Map<'tree>>),
2892 Nil(::std::boxed::Box<Nil<'tree>>),
2893 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
2894 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
2895 Sigil(::std::boxed::Box<Sigil<'tree>>),
2896 String(::std::boxed::Box<String<'tree>>),
2897 Tuple(::std::boxed::Box<Tuple<'tree>>),
2898 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
2899}
2900impl<'tree> ::treesitter_types::FromNode<'tree> for BinaryOperatorRight<'tree> {
2901 #[allow(clippy::collapsible_else_if)]
2902 fn from_node(
2903 node: ::tree_sitter::Node<'tree>,
2904 src: &'tree [u8],
2905 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
2906 match node.kind() {
2907 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
2908 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
2909 ))),
2910 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
2911 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
2912 ))),
2913 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
2914 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
2915 ))),
2916 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
2917 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
2918 ))),
2919 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
2920 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
2921 ))),
2922 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
2923 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
2924 ))),
2925 "block" => Ok(Self::Block(::std::boxed::Box::new(
2926 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
2927 ))),
2928 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
2929 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
2930 ))),
2931 "call" => Ok(Self::Call(::std::boxed::Box::new(
2932 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
2933 ))),
2934 "char" => Ok(Self::Char(::std::boxed::Box::new(
2935 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
2936 ))),
2937 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
2938 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
2939 ))),
2940 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
2941 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
2942 ))),
2943 "float" => Ok(Self::Float(::std::boxed::Box::new(
2944 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
2945 ))),
2946 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
2947 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
2948 ))),
2949 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
2950 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
2951 ))),
2952 "keywords" => Ok(Self::Keywords(::std::boxed::Box::new(
2953 <Keywords as ::treesitter_types::FromNode>::from_node(node, src)?,
2954 ))),
2955 "list" => Ok(Self::List(::std::boxed::Box::new(
2956 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
2957 ))),
2958 "map" => Ok(Self::Map(::std::boxed::Box::new(
2959 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
2960 ))),
2961 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
2962 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
2963 ))),
2964 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
2965 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
2966 ))),
2967 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
2968 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
2969 ))),
2970 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
2971 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
2972 ))),
2973 "string" => Ok(Self::String(::std::boxed::Box::new(
2974 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
2975 ))),
2976 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
2977 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
2978 ))),
2979 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
2980 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
2981 ))),
2982 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
2983 }
2984 }
2985}
2986impl ::treesitter_types::Spanned for BinaryOperatorRight<'_> {
2987 fn span(&self) -> ::treesitter_types::Span {
2988 match self {
2989 Self::AccessCall(inner) => inner.span(),
2990 Self::Alias(inner) => inner.span(),
2991 Self::AnonymousFunction(inner) => inner.span(),
2992 Self::Atom(inner) => inner.span(),
2993 Self::BinaryOperator(inner) => inner.span(),
2994 Self::Bitstring(inner) => inner.span(),
2995 Self::Block(inner) => inner.span(),
2996 Self::Boolean(inner) => inner.span(),
2997 Self::Call(inner) => inner.span(),
2998 Self::Char(inner) => inner.span(),
2999 Self::Charlist(inner) => inner.span(),
3000 Self::Dot(inner) => inner.span(),
3001 Self::Float(inner) => inner.span(),
3002 Self::Identifier(inner) => inner.span(),
3003 Self::Integer(inner) => inner.span(),
3004 Self::Keywords(inner) => inner.span(),
3005 Self::List(inner) => inner.span(),
3006 Self::Map(inner) => inner.span(),
3007 Self::Nil(inner) => inner.span(),
3008 Self::OperatorIdentifier(inner) => inner.span(),
3009 Self::QuotedAtom(inner) => inner.span(),
3010 Self::Sigil(inner) => inner.span(),
3011 Self::String(inner) => inner.span(),
3012 Self::Tuple(inner) => inner.span(),
3013 Self::UnaryOperator(inner) => inner.span(),
3014 }
3015 }
3016}
3017#[derive(Debug, Clone)]
3018pub enum BitstringChildren<'tree> {
3019 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
3020 Alias(::std::boxed::Box<Alias<'tree>>),
3021 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
3022 Atom(::std::boxed::Box<Atom<'tree>>),
3023 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
3024 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
3025 Block(::std::boxed::Box<Block<'tree>>),
3026 Boolean(::std::boxed::Box<Boolean<'tree>>),
3027 Call(::std::boxed::Box<Call<'tree>>),
3028 Char(::std::boxed::Box<Char<'tree>>),
3029 Charlist(::std::boxed::Box<Charlist<'tree>>),
3030 Dot(::std::boxed::Box<Dot<'tree>>),
3031 Float(::std::boxed::Box<Float<'tree>>),
3032 Identifier(::std::boxed::Box<Identifier<'tree>>),
3033 Integer(::std::boxed::Box<Integer<'tree>>),
3034 Keywords(::std::boxed::Box<Keywords<'tree>>),
3035 List(::std::boxed::Box<List<'tree>>),
3036 Map(::std::boxed::Box<Map<'tree>>),
3037 Nil(::std::boxed::Box<Nil<'tree>>),
3038 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
3039 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
3040 Sigil(::std::boxed::Box<Sigil<'tree>>),
3041 String(::std::boxed::Box<String<'tree>>),
3042 Tuple(::std::boxed::Box<Tuple<'tree>>),
3043 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
3044}
3045impl<'tree> ::treesitter_types::FromNode<'tree> for BitstringChildren<'tree> {
3046 #[allow(clippy::collapsible_else_if)]
3047 fn from_node(
3048 node: ::tree_sitter::Node<'tree>,
3049 src: &'tree [u8],
3050 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
3051 match node.kind() {
3052 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
3053 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
3054 ))),
3055 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
3056 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
3057 ))),
3058 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
3059 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
3060 ))),
3061 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
3062 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
3063 ))),
3064 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
3065 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
3066 ))),
3067 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
3068 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
3069 ))),
3070 "block" => Ok(Self::Block(::std::boxed::Box::new(
3071 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
3072 ))),
3073 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
3074 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
3075 ))),
3076 "call" => Ok(Self::Call(::std::boxed::Box::new(
3077 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
3078 ))),
3079 "char" => Ok(Self::Char(::std::boxed::Box::new(
3080 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
3081 ))),
3082 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
3083 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
3084 ))),
3085 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
3086 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
3087 ))),
3088 "float" => Ok(Self::Float(::std::boxed::Box::new(
3089 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
3090 ))),
3091 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
3092 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
3093 ))),
3094 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
3095 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
3096 ))),
3097 "keywords" => Ok(Self::Keywords(::std::boxed::Box::new(
3098 <Keywords as ::treesitter_types::FromNode>::from_node(node, src)?,
3099 ))),
3100 "list" => Ok(Self::List(::std::boxed::Box::new(
3101 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
3102 ))),
3103 "map" => Ok(Self::Map(::std::boxed::Box::new(
3104 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
3105 ))),
3106 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
3107 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
3108 ))),
3109 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
3110 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
3111 ))),
3112 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
3113 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
3114 ))),
3115 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
3116 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
3117 ))),
3118 "string" => Ok(Self::String(::std::boxed::Box::new(
3119 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
3120 ))),
3121 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
3122 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
3123 ))),
3124 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
3125 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
3126 ))),
3127 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
3128 }
3129 }
3130}
3131impl ::treesitter_types::Spanned for BitstringChildren<'_> {
3132 fn span(&self) -> ::treesitter_types::Span {
3133 match self {
3134 Self::AccessCall(inner) => inner.span(),
3135 Self::Alias(inner) => inner.span(),
3136 Self::AnonymousFunction(inner) => inner.span(),
3137 Self::Atom(inner) => inner.span(),
3138 Self::BinaryOperator(inner) => inner.span(),
3139 Self::Bitstring(inner) => inner.span(),
3140 Self::Block(inner) => inner.span(),
3141 Self::Boolean(inner) => inner.span(),
3142 Self::Call(inner) => inner.span(),
3143 Self::Char(inner) => inner.span(),
3144 Self::Charlist(inner) => inner.span(),
3145 Self::Dot(inner) => inner.span(),
3146 Self::Float(inner) => inner.span(),
3147 Self::Identifier(inner) => inner.span(),
3148 Self::Integer(inner) => inner.span(),
3149 Self::Keywords(inner) => inner.span(),
3150 Self::List(inner) => inner.span(),
3151 Self::Map(inner) => inner.span(),
3152 Self::Nil(inner) => inner.span(),
3153 Self::OperatorIdentifier(inner) => inner.span(),
3154 Self::QuotedAtom(inner) => inner.span(),
3155 Self::Sigil(inner) => inner.span(),
3156 Self::String(inner) => inner.span(),
3157 Self::Tuple(inner) => inner.span(),
3158 Self::UnaryOperator(inner) => inner.span(),
3159 }
3160 }
3161}
3162#[derive(Debug, Clone)]
3163pub enum BlockChildren<'tree> {
3164 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
3165 Alias(::std::boxed::Box<Alias<'tree>>),
3166 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
3167 Atom(::std::boxed::Box<Atom<'tree>>),
3168 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
3169 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
3170 Block(::std::boxed::Box<Block<'tree>>),
3171 Boolean(::std::boxed::Box<Boolean<'tree>>),
3172 Call(::std::boxed::Box<Call<'tree>>),
3173 Char(::std::boxed::Box<Char<'tree>>),
3174 Charlist(::std::boxed::Box<Charlist<'tree>>),
3175 Dot(::std::boxed::Box<Dot<'tree>>),
3176 Float(::std::boxed::Box<Float<'tree>>),
3177 Identifier(::std::boxed::Box<Identifier<'tree>>),
3178 Integer(::std::boxed::Box<Integer<'tree>>),
3179 List(::std::boxed::Box<List<'tree>>),
3180 Map(::std::boxed::Box<Map<'tree>>),
3181 Nil(::std::boxed::Box<Nil<'tree>>),
3182 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
3183 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
3184 Sigil(::std::boxed::Box<Sigil<'tree>>),
3185 StabClause(::std::boxed::Box<StabClause<'tree>>),
3186 String(::std::boxed::Box<String<'tree>>),
3187 Tuple(::std::boxed::Box<Tuple<'tree>>),
3188 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
3189}
3190impl<'tree> ::treesitter_types::FromNode<'tree> for BlockChildren<'tree> {
3191 #[allow(clippy::collapsible_else_if)]
3192 fn from_node(
3193 node: ::tree_sitter::Node<'tree>,
3194 src: &'tree [u8],
3195 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
3196 match node.kind() {
3197 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
3198 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
3199 ))),
3200 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
3201 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
3202 ))),
3203 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
3204 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
3205 ))),
3206 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
3207 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
3208 ))),
3209 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
3210 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
3211 ))),
3212 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
3213 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
3214 ))),
3215 "block" => Ok(Self::Block(::std::boxed::Box::new(
3216 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
3217 ))),
3218 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
3219 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
3220 ))),
3221 "call" => Ok(Self::Call(::std::boxed::Box::new(
3222 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
3223 ))),
3224 "char" => Ok(Self::Char(::std::boxed::Box::new(
3225 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
3226 ))),
3227 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
3228 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
3229 ))),
3230 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
3231 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
3232 ))),
3233 "float" => Ok(Self::Float(::std::boxed::Box::new(
3234 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
3235 ))),
3236 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
3237 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
3238 ))),
3239 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
3240 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
3241 ))),
3242 "list" => Ok(Self::List(::std::boxed::Box::new(
3243 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
3244 ))),
3245 "map" => Ok(Self::Map(::std::boxed::Box::new(
3246 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
3247 ))),
3248 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
3249 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
3250 ))),
3251 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
3252 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
3253 ))),
3254 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
3255 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
3256 ))),
3257 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
3258 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
3259 ))),
3260 "stab_clause" => Ok(Self::StabClause(::std::boxed::Box::new(
3261 <StabClause as ::treesitter_types::FromNode>::from_node(node, src)?,
3262 ))),
3263 "string" => Ok(Self::String(::std::boxed::Box::new(
3264 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
3265 ))),
3266 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
3267 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
3268 ))),
3269 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
3270 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
3271 ))),
3272 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
3273 }
3274 }
3275}
3276impl ::treesitter_types::Spanned for BlockChildren<'_> {
3277 fn span(&self) -> ::treesitter_types::Span {
3278 match self {
3279 Self::AccessCall(inner) => inner.span(),
3280 Self::Alias(inner) => inner.span(),
3281 Self::AnonymousFunction(inner) => inner.span(),
3282 Self::Atom(inner) => inner.span(),
3283 Self::BinaryOperator(inner) => inner.span(),
3284 Self::Bitstring(inner) => inner.span(),
3285 Self::Block(inner) => inner.span(),
3286 Self::Boolean(inner) => inner.span(),
3287 Self::Call(inner) => inner.span(),
3288 Self::Char(inner) => inner.span(),
3289 Self::Charlist(inner) => inner.span(),
3290 Self::Dot(inner) => inner.span(),
3291 Self::Float(inner) => inner.span(),
3292 Self::Identifier(inner) => inner.span(),
3293 Self::Integer(inner) => inner.span(),
3294 Self::List(inner) => inner.span(),
3295 Self::Map(inner) => inner.span(),
3296 Self::Nil(inner) => inner.span(),
3297 Self::OperatorIdentifier(inner) => inner.span(),
3298 Self::QuotedAtom(inner) => inner.span(),
3299 Self::Sigil(inner) => inner.span(),
3300 Self::StabClause(inner) => inner.span(),
3301 Self::String(inner) => inner.span(),
3302 Self::Tuple(inner) => inner.span(),
3303 Self::UnaryOperator(inner) => inner.span(),
3304 }
3305 }
3306}
3307#[derive(Debug, Clone)]
3308pub enum BodyChildren<'tree> {
3309 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
3310 Alias(::std::boxed::Box<Alias<'tree>>),
3311 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
3312 Atom(::std::boxed::Box<Atom<'tree>>),
3313 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
3314 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
3315 Block(::std::boxed::Box<Block<'tree>>),
3316 Boolean(::std::boxed::Box<Boolean<'tree>>),
3317 Call(::std::boxed::Box<Call<'tree>>),
3318 Char(::std::boxed::Box<Char<'tree>>),
3319 Charlist(::std::boxed::Box<Charlist<'tree>>),
3320 Dot(::std::boxed::Box<Dot<'tree>>),
3321 Float(::std::boxed::Box<Float<'tree>>),
3322 Identifier(::std::boxed::Box<Identifier<'tree>>),
3323 Integer(::std::boxed::Box<Integer<'tree>>),
3324 List(::std::boxed::Box<List<'tree>>),
3325 Map(::std::boxed::Box<Map<'tree>>),
3326 Nil(::std::boxed::Box<Nil<'tree>>),
3327 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
3328 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
3329 Sigil(::std::boxed::Box<Sigil<'tree>>),
3330 String(::std::boxed::Box<String<'tree>>),
3331 Tuple(::std::boxed::Box<Tuple<'tree>>),
3332 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
3333}
3334impl<'tree> ::treesitter_types::FromNode<'tree> for BodyChildren<'tree> {
3335 #[allow(clippy::collapsible_else_if)]
3336 fn from_node(
3337 node: ::tree_sitter::Node<'tree>,
3338 src: &'tree [u8],
3339 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
3340 match node.kind() {
3341 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
3342 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
3343 ))),
3344 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
3345 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
3346 ))),
3347 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
3348 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
3349 ))),
3350 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
3351 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
3352 ))),
3353 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
3354 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
3355 ))),
3356 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
3357 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
3358 ))),
3359 "block" => Ok(Self::Block(::std::boxed::Box::new(
3360 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
3361 ))),
3362 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
3363 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
3364 ))),
3365 "call" => Ok(Self::Call(::std::boxed::Box::new(
3366 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
3367 ))),
3368 "char" => Ok(Self::Char(::std::boxed::Box::new(
3369 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
3370 ))),
3371 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
3372 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
3373 ))),
3374 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
3375 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
3376 ))),
3377 "float" => Ok(Self::Float(::std::boxed::Box::new(
3378 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
3379 ))),
3380 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
3381 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
3382 ))),
3383 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
3384 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
3385 ))),
3386 "list" => Ok(Self::List(::std::boxed::Box::new(
3387 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
3388 ))),
3389 "map" => Ok(Self::Map(::std::boxed::Box::new(
3390 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
3391 ))),
3392 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
3393 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
3394 ))),
3395 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
3396 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
3397 ))),
3398 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
3399 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
3400 ))),
3401 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
3402 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
3403 ))),
3404 "string" => Ok(Self::String(::std::boxed::Box::new(
3405 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
3406 ))),
3407 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
3408 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
3409 ))),
3410 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
3411 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
3412 ))),
3413 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
3414 }
3415 }
3416}
3417impl ::treesitter_types::Spanned for BodyChildren<'_> {
3418 fn span(&self) -> ::treesitter_types::Span {
3419 match self {
3420 Self::AccessCall(inner) => inner.span(),
3421 Self::Alias(inner) => inner.span(),
3422 Self::AnonymousFunction(inner) => inner.span(),
3423 Self::Atom(inner) => inner.span(),
3424 Self::BinaryOperator(inner) => inner.span(),
3425 Self::Bitstring(inner) => inner.span(),
3426 Self::Block(inner) => inner.span(),
3427 Self::Boolean(inner) => inner.span(),
3428 Self::Call(inner) => inner.span(),
3429 Self::Char(inner) => inner.span(),
3430 Self::Charlist(inner) => inner.span(),
3431 Self::Dot(inner) => inner.span(),
3432 Self::Float(inner) => inner.span(),
3433 Self::Identifier(inner) => inner.span(),
3434 Self::Integer(inner) => inner.span(),
3435 Self::List(inner) => inner.span(),
3436 Self::Map(inner) => inner.span(),
3437 Self::Nil(inner) => inner.span(),
3438 Self::OperatorIdentifier(inner) => inner.span(),
3439 Self::QuotedAtom(inner) => inner.span(),
3440 Self::Sigil(inner) => inner.span(),
3441 Self::String(inner) => inner.span(),
3442 Self::Tuple(inner) => inner.span(),
3443 Self::UnaryOperator(inner) => inner.span(),
3444 }
3445 }
3446}
3447#[derive(Debug, Clone)]
3448pub enum CallTarget<'tree> {
3449 Call(::std::boxed::Box<Call<'tree>>),
3450 Dot(::std::boxed::Box<Dot<'tree>>),
3451 Identifier(::std::boxed::Box<Identifier<'tree>>),
3452}
3453impl<'tree> ::treesitter_types::FromNode<'tree> for CallTarget<'tree> {
3454 #[allow(clippy::collapsible_else_if)]
3455 fn from_node(
3456 node: ::tree_sitter::Node<'tree>,
3457 src: &'tree [u8],
3458 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
3459 match node.kind() {
3460 "call" => Ok(Self::Call(::std::boxed::Box::new(
3461 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
3462 ))),
3463 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
3464 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
3465 ))),
3466 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
3467 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
3468 ))),
3469 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
3470 }
3471 }
3472}
3473impl ::treesitter_types::Spanned for CallTarget<'_> {
3474 fn span(&self) -> ::treesitter_types::Span {
3475 match self {
3476 Self::Call(inner) => inner.span(),
3477 Self::Dot(inner) => inner.span(),
3478 Self::Identifier(inner) => inner.span(),
3479 }
3480 }
3481}
3482#[derive(Debug, Clone)]
3483pub enum CallChildren<'tree> {
3484 Arguments(::std::boxed::Box<Arguments<'tree>>),
3485 DoBlock(::std::boxed::Box<DoBlock<'tree>>),
3486}
3487impl<'tree> ::treesitter_types::FromNode<'tree> for CallChildren<'tree> {
3488 #[allow(clippy::collapsible_else_if)]
3489 fn from_node(
3490 node: ::tree_sitter::Node<'tree>,
3491 src: &'tree [u8],
3492 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
3493 match node.kind() {
3494 "arguments" => Ok(Self::Arguments(::std::boxed::Box::new(
3495 <Arguments as ::treesitter_types::FromNode>::from_node(node, src)?,
3496 ))),
3497 "do_block" => Ok(Self::DoBlock(::std::boxed::Box::new(
3498 <DoBlock as ::treesitter_types::FromNode>::from_node(node, src)?,
3499 ))),
3500 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
3501 }
3502 }
3503}
3504impl ::treesitter_types::Spanned for CallChildren<'_> {
3505 fn span(&self) -> ::treesitter_types::Span {
3506 match self {
3507 Self::Arguments(inner) => inner.span(),
3508 Self::DoBlock(inner) => inner.span(),
3509 }
3510 }
3511}
3512#[derive(Debug, Clone)]
3513pub enum CatchBlockChildren<'tree> {
3514 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
3515 Alias(::std::boxed::Box<Alias<'tree>>),
3516 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
3517 Atom(::std::boxed::Box<Atom<'tree>>),
3518 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
3519 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
3520 Block(::std::boxed::Box<Block<'tree>>),
3521 Boolean(::std::boxed::Box<Boolean<'tree>>),
3522 Call(::std::boxed::Box<Call<'tree>>),
3523 Char(::std::boxed::Box<Char<'tree>>),
3524 Charlist(::std::boxed::Box<Charlist<'tree>>),
3525 Dot(::std::boxed::Box<Dot<'tree>>),
3526 Float(::std::boxed::Box<Float<'tree>>),
3527 Identifier(::std::boxed::Box<Identifier<'tree>>),
3528 Integer(::std::boxed::Box<Integer<'tree>>),
3529 List(::std::boxed::Box<List<'tree>>),
3530 Map(::std::boxed::Box<Map<'tree>>),
3531 Nil(::std::boxed::Box<Nil<'tree>>),
3532 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
3533 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
3534 Sigil(::std::boxed::Box<Sigil<'tree>>),
3535 StabClause(::std::boxed::Box<StabClause<'tree>>),
3536 String(::std::boxed::Box<String<'tree>>),
3537 Tuple(::std::boxed::Box<Tuple<'tree>>),
3538 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
3539}
3540impl<'tree> ::treesitter_types::FromNode<'tree> for CatchBlockChildren<'tree> {
3541 #[allow(clippy::collapsible_else_if)]
3542 fn from_node(
3543 node: ::tree_sitter::Node<'tree>,
3544 src: &'tree [u8],
3545 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
3546 match node.kind() {
3547 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
3548 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
3549 ))),
3550 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
3551 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
3552 ))),
3553 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
3554 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
3555 ))),
3556 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
3557 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
3558 ))),
3559 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
3560 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
3561 ))),
3562 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
3563 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
3564 ))),
3565 "block" => Ok(Self::Block(::std::boxed::Box::new(
3566 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
3567 ))),
3568 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
3569 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
3570 ))),
3571 "call" => Ok(Self::Call(::std::boxed::Box::new(
3572 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
3573 ))),
3574 "char" => Ok(Self::Char(::std::boxed::Box::new(
3575 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
3576 ))),
3577 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
3578 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
3579 ))),
3580 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
3581 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
3582 ))),
3583 "float" => Ok(Self::Float(::std::boxed::Box::new(
3584 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
3585 ))),
3586 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
3587 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
3588 ))),
3589 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
3590 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
3591 ))),
3592 "list" => Ok(Self::List(::std::boxed::Box::new(
3593 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
3594 ))),
3595 "map" => Ok(Self::Map(::std::boxed::Box::new(
3596 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
3597 ))),
3598 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
3599 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
3600 ))),
3601 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
3602 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
3603 ))),
3604 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
3605 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
3606 ))),
3607 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
3608 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
3609 ))),
3610 "stab_clause" => Ok(Self::StabClause(::std::boxed::Box::new(
3611 <StabClause as ::treesitter_types::FromNode>::from_node(node, src)?,
3612 ))),
3613 "string" => Ok(Self::String(::std::boxed::Box::new(
3614 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
3615 ))),
3616 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
3617 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
3618 ))),
3619 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
3620 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
3621 ))),
3622 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
3623 }
3624 }
3625}
3626impl ::treesitter_types::Spanned for CatchBlockChildren<'_> {
3627 fn span(&self) -> ::treesitter_types::Span {
3628 match self {
3629 Self::AccessCall(inner) => inner.span(),
3630 Self::Alias(inner) => inner.span(),
3631 Self::AnonymousFunction(inner) => inner.span(),
3632 Self::Atom(inner) => inner.span(),
3633 Self::BinaryOperator(inner) => inner.span(),
3634 Self::Bitstring(inner) => inner.span(),
3635 Self::Block(inner) => inner.span(),
3636 Self::Boolean(inner) => inner.span(),
3637 Self::Call(inner) => inner.span(),
3638 Self::Char(inner) => inner.span(),
3639 Self::Charlist(inner) => inner.span(),
3640 Self::Dot(inner) => inner.span(),
3641 Self::Float(inner) => inner.span(),
3642 Self::Identifier(inner) => inner.span(),
3643 Self::Integer(inner) => inner.span(),
3644 Self::List(inner) => inner.span(),
3645 Self::Map(inner) => inner.span(),
3646 Self::Nil(inner) => inner.span(),
3647 Self::OperatorIdentifier(inner) => inner.span(),
3648 Self::QuotedAtom(inner) => inner.span(),
3649 Self::Sigil(inner) => inner.span(),
3650 Self::StabClause(inner) => inner.span(),
3651 Self::String(inner) => inner.span(),
3652 Self::Tuple(inner) => inner.span(),
3653 Self::UnaryOperator(inner) => inner.span(),
3654 }
3655 }
3656}
3657#[derive(Debug, Clone)]
3658pub enum CharlistQuotedEnd {
3659 SingleQuote(::treesitter_types::Span),
3660 SQuoteSQuoteSQuote(::treesitter_types::Span),
3661}
3662impl<'tree> ::treesitter_types::FromNode<'tree> for CharlistQuotedEnd {
3663 #[allow(clippy::collapsible_else_if)]
3664 fn from_node(
3665 node: ::tree_sitter::Node<'tree>,
3666 _src: &'tree [u8],
3667 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
3668 match node.kind() {
3669 "'" => Ok(Self::SingleQuote(::treesitter_types::Span::from(node))),
3670 "'''" => Ok(Self::SQuoteSQuoteSQuote(::treesitter_types::Span::from(
3671 node,
3672 ))),
3673 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
3674 }
3675 }
3676}
3677impl ::treesitter_types::Spanned for CharlistQuotedEnd {
3678 fn span(&self) -> ::treesitter_types::Span {
3679 match self {
3680 Self::SingleQuote(span) => *span,
3681 Self::SQuoteSQuoteSQuote(span) => *span,
3682 }
3683 }
3684}
3685#[derive(Debug, Clone)]
3686pub enum CharlistQuotedStart {
3687 SingleQuote(::treesitter_types::Span),
3688 SQuoteSQuoteSQuote(::treesitter_types::Span),
3689}
3690impl<'tree> ::treesitter_types::FromNode<'tree> for CharlistQuotedStart {
3691 #[allow(clippy::collapsible_else_if)]
3692 fn from_node(
3693 node: ::tree_sitter::Node<'tree>,
3694 _src: &'tree [u8],
3695 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
3696 match node.kind() {
3697 "'" => Ok(Self::SingleQuote(::treesitter_types::Span::from(node))),
3698 "'''" => Ok(Self::SQuoteSQuoteSQuote(::treesitter_types::Span::from(
3699 node,
3700 ))),
3701 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
3702 }
3703 }
3704}
3705impl ::treesitter_types::Spanned for CharlistQuotedStart {
3706 fn span(&self) -> ::treesitter_types::Span {
3707 match self {
3708 Self::SingleQuote(span) => *span,
3709 Self::SQuoteSQuoteSQuote(span) => *span,
3710 }
3711 }
3712}
3713#[derive(Debug, Clone)]
3714pub enum CharlistChildren<'tree> {
3715 EscapeSequence(::std::boxed::Box<EscapeSequence<'tree>>),
3716 Interpolation(::std::boxed::Box<Interpolation<'tree>>),
3717 QuotedContent(::std::boxed::Box<QuotedContent<'tree>>),
3718}
3719impl<'tree> ::treesitter_types::FromNode<'tree> for CharlistChildren<'tree> {
3720 #[allow(clippy::collapsible_else_if)]
3721 fn from_node(
3722 node: ::tree_sitter::Node<'tree>,
3723 src: &'tree [u8],
3724 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
3725 match node.kind() {
3726 "escape_sequence" => Ok(Self::EscapeSequence(::std::boxed::Box::new(
3727 <EscapeSequence as ::treesitter_types::FromNode>::from_node(node, src)?,
3728 ))),
3729 "interpolation" => Ok(Self::Interpolation(::std::boxed::Box::new(
3730 <Interpolation as ::treesitter_types::FromNode>::from_node(node, src)?,
3731 ))),
3732 "quoted_content" => Ok(Self::QuotedContent(::std::boxed::Box::new(
3733 <QuotedContent as ::treesitter_types::FromNode>::from_node(node, src)?,
3734 ))),
3735 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
3736 }
3737 }
3738}
3739impl ::treesitter_types::Spanned for CharlistChildren<'_> {
3740 fn span(&self) -> ::treesitter_types::Span {
3741 match self {
3742 Self::EscapeSequence(inner) => inner.span(),
3743 Self::Interpolation(inner) => inner.span(),
3744 Self::QuotedContent(inner) => inner.span(),
3745 }
3746 }
3747}
3748#[derive(Debug, Clone)]
3749pub enum DoBlockChildren<'tree> {
3750 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
3751 AfterBlock(::std::boxed::Box<AfterBlock<'tree>>),
3752 Alias(::std::boxed::Box<Alias<'tree>>),
3753 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
3754 Atom(::std::boxed::Box<Atom<'tree>>),
3755 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
3756 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
3757 Block(::std::boxed::Box<Block<'tree>>),
3758 Boolean(::std::boxed::Box<Boolean<'tree>>),
3759 Call(::std::boxed::Box<Call<'tree>>),
3760 CatchBlock(::std::boxed::Box<CatchBlock<'tree>>),
3761 Char(::std::boxed::Box<Char<'tree>>),
3762 Charlist(::std::boxed::Box<Charlist<'tree>>),
3763 Dot(::std::boxed::Box<Dot<'tree>>),
3764 ElseBlock(::std::boxed::Box<ElseBlock<'tree>>),
3765 Float(::std::boxed::Box<Float<'tree>>),
3766 Identifier(::std::boxed::Box<Identifier<'tree>>),
3767 Integer(::std::boxed::Box<Integer<'tree>>),
3768 List(::std::boxed::Box<List<'tree>>),
3769 Map(::std::boxed::Box<Map<'tree>>),
3770 Nil(::std::boxed::Box<Nil<'tree>>),
3771 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
3772 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
3773 RescueBlock(::std::boxed::Box<RescueBlock<'tree>>),
3774 Sigil(::std::boxed::Box<Sigil<'tree>>),
3775 StabClause(::std::boxed::Box<StabClause<'tree>>),
3776 String(::std::boxed::Box<String<'tree>>),
3777 Tuple(::std::boxed::Box<Tuple<'tree>>),
3778 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
3779}
3780impl<'tree> ::treesitter_types::FromNode<'tree> for DoBlockChildren<'tree> {
3781 #[allow(clippy::collapsible_else_if)]
3782 fn from_node(
3783 node: ::tree_sitter::Node<'tree>,
3784 src: &'tree [u8],
3785 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
3786 match node.kind() {
3787 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
3788 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
3789 ))),
3790 "after_block" => Ok(Self::AfterBlock(::std::boxed::Box::new(
3791 <AfterBlock as ::treesitter_types::FromNode>::from_node(node, src)?,
3792 ))),
3793 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
3794 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
3795 ))),
3796 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
3797 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
3798 ))),
3799 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
3800 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
3801 ))),
3802 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
3803 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
3804 ))),
3805 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
3806 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
3807 ))),
3808 "block" => Ok(Self::Block(::std::boxed::Box::new(
3809 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
3810 ))),
3811 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
3812 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
3813 ))),
3814 "call" => Ok(Self::Call(::std::boxed::Box::new(
3815 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
3816 ))),
3817 "catch_block" => Ok(Self::CatchBlock(::std::boxed::Box::new(
3818 <CatchBlock as ::treesitter_types::FromNode>::from_node(node, src)?,
3819 ))),
3820 "char" => Ok(Self::Char(::std::boxed::Box::new(
3821 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
3822 ))),
3823 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
3824 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
3825 ))),
3826 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
3827 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
3828 ))),
3829 "else_block" => Ok(Self::ElseBlock(::std::boxed::Box::new(
3830 <ElseBlock as ::treesitter_types::FromNode>::from_node(node, src)?,
3831 ))),
3832 "float" => Ok(Self::Float(::std::boxed::Box::new(
3833 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
3834 ))),
3835 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
3836 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
3837 ))),
3838 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
3839 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
3840 ))),
3841 "list" => Ok(Self::List(::std::boxed::Box::new(
3842 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
3843 ))),
3844 "map" => Ok(Self::Map(::std::boxed::Box::new(
3845 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
3846 ))),
3847 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
3848 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
3849 ))),
3850 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
3851 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
3852 ))),
3853 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
3854 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
3855 ))),
3856 "rescue_block" => Ok(Self::RescueBlock(::std::boxed::Box::new(
3857 <RescueBlock as ::treesitter_types::FromNode>::from_node(node, src)?,
3858 ))),
3859 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
3860 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
3861 ))),
3862 "stab_clause" => Ok(Self::StabClause(::std::boxed::Box::new(
3863 <StabClause as ::treesitter_types::FromNode>::from_node(node, src)?,
3864 ))),
3865 "string" => Ok(Self::String(::std::boxed::Box::new(
3866 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
3867 ))),
3868 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
3869 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
3870 ))),
3871 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
3872 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
3873 ))),
3874 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
3875 }
3876 }
3877}
3878impl ::treesitter_types::Spanned for DoBlockChildren<'_> {
3879 fn span(&self) -> ::treesitter_types::Span {
3880 match self {
3881 Self::AccessCall(inner) => inner.span(),
3882 Self::AfterBlock(inner) => inner.span(),
3883 Self::Alias(inner) => inner.span(),
3884 Self::AnonymousFunction(inner) => inner.span(),
3885 Self::Atom(inner) => inner.span(),
3886 Self::BinaryOperator(inner) => inner.span(),
3887 Self::Bitstring(inner) => inner.span(),
3888 Self::Block(inner) => inner.span(),
3889 Self::Boolean(inner) => inner.span(),
3890 Self::Call(inner) => inner.span(),
3891 Self::CatchBlock(inner) => inner.span(),
3892 Self::Char(inner) => inner.span(),
3893 Self::Charlist(inner) => inner.span(),
3894 Self::Dot(inner) => inner.span(),
3895 Self::ElseBlock(inner) => inner.span(),
3896 Self::Float(inner) => inner.span(),
3897 Self::Identifier(inner) => inner.span(),
3898 Self::Integer(inner) => inner.span(),
3899 Self::List(inner) => inner.span(),
3900 Self::Map(inner) => inner.span(),
3901 Self::Nil(inner) => inner.span(),
3902 Self::OperatorIdentifier(inner) => inner.span(),
3903 Self::QuotedAtom(inner) => inner.span(),
3904 Self::RescueBlock(inner) => inner.span(),
3905 Self::Sigil(inner) => inner.span(),
3906 Self::StabClause(inner) => inner.span(),
3907 Self::String(inner) => inner.span(),
3908 Self::Tuple(inner) => inner.span(),
3909 Self::UnaryOperator(inner) => inner.span(),
3910 }
3911 }
3912}
3913#[derive(Debug, Clone)]
3914pub enum DotLeft<'tree> {
3915 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
3916 Alias(::std::boxed::Box<Alias<'tree>>),
3917 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
3918 Atom(::std::boxed::Box<Atom<'tree>>),
3919 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
3920 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
3921 Block(::std::boxed::Box<Block<'tree>>),
3922 Boolean(::std::boxed::Box<Boolean<'tree>>),
3923 Call(::std::boxed::Box<Call<'tree>>),
3924 Char(::std::boxed::Box<Char<'tree>>),
3925 Charlist(::std::boxed::Box<Charlist<'tree>>),
3926 Dot(::std::boxed::Box<Dot<'tree>>),
3927 Float(::std::boxed::Box<Float<'tree>>),
3928 Identifier(::std::boxed::Box<Identifier<'tree>>),
3929 Integer(::std::boxed::Box<Integer<'tree>>),
3930 List(::std::boxed::Box<List<'tree>>),
3931 Map(::std::boxed::Box<Map<'tree>>),
3932 Nil(::std::boxed::Box<Nil<'tree>>),
3933 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
3934 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
3935 Sigil(::std::boxed::Box<Sigil<'tree>>),
3936 String(::std::boxed::Box<String<'tree>>),
3937 Tuple(::std::boxed::Box<Tuple<'tree>>),
3938 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
3939}
3940impl<'tree> ::treesitter_types::FromNode<'tree> for DotLeft<'tree> {
3941 #[allow(clippy::collapsible_else_if)]
3942 fn from_node(
3943 node: ::tree_sitter::Node<'tree>,
3944 src: &'tree [u8],
3945 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
3946 match node.kind() {
3947 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
3948 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
3949 ))),
3950 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
3951 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
3952 ))),
3953 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
3954 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
3955 ))),
3956 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
3957 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
3958 ))),
3959 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
3960 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
3961 ))),
3962 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
3963 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
3964 ))),
3965 "block" => Ok(Self::Block(::std::boxed::Box::new(
3966 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
3967 ))),
3968 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
3969 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
3970 ))),
3971 "call" => Ok(Self::Call(::std::boxed::Box::new(
3972 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
3973 ))),
3974 "char" => Ok(Self::Char(::std::boxed::Box::new(
3975 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
3976 ))),
3977 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
3978 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
3979 ))),
3980 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
3981 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
3982 ))),
3983 "float" => Ok(Self::Float(::std::boxed::Box::new(
3984 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
3985 ))),
3986 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
3987 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
3988 ))),
3989 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
3990 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
3991 ))),
3992 "list" => Ok(Self::List(::std::boxed::Box::new(
3993 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
3994 ))),
3995 "map" => Ok(Self::Map(::std::boxed::Box::new(
3996 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
3997 ))),
3998 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
3999 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
4000 ))),
4001 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
4002 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
4003 ))),
4004 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
4005 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
4006 ))),
4007 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
4008 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
4009 ))),
4010 "string" => Ok(Self::String(::std::boxed::Box::new(
4011 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
4012 ))),
4013 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
4014 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
4015 ))),
4016 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
4017 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
4018 ))),
4019 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
4020 }
4021 }
4022}
4023impl ::treesitter_types::Spanned for DotLeft<'_> {
4024 fn span(&self) -> ::treesitter_types::Span {
4025 match self {
4026 Self::AccessCall(inner) => inner.span(),
4027 Self::Alias(inner) => inner.span(),
4028 Self::AnonymousFunction(inner) => inner.span(),
4029 Self::Atom(inner) => inner.span(),
4030 Self::BinaryOperator(inner) => inner.span(),
4031 Self::Bitstring(inner) => inner.span(),
4032 Self::Block(inner) => inner.span(),
4033 Self::Boolean(inner) => inner.span(),
4034 Self::Call(inner) => inner.span(),
4035 Self::Char(inner) => inner.span(),
4036 Self::Charlist(inner) => inner.span(),
4037 Self::Dot(inner) => inner.span(),
4038 Self::Float(inner) => inner.span(),
4039 Self::Identifier(inner) => inner.span(),
4040 Self::Integer(inner) => inner.span(),
4041 Self::List(inner) => inner.span(),
4042 Self::Map(inner) => inner.span(),
4043 Self::Nil(inner) => inner.span(),
4044 Self::OperatorIdentifier(inner) => inner.span(),
4045 Self::QuotedAtom(inner) => inner.span(),
4046 Self::Sigil(inner) => inner.span(),
4047 Self::String(inner) => inner.span(),
4048 Self::Tuple(inner) => inner.span(),
4049 Self::UnaryOperator(inner) => inner.span(),
4050 }
4051 }
4052}
4053#[derive(Debug, Clone)]
4054pub enum DotOperator {
4055 Dot(::treesitter_types::Span),
4056}
4057impl<'tree> ::treesitter_types::FromNode<'tree> for DotOperator {
4058 #[allow(clippy::collapsible_else_if)]
4059 fn from_node(
4060 node: ::tree_sitter::Node<'tree>,
4061 _src: &'tree [u8],
4062 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
4063 match node.kind() {
4064 "." => Ok(Self::Dot(::treesitter_types::Span::from(node))),
4065 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
4066 }
4067 }
4068}
4069impl ::treesitter_types::Spanned for DotOperator {
4070 fn span(&self) -> ::treesitter_types::Span {
4071 match self {
4072 Self::Dot(span) => *span,
4073 }
4074 }
4075}
4076#[derive(Debug, Clone)]
4077pub enum DotRight<'tree> {
4078 Alias(::std::boxed::Box<Alias<'tree>>),
4079 Charlist(::std::boxed::Box<Charlist<'tree>>),
4080 Identifier(::std::boxed::Box<Identifier<'tree>>),
4081 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
4082 String(::std::boxed::Box<String<'tree>>),
4083 Tuple(::std::boxed::Box<Tuple<'tree>>),
4084}
4085impl<'tree> ::treesitter_types::FromNode<'tree> for DotRight<'tree> {
4086 #[allow(clippy::collapsible_else_if)]
4087 fn from_node(
4088 node: ::tree_sitter::Node<'tree>,
4089 src: &'tree [u8],
4090 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
4091 match node.kind() {
4092 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
4093 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
4094 ))),
4095 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
4096 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
4097 ))),
4098 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
4099 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
4100 ))),
4101 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
4102 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
4103 ))),
4104 "string" => Ok(Self::String(::std::boxed::Box::new(
4105 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
4106 ))),
4107 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
4108 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
4109 ))),
4110 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
4111 }
4112 }
4113}
4114impl ::treesitter_types::Spanned for DotRight<'_> {
4115 fn span(&self) -> ::treesitter_types::Span {
4116 match self {
4117 Self::Alias(inner) => inner.span(),
4118 Self::Charlist(inner) => inner.span(),
4119 Self::Identifier(inner) => inner.span(),
4120 Self::OperatorIdentifier(inner) => inner.span(),
4121 Self::String(inner) => inner.span(),
4122 Self::Tuple(inner) => inner.span(),
4123 }
4124 }
4125}
4126#[derive(Debug, Clone)]
4127pub enum ElseBlockChildren<'tree> {
4128 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
4129 Alias(::std::boxed::Box<Alias<'tree>>),
4130 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
4131 Atom(::std::boxed::Box<Atom<'tree>>),
4132 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
4133 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
4134 Block(::std::boxed::Box<Block<'tree>>),
4135 Boolean(::std::boxed::Box<Boolean<'tree>>),
4136 Call(::std::boxed::Box<Call<'tree>>),
4137 Char(::std::boxed::Box<Char<'tree>>),
4138 Charlist(::std::boxed::Box<Charlist<'tree>>),
4139 Dot(::std::boxed::Box<Dot<'tree>>),
4140 Float(::std::boxed::Box<Float<'tree>>),
4141 Identifier(::std::boxed::Box<Identifier<'tree>>),
4142 Integer(::std::boxed::Box<Integer<'tree>>),
4143 List(::std::boxed::Box<List<'tree>>),
4144 Map(::std::boxed::Box<Map<'tree>>),
4145 Nil(::std::boxed::Box<Nil<'tree>>),
4146 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
4147 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
4148 Sigil(::std::boxed::Box<Sigil<'tree>>),
4149 StabClause(::std::boxed::Box<StabClause<'tree>>),
4150 String(::std::boxed::Box<String<'tree>>),
4151 Tuple(::std::boxed::Box<Tuple<'tree>>),
4152 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
4153}
4154impl<'tree> ::treesitter_types::FromNode<'tree> for ElseBlockChildren<'tree> {
4155 #[allow(clippy::collapsible_else_if)]
4156 fn from_node(
4157 node: ::tree_sitter::Node<'tree>,
4158 src: &'tree [u8],
4159 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
4160 match node.kind() {
4161 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
4162 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
4163 ))),
4164 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
4165 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
4166 ))),
4167 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
4168 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
4169 ))),
4170 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
4171 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
4172 ))),
4173 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
4174 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
4175 ))),
4176 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
4177 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
4178 ))),
4179 "block" => Ok(Self::Block(::std::boxed::Box::new(
4180 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
4181 ))),
4182 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
4183 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
4184 ))),
4185 "call" => Ok(Self::Call(::std::boxed::Box::new(
4186 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
4187 ))),
4188 "char" => Ok(Self::Char(::std::boxed::Box::new(
4189 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
4190 ))),
4191 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
4192 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
4193 ))),
4194 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
4195 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
4196 ))),
4197 "float" => Ok(Self::Float(::std::boxed::Box::new(
4198 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
4199 ))),
4200 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
4201 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
4202 ))),
4203 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
4204 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
4205 ))),
4206 "list" => Ok(Self::List(::std::boxed::Box::new(
4207 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
4208 ))),
4209 "map" => Ok(Self::Map(::std::boxed::Box::new(
4210 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
4211 ))),
4212 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
4213 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
4214 ))),
4215 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
4216 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
4217 ))),
4218 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
4219 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
4220 ))),
4221 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
4222 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
4223 ))),
4224 "stab_clause" => Ok(Self::StabClause(::std::boxed::Box::new(
4225 <StabClause as ::treesitter_types::FromNode>::from_node(node, src)?,
4226 ))),
4227 "string" => Ok(Self::String(::std::boxed::Box::new(
4228 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
4229 ))),
4230 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
4231 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
4232 ))),
4233 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
4234 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
4235 ))),
4236 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
4237 }
4238 }
4239}
4240impl ::treesitter_types::Spanned for ElseBlockChildren<'_> {
4241 fn span(&self) -> ::treesitter_types::Span {
4242 match self {
4243 Self::AccessCall(inner) => inner.span(),
4244 Self::Alias(inner) => inner.span(),
4245 Self::AnonymousFunction(inner) => inner.span(),
4246 Self::Atom(inner) => inner.span(),
4247 Self::BinaryOperator(inner) => inner.span(),
4248 Self::Bitstring(inner) => inner.span(),
4249 Self::Block(inner) => inner.span(),
4250 Self::Boolean(inner) => inner.span(),
4251 Self::Call(inner) => inner.span(),
4252 Self::Char(inner) => inner.span(),
4253 Self::Charlist(inner) => inner.span(),
4254 Self::Dot(inner) => inner.span(),
4255 Self::Float(inner) => inner.span(),
4256 Self::Identifier(inner) => inner.span(),
4257 Self::Integer(inner) => inner.span(),
4258 Self::List(inner) => inner.span(),
4259 Self::Map(inner) => inner.span(),
4260 Self::Nil(inner) => inner.span(),
4261 Self::OperatorIdentifier(inner) => inner.span(),
4262 Self::QuotedAtom(inner) => inner.span(),
4263 Self::Sigil(inner) => inner.span(),
4264 Self::StabClause(inner) => inner.span(),
4265 Self::String(inner) => inner.span(),
4266 Self::Tuple(inner) => inner.span(),
4267 Self::UnaryOperator(inner) => inner.span(),
4268 }
4269 }
4270}
4271#[derive(Debug, Clone)]
4272pub enum InterpolationChildren<'tree> {
4273 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
4274 Alias(::std::boxed::Box<Alias<'tree>>),
4275 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
4276 Atom(::std::boxed::Box<Atom<'tree>>),
4277 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
4278 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
4279 Block(::std::boxed::Box<Block<'tree>>),
4280 Boolean(::std::boxed::Box<Boolean<'tree>>),
4281 Call(::std::boxed::Box<Call<'tree>>),
4282 Char(::std::boxed::Box<Char<'tree>>),
4283 Charlist(::std::boxed::Box<Charlist<'tree>>),
4284 Dot(::std::boxed::Box<Dot<'tree>>),
4285 Float(::std::boxed::Box<Float<'tree>>),
4286 Identifier(::std::boxed::Box<Identifier<'tree>>),
4287 Integer(::std::boxed::Box<Integer<'tree>>),
4288 List(::std::boxed::Box<List<'tree>>),
4289 Map(::std::boxed::Box<Map<'tree>>),
4290 Nil(::std::boxed::Box<Nil<'tree>>),
4291 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
4292 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
4293 Sigil(::std::boxed::Box<Sigil<'tree>>),
4294 String(::std::boxed::Box<String<'tree>>),
4295 Tuple(::std::boxed::Box<Tuple<'tree>>),
4296 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
4297}
4298impl<'tree> ::treesitter_types::FromNode<'tree> for InterpolationChildren<'tree> {
4299 #[allow(clippy::collapsible_else_if)]
4300 fn from_node(
4301 node: ::tree_sitter::Node<'tree>,
4302 src: &'tree [u8],
4303 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
4304 match node.kind() {
4305 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
4306 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
4307 ))),
4308 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
4309 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
4310 ))),
4311 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
4312 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
4313 ))),
4314 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
4315 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
4316 ))),
4317 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
4318 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
4319 ))),
4320 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
4321 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
4322 ))),
4323 "block" => Ok(Self::Block(::std::boxed::Box::new(
4324 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
4325 ))),
4326 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
4327 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
4328 ))),
4329 "call" => Ok(Self::Call(::std::boxed::Box::new(
4330 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
4331 ))),
4332 "char" => Ok(Self::Char(::std::boxed::Box::new(
4333 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
4334 ))),
4335 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
4336 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
4337 ))),
4338 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
4339 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
4340 ))),
4341 "float" => Ok(Self::Float(::std::boxed::Box::new(
4342 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
4343 ))),
4344 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
4345 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
4346 ))),
4347 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
4348 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
4349 ))),
4350 "list" => Ok(Self::List(::std::boxed::Box::new(
4351 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
4352 ))),
4353 "map" => Ok(Self::Map(::std::boxed::Box::new(
4354 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
4355 ))),
4356 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
4357 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
4358 ))),
4359 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
4360 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
4361 ))),
4362 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
4363 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
4364 ))),
4365 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
4366 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
4367 ))),
4368 "string" => Ok(Self::String(::std::boxed::Box::new(
4369 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
4370 ))),
4371 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
4372 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
4373 ))),
4374 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
4375 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
4376 ))),
4377 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
4378 }
4379 }
4380}
4381impl ::treesitter_types::Spanned for InterpolationChildren<'_> {
4382 fn span(&self) -> ::treesitter_types::Span {
4383 match self {
4384 Self::AccessCall(inner) => inner.span(),
4385 Self::Alias(inner) => inner.span(),
4386 Self::AnonymousFunction(inner) => inner.span(),
4387 Self::Atom(inner) => inner.span(),
4388 Self::BinaryOperator(inner) => inner.span(),
4389 Self::Bitstring(inner) => inner.span(),
4390 Self::Block(inner) => inner.span(),
4391 Self::Boolean(inner) => inner.span(),
4392 Self::Call(inner) => inner.span(),
4393 Self::Char(inner) => inner.span(),
4394 Self::Charlist(inner) => inner.span(),
4395 Self::Dot(inner) => inner.span(),
4396 Self::Float(inner) => inner.span(),
4397 Self::Identifier(inner) => inner.span(),
4398 Self::Integer(inner) => inner.span(),
4399 Self::List(inner) => inner.span(),
4400 Self::Map(inner) => inner.span(),
4401 Self::Nil(inner) => inner.span(),
4402 Self::OperatorIdentifier(inner) => inner.span(),
4403 Self::QuotedAtom(inner) => inner.span(),
4404 Self::Sigil(inner) => inner.span(),
4405 Self::String(inner) => inner.span(),
4406 Self::Tuple(inner) => inner.span(),
4407 Self::UnaryOperator(inner) => inner.span(),
4408 }
4409 }
4410}
4411#[derive(Debug, Clone)]
4412pub enum ListChildren<'tree> {
4413 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
4414 Alias(::std::boxed::Box<Alias<'tree>>),
4415 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
4416 Atom(::std::boxed::Box<Atom<'tree>>),
4417 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
4418 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
4419 Block(::std::boxed::Box<Block<'tree>>),
4420 Boolean(::std::boxed::Box<Boolean<'tree>>),
4421 Call(::std::boxed::Box<Call<'tree>>),
4422 Char(::std::boxed::Box<Char<'tree>>),
4423 Charlist(::std::boxed::Box<Charlist<'tree>>),
4424 Dot(::std::boxed::Box<Dot<'tree>>),
4425 Float(::std::boxed::Box<Float<'tree>>),
4426 Identifier(::std::boxed::Box<Identifier<'tree>>),
4427 Integer(::std::boxed::Box<Integer<'tree>>),
4428 Keywords(::std::boxed::Box<Keywords<'tree>>),
4429 List(::std::boxed::Box<List<'tree>>),
4430 Map(::std::boxed::Box<Map<'tree>>),
4431 Nil(::std::boxed::Box<Nil<'tree>>),
4432 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
4433 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
4434 Sigil(::std::boxed::Box<Sigil<'tree>>),
4435 String(::std::boxed::Box<String<'tree>>),
4436 Tuple(::std::boxed::Box<Tuple<'tree>>),
4437 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
4438}
4439impl<'tree> ::treesitter_types::FromNode<'tree> for ListChildren<'tree> {
4440 #[allow(clippy::collapsible_else_if)]
4441 fn from_node(
4442 node: ::tree_sitter::Node<'tree>,
4443 src: &'tree [u8],
4444 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
4445 match node.kind() {
4446 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
4447 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
4448 ))),
4449 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
4450 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
4451 ))),
4452 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
4453 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
4454 ))),
4455 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
4456 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
4457 ))),
4458 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
4459 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
4460 ))),
4461 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
4462 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
4463 ))),
4464 "block" => Ok(Self::Block(::std::boxed::Box::new(
4465 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
4466 ))),
4467 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
4468 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
4469 ))),
4470 "call" => Ok(Self::Call(::std::boxed::Box::new(
4471 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
4472 ))),
4473 "char" => Ok(Self::Char(::std::boxed::Box::new(
4474 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
4475 ))),
4476 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
4477 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
4478 ))),
4479 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
4480 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
4481 ))),
4482 "float" => Ok(Self::Float(::std::boxed::Box::new(
4483 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
4484 ))),
4485 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
4486 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
4487 ))),
4488 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
4489 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
4490 ))),
4491 "keywords" => Ok(Self::Keywords(::std::boxed::Box::new(
4492 <Keywords as ::treesitter_types::FromNode>::from_node(node, src)?,
4493 ))),
4494 "list" => Ok(Self::List(::std::boxed::Box::new(
4495 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
4496 ))),
4497 "map" => Ok(Self::Map(::std::boxed::Box::new(
4498 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
4499 ))),
4500 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
4501 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
4502 ))),
4503 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
4504 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
4505 ))),
4506 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
4507 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
4508 ))),
4509 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
4510 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
4511 ))),
4512 "string" => Ok(Self::String(::std::boxed::Box::new(
4513 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
4514 ))),
4515 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
4516 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
4517 ))),
4518 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
4519 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
4520 ))),
4521 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
4522 }
4523 }
4524}
4525impl ::treesitter_types::Spanned for ListChildren<'_> {
4526 fn span(&self) -> ::treesitter_types::Span {
4527 match self {
4528 Self::AccessCall(inner) => inner.span(),
4529 Self::Alias(inner) => inner.span(),
4530 Self::AnonymousFunction(inner) => inner.span(),
4531 Self::Atom(inner) => inner.span(),
4532 Self::BinaryOperator(inner) => inner.span(),
4533 Self::Bitstring(inner) => inner.span(),
4534 Self::Block(inner) => inner.span(),
4535 Self::Boolean(inner) => inner.span(),
4536 Self::Call(inner) => inner.span(),
4537 Self::Char(inner) => inner.span(),
4538 Self::Charlist(inner) => inner.span(),
4539 Self::Dot(inner) => inner.span(),
4540 Self::Float(inner) => inner.span(),
4541 Self::Identifier(inner) => inner.span(),
4542 Self::Integer(inner) => inner.span(),
4543 Self::Keywords(inner) => inner.span(),
4544 Self::List(inner) => inner.span(),
4545 Self::Map(inner) => inner.span(),
4546 Self::Nil(inner) => inner.span(),
4547 Self::OperatorIdentifier(inner) => inner.span(),
4548 Self::QuotedAtom(inner) => inner.span(),
4549 Self::Sigil(inner) => inner.span(),
4550 Self::String(inner) => inner.span(),
4551 Self::Tuple(inner) => inner.span(),
4552 Self::UnaryOperator(inner) => inner.span(),
4553 }
4554 }
4555}
4556#[derive(Debug, Clone)]
4557pub enum MapChildren<'tree> {
4558 MapContent(::std::boxed::Box<MapContent<'tree>>),
4559 Struct(::std::boxed::Box<Struct<'tree>>),
4560}
4561impl<'tree> ::treesitter_types::FromNode<'tree> for MapChildren<'tree> {
4562 #[allow(clippy::collapsible_else_if)]
4563 fn from_node(
4564 node: ::tree_sitter::Node<'tree>,
4565 src: &'tree [u8],
4566 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
4567 match node.kind() {
4568 "map_content" => Ok(Self::MapContent(::std::boxed::Box::new(
4569 <MapContent as ::treesitter_types::FromNode>::from_node(node, src)?,
4570 ))),
4571 "struct" => Ok(Self::Struct(::std::boxed::Box::new(
4572 <Struct as ::treesitter_types::FromNode>::from_node(node, src)?,
4573 ))),
4574 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
4575 }
4576 }
4577}
4578impl ::treesitter_types::Spanned for MapChildren<'_> {
4579 fn span(&self) -> ::treesitter_types::Span {
4580 match self {
4581 Self::MapContent(inner) => inner.span(),
4582 Self::Struct(inner) => inner.span(),
4583 }
4584 }
4585}
4586#[derive(Debug, Clone)]
4587pub enum MapContentChildren<'tree> {
4588 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
4589 Alias(::std::boxed::Box<Alias<'tree>>),
4590 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
4591 Atom(::std::boxed::Box<Atom<'tree>>),
4592 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
4593 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
4594 Block(::std::boxed::Box<Block<'tree>>),
4595 Boolean(::std::boxed::Box<Boolean<'tree>>),
4596 Call(::std::boxed::Box<Call<'tree>>),
4597 Char(::std::boxed::Box<Char<'tree>>),
4598 Charlist(::std::boxed::Box<Charlist<'tree>>),
4599 Dot(::std::boxed::Box<Dot<'tree>>),
4600 Float(::std::boxed::Box<Float<'tree>>),
4601 Identifier(::std::boxed::Box<Identifier<'tree>>),
4602 Integer(::std::boxed::Box<Integer<'tree>>),
4603 Keywords(::std::boxed::Box<Keywords<'tree>>),
4604 List(::std::boxed::Box<List<'tree>>),
4605 Map(::std::boxed::Box<Map<'tree>>),
4606 Nil(::std::boxed::Box<Nil<'tree>>),
4607 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
4608 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
4609 Sigil(::std::boxed::Box<Sigil<'tree>>),
4610 String(::std::boxed::Box<String<'tree>>),
4611 Tuple(::std::boxed::Box<Tuple<'tree>>),
4612 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
4613}
4614impl<'tree> ::treesitter_types::FromNode<'tree> for MapContentChildren<'tree> {
4615 #[allow(clippy::collapsible_else_if)]
4616 fn from_node(
4617 node: ::tree_sitter::Node<'tree>,
4618 src: &'tree [u8],
4619 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
4620 match node.kind() {
4621 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
4622 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
4623 ))),
4624 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
4625 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
4626 ))),
4627 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
4628 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
4629 ))),
4630 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
4631 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
4632 ))),
4633 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
4634 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
4635 ))),
4636 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
4637 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
4638 ))),
4639 "block" => Ok(Self::Block(::std::boxed::Box::new(
4640 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
4641 ))),
4642 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
4643 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
4644 ))),
4645 "call" => Ok(Self::Call(::std::boxed::Box::new(
4646 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
4647 ))),
4648 "char" => Ok(Self::Char(::std::boxed::Box::new(
4649 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
4650 ))),
4651 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
4652 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
4653 ))),
4654 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
4655 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
4656 ))),
4657 "float" => Ok(Self::Float(::std::boxed::Box::new(
4658 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
4659 ))),
4660 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
4661 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
4662 ))),
4663 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
4664 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
4665 ))),
4666 "keywords" => Ok(Self::Keywords(::std::boxed::Box::new(
4667 <Keywords as ::treesitter_types::FromNode>::from_node(node, src)?,
4668 ))),
4669 "list" => Ok(Self::List(::std::boxed::Box::new(
4670 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
4671 ))),
4672 "map" => Ok(Self::Map(::std::boxed::Box::new(
4673 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
4674 ))),
4675 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
4676 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
4677 ))),
4678 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
4679 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
4680 ))),
4681 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
4682 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
4683 ))),
4684 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
4685 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
4686 ))),
4687 "string" => Ok(Self::String(::std::boxed::Box::new(
4688 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
4689 ))),
4690 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
4691 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
4692 ))),
4693 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
4694 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
4695 ))),
4696 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
4697 }
4698 }
4699}
4700impl ::treesitter_types::Spanned for MapContentChildren<'_> {
4701 fn span(&self) -> ::treesitter_types::Span {
4702 match self {
4703 Self::AccessCall(inner) => inner.span(),
4704 Self::Alias(inner) => inner.span(),
4705 Self::AnonymousFunction(inner) => inner.span(),
4706 Self::Atom(inner) => inner.span(),
4707 Self::BinaryOperator(inner) => inner.span(),
4708 Self::Bitstring(inner) => inner.span(),
4709 Self::Block(inner) => inner.span(),
4710 Self::Boolean(inner) => inner.span(),
4711 Self::Call(inner) => inner.span(),
4712 Self::Char(inner) => inner.span(),
4713 Self::Charlist(inner) => inner.span(),
4714 Self::Dot(inner) => inner.span(),
4715 Self::Float(inner) => inner.span(),
4716 Self::Identifier(inner) => inner.span(),
4717 Self::Integer(inner) => inner.span(),
4718 Self::Keywords(inner) => inner.span(),
4719 Self::List(inner) => inner.span(),
4720 Self::Map(inner) => inner.span(),
4721 Self::Nil(inner) => inner.span(),
4722 Self::OperatorIdentifier(inner) => inner.span(),
4723 Self::QuotedAtom(inner) => inner.span(),
4724 Self::Sigil(inner) => inner.span(),
4725 Self::String(inner) => inner.span(),
4726 Self::Tuple(inner) => inner.span(),
4727 Self::UnaryOperator(inner) => inner.span(),
4728 }
4729 }
4730}
4731#[derive(Debug, Clone)]
4732pub enum PairKey<'tree> {
4733 Keyword(::std::boxed::Box<Keyword<'tree>>),
4734 QuotedKeyword(::std::boxed::Box<QuotedKeyword<'tree>>),
4735}
4736impl<'tree> ::treesitter_types::FromNode<'tree> for PairKey<'tree> {
4737 #[allow(clippy::collapsible_else_if)]
4738 fn from_node(
4739 node: ::tree_sitter::Node<'tree>,
4740 src: &'tree [u8],
4741 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
4742 match node.kind() {
4743 "keyword" => Ok(Self::Keyword(::std::boxed::Box::new(
4744 <Keyword as ::treesitter_types::FromNode>::from_node(node, src)?,
4745 ))),
4746 "quoted_keyword" => Ok(Self::QuotedKeyword(::std::boxed::Box::new(
4747 <QuotedKeyword as ::treesitter_types::FromNode>::from_node(node, src)?,
4748 ))),
4749 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
4750 }
4751 }
4752}
4753impl ::treesitter_types::Spanned for PairKey<'_> {
4754 fn span(&self) -> ::treesitter_types::Span {
4755 match self {
4756 Self::Keyword(inner) => inner.span(),
4757 Self::QuotedKeyword(inner) => inner.span(),
4758 }
4759 }
4760}
4761#[derive(Debug, Clone)]
4762pub enum PairValue<'tree> {
4763 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
4764 Alias(::std::boxed::Box<Alias<'tree>>),
4765 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
4766 Atom(::std::boxed::Box<Atom<'tree>>),
4767 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
4768 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
4769 Block(::std::boxed::Box<Block<'tree>>),
4770 Boolean(::std::boxed::Box<Boolean<'tree>>),
4771 Call(::std::boxed::Box<Call<'tree>>),
4772 Char(::std::boxed::Box<Char<'tree>>),
4773 Charlist(::std::boxed::Box<Charlist<'tree>>),
4774 Dot(::std::boxed::Box<Dot<'tree>>),
4775 Float(::std::boxed::Box<Float<'tree>>),
4776 Identifier(::std::boxed::Box<Identifier<'tree>>),
4777 Integer(::std::boxed::Box<Integer<'tree>>),
4778 List(::std::boxed::Box<List<'tree>>),
4779 Map(::std::boxed::Box<Map<'tree>>),
4780 Nil(::std::boxed::Box<Nil<'tree>>),
4781 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
4782 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
4783 Sigil(::std::boxed::Box<Sigil<'tree>>),
4784 String(::std::boxed::Box<String<'tree>>),
4785 Tuple(::std::boxed::Box<Tuple<'tree>>),
4786 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
4787}
4788impl<'tree> ::treesitter_types::FromNode<'tree> for PairValue<'tree> {
4789 #[allow(clippy::collapsible_else_if)]
4790 fn from_node(
4791 node: ::tree_sitter::Node<'tree>,
4792 src: &'tree [u8],
4793 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
4794 match node.kind() {
4795 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
4796 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
4797 ))),
4798 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
4799 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
4800 ))),
4801 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
4802 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
4803 ))),
4804 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
4805 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
4806 ))),
4807 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
4808 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
4809 ))),
4810 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
4811 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
4812 ))),
4813 "block" => Ok(Self::Block(::std::boxed::Box::new(
4814 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
4815 ))),
4816 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
4817 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
4818 ))),
4819 "call" => Ok(Self::Call(::std::boxed::Box::new(
4820 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
4821 ))),
4822 "char" => Ok(Self::Char(::std::boxed::Box::new(
4823 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
4824 ))),
4825 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
4826 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
4827 ))),
4828 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
4829 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
4830 ))),
4831 "float" => Ok(Self::Float(::std::boxed::Box::new(
4832 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
4833 ))),
4834 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
4835 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
4836 ))),
4837 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
4838 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
4839 ))),
4840 "list" => Ok(Self::List(::std::boxed::Box::new(
4841 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
4842 ))),
4843 "map" => Ok(Self::Map(::std::boxed::Box::new(
4844 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
4845 ))),
4846 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
4847 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
4848 ))),
4849 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
4850 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
4851 ))),
4852 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
4853 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
4854 ))),
4855 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
4856 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
4857 ))),
4858 "string" => Ok(Self::String(::std::boxed::Box::new(
4859 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
4860 ))),
4861 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
4862 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
4863 ))),
4864 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
4865 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
4866 ))),
4867 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
4868 }
4869 }
4870}
4871impl ::treesitter_types::Spanned for PairValue<'_> {
4872 fn span(&self) -> ::treesitter_types::Span {
4873 match self {
4874 Self::AccessCall(inner) => inner.span(),
4875 Self::Alias(inner) => inner.span(),
4876 Self::AnonymousFunction(inner) => inner.span(),
4877 Self::Atom(inner) => inner.span(),
4878 Self::BinaryOperator(inner) => inner.span(),
4879 Self::Bitstring(inner) => inner.span(),
4880 Self::Block(inner) => inner.span(),
4881 Self::Boolean(inner) => inner.span(),
4882 Self::Call(inner) => inner.span(),
4883 Self::Char(inner) => inner.span(),
4884 Self::Charlist(inner) => inner.span(),
4885 Self::Dot(inner) => inner.span(),
4886 Self::Float(inner) => inner.span(),
4887 Self::Identifier(inner) => inner.span(),
4888 Self::Integer(inner) => inner.span(),
4889 Self::List(inner) => inner.span(),
4890 Self::Map(inner) => inner.span(),
4891 Self::Nil(inner) => inner.span(),
4892 Self::OperatorIdentifier(inner) => inner.span(),
4893 Self::QuotedAtom(inner) => inner.span(),
4894 Self::Sigil(inner) => inner.span(),
4895 Self::String(inner) => inner.span(),
4896 Self::Tuple(inner) => inner.span(),
4897 Self::UnaryOperator(inner) => inner.span(),
4898 }
4899 }
4900}
4901#[derive(Debug, Clone)]
4902pub enum QuotedAtomQuotedEnd {
4903 DoubleQuote(::treesitter_types::Span),
4904 SingleQuote(::treesitter_types::Span),
4905}
4906impl<'tree> ::treesitter_types::FromNode<'tree> for QuotedAtomQuotedEnd {
4907 #[allow(clippy::collapsible_else_if)]
4908 fn from_node(
4909 node: ::tree_sitter::Node<'tree>,
4910 _src: &'tree [u8],
4911 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
4912 match node.kind() {
4913 "\"" => Ok(Self::DoubleQuote(::treesitter_types::Span::from(node))),
4914 "'" => Ok(Self::SingleQuote(::treesitter_types::Span::from(node))),
4915 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
4916 }
4917 }
4918}
4919impl ::treesitter_types::Spanned for QuotedAtomQuotedEnd {
4920 fn span(&self) -> ::treesitter_types::Span {
4921 match self {
4922 Self::DoubleQuote(span) => *span,
4923 Self::SingleQuote(span) => *span,
4924 }
4925 }
4926}
4927#[derive(Debug, Clone)]
4928pub enum QuotedAtomQuotedStart {
4929 DoubleQuote(::treesitter_types::Span),
4930 SingleQuote(::treesitter_types::Span),
4931}
4932impl<'tree> ::treesitter_types::FromNode<'tree> for QuotedAtomQuotedStart {
4933 #[allow(clippy::collapsible_else_if)]
4934 fn from_node(
4935 node: ::tree_sitter::Node<'tree>,
4936 _src: &'tree [u8],
4937 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
4938 match node.kind() {
4939 "\"" => Ok(Self::DoubleQuote(::treesitter_types::Span::from(node))),
4940 "'" => Ok(Self::SingleQuote(::treesitter_types::Span::from(node))),
4941 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
4942 }
4943 }
4944}
4945impl ::treesitter_types::Spanned for QuotedAtomQuotedStart {
4946 fn span(&self) -> ::treesitter_types::Span {
4947 match self {
4948 Self::DoubleQuote(span) => *span,
4949 Self::SingleQuote(span) => *span,
4950 }
4951 }
4952}
4953#[derive(Debug, Clone)]
4954pub enum QuotedAtomChildren<'tree> {
4955 EscapeSequence(::std::boxed::Box<EscapeSequence<'tree>>),
4956 Interpolation(::std::boxed::Box<Interpolation<'tree>>),
4957 QuotedContent(::std::boxed::Box<QuotedContent<'tree>>),
4958}
4959impl<'tree> ::treesitter_types::FromNode<'tree> for QuotedAtomChildren<'tree> {
4960 #[allow(clippy::collapsible_else_if)]
4961 fn from_node(
4962 node: ::tree_sitter::Node<'tree>,
4963 src: &'tree [u8],
4964 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
4965 match node.kind() {
4966 "escape_sequence" => Ok(Self::EscapeSequence(::std::boxed::Box::new(
4967 <EscapeSequence as ::treesitter_types::FromNode>::from_node(node, src)?,
4968 ))),
4969 "interpolation" => Ok(Self::Interpolation(::std::boxed::Box::new(
4970 <Interpolation as ::treesitter_types::FromNode>::from_node(node, src)?,
4971 ))),
4972 "quoted_content" => Ok(Self::QuotedContent(::std::boxed::Box::new(
4973 <QuotedContent as ::treesitter_types::FromNode>::from_node(node, src)?,
4974 ))),
4975 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
4976 }
4977 }
4978}
4979impl ::treesitter_types::Spanned for QuotedAtomChildren<'_> {
4980 fn span(&self) -> ::treesitter_types::Span {
4981 match self {
4982 Self::EscapeSequence(inner) => inner.span(),
4983 Self::Interpolation(inner) => inner.span(),
4984 Self::QuotedContent(inner) => inner.span(),
4985 }
4986 }
4987}
4988#[derive(Debug, Clone)]
4989pub enum QuotedKeywordQuotedEnd {
4990 DoubleQuote(::treesitter_types::Span),
4991 SingleQuote(::treesitter_types::Span),
4992}
4993impl<'tree> ::treesitter_types::FromNode<'tree> for QuotedKeywordQuotedEnd {
4994 #[allow(clippy::collapsible_else_if)]
4995 fn from_node(
4996 node: ::tree_sitter::Node<'tree>,
4997 _src: &'tree [u8],
4998 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
4999 match node.kind() {
5000 "\"" => Ok(Self::DoubleQuote(::treesitter_types::Span::from(node))),
5001 "'" => Ok(Self::SingleQuote(::treesitter_types::Span::from(node))),
5002 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5003 }
5004 }
5005}
5006impl ::treesitter_types::Spanned for QuotedKeywordQuotedEnd {
5007 fn span(&self) -> ::treesitter_types::Span {
5008 match self {
5009 Self::DoubleQuote(span) => *span,
5010 Self::SingleQuote(span) => *span,
5011 }
5012 }
5013}
5014#[derive(Debug, Clone)]
5015pub enum QuotedKeywordQuotedStart {
5016 DoubleQuote(::treesitter_types::Span),
5017 SingleQuote(::treesitter_types::Span),
5018}
5019impl<'tree> ::treesitter_types::FromNode<'tree> for QuotedKeywordQuotedStart {
5020 #[allow(clippy::collapsible_else_if)]
5021 fn from_node(
5022 node: ::tree_sitter::Node<'tree>,
5023 _src: &'tree [u8],
5024 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5025 match node.kind() {
5026 "\"" => Ok(Self::DoubleQuote(::treesitter_types::Span::from(node))),
5027 "'" => Ok(Self::SingleQuote(::treesitter_types::Span::from(node))),
5028 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5029 }
5030 }
5031}
5032impl ::treesitter_types::Spanned for QuotedKeywordQuotedStart {
5033 fn span(&self) -> ::treesitter_types::Span {
5034 match self {
5035 Self::DoubleQuote(span) => *span,
5036 Self::SingleQuote(span) => *span,
5037 }
5038 }
5039}
5040#[derive(Debug, Clone)]
5041pub enum QuotedKeywordChildren<'tree> {
5042 EscapeSequence(::std::boxed::Box<EscapeSequence<'tree>>),
5043 Interpolation(::std::boxed::Box<Interpolation<'tree>>),
5044 QuotedContent(::std::boxed::Box<QuotedContent<'tree>>),
5045}
5046impl<'tree> ::treesitter_types::FromNode<'tree> for QuotedKeywordChildren<'tree> {
5047 #[allow(clippy::collapsible_else_if)]
5048 fn from_node(
5049 node: ::tree_sitter::Node<'tree>,
5050 src: &'tree [u8],
5051 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5052 match node.kind() {
5053 "escape_sequence" => Ok(Self::EscapeSequence(::std::boxed::Box::new(
5054 <EscapeSequence as ::treesitter_types::FromNode>::from_node(node, src)?,
5055 ))),
5056 "interpolation" => Ok(Self::Interpolation(::std::boxed::Box::new(
5057 <Interpolation as ::treesitter_types::FromNode>::from_node(node, src)?,
5058 ))),
5059 "quoted_content" => Ok(Self::QuotedContent(::std::boxed::Box::new(
5060 <QuotedContent as ::treesitter_types::FromNode>::from_node(node, src)?,
5061 ))),
5062 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5063 }
5064 }
5065}
5066impl ::treesitter_types::Spanned for QuotedKeywordChildren<'_> {
5067 fn span(&self) -> ::treesitter_types::Span {
5068 match self {
5069 Self::EscapeSequence(inner) => inner.span(),
5070 Self::Interpolation(inner) => inner.span(),
5071 Self::QuotedContent(inner) => inner.span(),
5072 }
5073 }
5074}
5075#[derive(Debug, Clone)]
5076pub enum RescueBlockChildren<'tree> {
5077 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
5078 Alias(::std::boxed::Box<Alias<'tree>>),
5079 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
5080 Atom(::std::boxed::Box<Atom<'tree>>),
5081 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
5082 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
5083 Block(::std::boxed::Box<Block<'tree>>),
5084 Boolean(::std::boxed::Box<Boolean<'tree>>),
5085 Call(::std::boxed::Box<Call<'tree>>),
5086 Char(::std::boxed::Box<Char<'tree>>),
5087 Charlist(::std::boxed::Box<Charlist<'tree>>),
5088 Dot(::std::boxed::Box<Dot<'tree>>),
5089 Float(::std::boxed::Box<Float<'tree>>),
5090 Identifier(::std::boxed::Box<Identifier<'tree>>),
5091 Integer(::std::boxed::Box<Integer<'tree>>),
5092 List(::std::boxed::Box<List<'tree>>),
5093 Map(::std::boxed::Box<Map<'tree>>),
5094 Nil(::std::boxed::Box<Nil<'tree>>),
5095 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
5096 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
5097 Sigil(::std::boxed::Box<Sigil<'tree>>),
5098 StabClause(::std::boxed::Box<StabClause<'tree>>),
5099 String(::std::boxed::Box<String<'tree>>),
5100 Tuple(::std::boxed::Box<Tuple<'tree>>),
5101 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
5102}
5103impl<'tree> ::treesitter_types::FromNode<'tree> for RescueBlockChildren<'tree> {
5104 #[allow(clippy::collapsible_else_if)]
5105 fn from_node(
5106 node: ::tree_sitter::Node<'tree>,
5107 src: &'tree [u8],
5108 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5109 match node.kind() {
5110 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
5111 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
5112 ))),
5113 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
5114 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
5115 ))),
5116 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
5117 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
5118 ))),
5119 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
5120 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
5121 ))),
5122 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
5123 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
5124 ))),
5125 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
5126 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
5127 ))),
5128 "block" => Ok(Self::Block(::std::boxed::Box::new(
5129 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
5130 ))),
5131 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
5132 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
5133 ))),
5134 "call" => Ok(Self::Call(::std::boxed::Box::new(
5135 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
5136 ))),
5137 "char" => Ok(Self::Char(::std::boxed::Box::new(
5138 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
5139 ))),
5140 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
5141 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
5142 ))),
5143 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
5144 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
5145 ))),
5146 "float" => Ok(Self::Float(::std::boxed::Box::new(
5147 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
5148 ))),
5149 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
5150 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
5151 ))),
5152 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
5153 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
5154 ))),
5155 "list" => Ok(Self::List(::std::boxed::Box::new(
5156 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
5157 ))),
5158 "map" => Ok(Self::Map(::std::boxed::Box::new(
5159 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
5160 ))),
5161 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
5162 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
5163 ))),
5164 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
5165 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
5166 ))),
5167 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
5168 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
5169 ))),
5170 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
5171 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
5172 ))),
5173 "stab_clause" => Ok(Self::StabClause(::std::boxed::Box::new(
5174 <StabClause as ::treesitter_types::FromNode>::from_node(node, src)?,
5175 ))),
5176 "string" => Ok(Self::String(::std::boxed::Box::new(
5177 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
5178 ))),
5179 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
5180 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
5181 ))),
5182 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
5183 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
5184 ))),
5185 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5186 }
5187 }
5188}
5189impl ::treesitter_types::Spanned for RescueBlockChildren<'_> {
5190 fn span(&self) -> ::treesitter_types::Span {
5191 match self {
5192 Self::AccessCall(inner) => inner.span(),
5193 Self::Alias(inner) => inner.span(),
5194 Self::AnonymousFunction(inner) => inner.span(),
5195 Self::Atom(inner) => inner.span(),
5196 Self::BinaryOperator(inner) => inner.span(),
5197 Self::Bitstring(inner) => inner.span(),
5198 Self::Block(inner) => inner.span(),
5199 Self::Boolean(inner) => inner.span(),
5200 Self::Call(inner) => inner.span(),
5201 Self::Char(inner) => inner.span(),
5202 Self::Charlist(inner) => inner.span(),
5203 Self::Dot(inner) => inner.span(),
5204 Self::Float(inner) => inner.span(),
5205 Self::Identifier(inner) => inner.span(),
5206 Self::Integer(inner) => inner.span(),
5207 Self::List(inner) => inner.span(),
5208 Self::Map(inner) => inner.span(),
5209 Self::Nil(inner) => inner.span(),
5210 Self::OperatorIdentifier(inner) => inner.span(),
5211 Self::QuotedAtom(inner) => inner.span(),
5212 Self::Sigil(inner) => inner.span(),
5213 Self::StabClause(inner) => inner.span(),
5214 Self::String(inner) => inner.span(),
5215 Self::Tuple(inner) => inner.span(),
5216 Self::UnaryOperator(inner) => inner.span(),
5217 }
5218 }
5219}
5220#[derive(Debug, Clone)]
5221pub enum SigilQuotedEnd {
5222 DoubleQuote(::treesitter_types::Span),
5223 DQuoteDQuoteDQuote(::treesitter_types::Span),
5224 SingleQuote(::treesitter_types::Span),
5225 SQuoteSQuoteSQuote(::treesitter_types::Span),
5226 RParen(::treesitter_types::Span),
5227 Slash(::treesitter_types::Span),
5228 Gt(::treesitter_types::Span),
5229 RBracket(::treesitter_types::Span),
5230 Pipe(::treesitter_types::Span),
5231 RBrace(::treesitter_types::Span),
5232}
5233impl<'tree> ::treesitter_types::FromNode<'tree> for SigilQuotedEnd {
5234 #[allow(clippy::collapsible_else_if)]
5235 fn from_node(
5236 node: ::tree_sitter::Node<'tree>,
5237 _src: &'tree [u8],
5238 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5239 match node.kind() {
5240 "\"" => Ok(Self::DoubleQuote(::treesitter_types::Span::from(node))),
5241 "\"\"\"" => Ok(Self::DQuoteDQuoteDQuote(::treesitter_types::Span::from(
5242 node,
5243 ))),
5244 "'" => Ok(Self::SingleQuote(::treesitter_types::Span::from(node))),
5245 "'''" => Ok(Self::SQuoteSQuoteSQuote(::treesitter_types::Span::from(
5246 node,
5247 ))),
5248 ")" => Ok(Self::RParen(::treesitter_types::Span::from(node))),
5249 "/" => Ok(Self::Slash(::treesitter_types::Span::from(node))),
5250 ">" => Ok(Self::Gt(::treesitter_types::Span::from(node))),
5251 "]" => Ok(Self::RBracket(::treesitter_types::Span::from(node))),
5252 "|" => Ok(Self::Pipe(::treesitter_types::Span::from(node))),
5253 "}" => Ok(Self::RBrace(::treesitter_types::Span::from(node))),
5254 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5255 }
5256 }
5257}
5258impl ::treesitter_types::Spanned for SigilQuotedEnd {
5259 fn span(&self) -> ::treesitter_types::Span {
5260 match self {
5261 Self::DoubleQuote(span) => *span,
5262 Self::DQuoteDQuoteDQuote(span) => *span,
5263 Self::SingleQuote(span) => *span,
5264 Self::SQuoteSQuoteSQuote(span) => *span,
5265 Self::RParen(span) => *span,
5266 Self::Slash(span) => *span,
5267 Self::Gt(span) => *span,
5268 Self::RBracket(span) => *span,
5269 Self::Pipe(span) => *span,
5270 Self::RBrace(span) => *span,
5271 }
5272 }
5273}
5274#[derive(Debug, Clone)]
5275pub enum SigilQuotedStart {
5276 DoubleQuote(::treesitter_types::Span),
5277 DQuoteDQuoteDQuote(::treesitter_types::Span),
5278 SingleQuote(::treesitter_types::Span),
5279 SQuoteSQuoteSQuote(::treesitter_types::Span),
5280 LParen(::treesitter_types::Span),
5281 Slash(::treesitter_types::Span),
5282 Lt(::treesitter_types::Span),
5283 LBracket(::treesitter_types::Span),
5284 LBrace(::treesitter_types::Span),
5285 Pipe(::treesitter_types::Span),
5286}
5287impl<'tree> ::treesitter_types::FromNode<'tree> for SigilQuotedStart {
5288 #[allow(clippy::collapsible_else_if)]
5289 fn from_node(
5290 node: ::tree_sitter::Node<'tree>,
5291 _src: &'tree [u8],
5292 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5293 match node.kind() {
5294 "\"" => Ok(Self::DoubleQuote(::treesitter_types::Span::from(node))),
5295 "\"\"\"" => Ok(Self::DQuoteDQuoteDQuote(::treesitter_types::Span::from(
5296 node,
5297 ))),
5298 "'" => Ok(Self::SingleQuote(::treesitter_types::Span::from(node))),
5299 "'''" => Ok(Self::SQuoteSQuoteSQuote(::treesitter_types::Span::from(
5300 node,
5301 ))),
5302 "(" => Ok(Self::LParen(::treesitter_types::Span::from(node))),
5303 "/" => Ok(Self::Slash(::treesitter_types::Span::from(node))),
5304 "<" => Ok(Self::Lt(::treesitter_types::Span::from(node))),
5305 "[" => Ok(Self::LBracket(::treesitter_types::Span::from(node))),
5306 "{" => Ok(Self::LBrace(::treesitter_types::Span::from(node))),
5307 "|" => Ok(Self::Pipe(::treesitter_types::Span::from(node))),
5308 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5309 }
5310 }
5311}
5312impl ::treesitter_types::Spanned for SigilQuotedStart {
5313 fn span(&self) -> ::treesitter_types::Span {
5314 match self {
5315 Self::DoubleQuote(span) => *span,
5316 Self::DQuoteDQuoteDQuote(span) => *span,
5317 Self::SingleQuote(span) => *span,
5318 Self::SQuoteSQuoteSQuote(span) => *span,
5319 Self::LParen(span) => *span,
5320 Self::Slash(span) => *span,
5321 Self::Lt(span) => *span,
5322 Self::LBracket(span) => *span,
5323 Self::LBrace(span) => *span,
5324 Self::Pipe(span) => *span,
5325 }
5326 }
5327}
5328#[derive(Debug, Clone)]
5329pub enum SigilChildren<'tree> {
5330 EscapeSequence(::std::boxed::Box<EscapeSequence<'tree>>),
5331 Interpolation(::std::boxed::Box<Interpolation<'tree>>),
5332 QuotedContent(::std::boxed::Box<QuotedContent<'tree>>),
5333 SigilModifiers(::std::boxed::Box<SigilModifiers<'tree>>),
5334 SigilName(::std::boxed::Box<SigilName<'tree>>),
5335}
5336impl<'tree> ::treesitter_types::FromNode<'tree> for SigilChildren<'tree> {
5337 #[allow(clippy::collapsible_else_if)]
5338 fn from_node(
5339 node: ::tree_sitter::Node<'tree>,
5340 src: &'tree [u8],
5341 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5342 match node.kind() {
5343 "escape_sequence" => Ok(Self::EscapeSequence(::std::boxed::Box::new(
5344 <EscapeSequence as ::treesitter_types::FromNode>::from_node(node, src)?,
5345 ))),
5346 "interpolation" => Ok(Self::Interpolation(::std::boxed::Box::new(
5347 <Interpolation as ::treesitter_types::FromNode>::from_node(node, src)?,
5348 ))),
5349 "quoted_content" => Ok(Self::QuotedContent(::std::boxed::Box::new(
5350 <QuotedContent as ::treesitter_types::FromNode>::from_node(node, src)?,
5351 ))),
5352 "sigil_modifiers" => Ok(Self::SigilModifiers(::std::boxed::Box::new(
5353 <SigilModifiers as ::treesitter_types::FromNode>::from_node(node, src)?,
5354 ))),
5355 "sigil_name" => Ok(Self::SigilName(::std::boxed::Box::new(
5356 <SigilName as ::treesitter_types::FromNode>::from_node(node, src)?,
5357 ))),
5358 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5359 }
5360 }
5361}
5362impl ::treesitter_types::Spanned for SigilChildren<'_> {
5363 fn span(&self) -> ::treesitter_types::Span {
5364 match self {
5365 Self::EscapeSequence(inner) => inner.span(),
5366 Self::Interpolation(inner) => inner.span(),
5367 Self::QuotedContent(inner) => inner.span(),
5368 Self::SigilModifiers(inner) => inner.span(),
5369 Self::SigilName(inner) => inner.span(),
5370 }
5371 }
5372}
5373#[derive(Debug, Clone)]
5374pub enum SourceChildren<'tree> {
5375 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
5376 Alias(::std::boxed::Box<Alias<'tree>>),
5377 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
5378 Atom(::std::boxed::Box<Atom<'tree>>),
5379 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
5380 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
5381 Block(::std::boxed::Box<Block<'tree>>),
5382 Boolean(::std::boxed::Box<Boolean<'tree>>),
5383 Call(::std::boxed::Box<Call<'tree>>),
5384 Char(::std::boxed::Box<Char<'tree>>),
5385 Charlist(::std::boxed::Box<Charlist<'tree>>),
5386 Dot(::std::boxed::Box<Dot<'tree>>),
5387 Float(::std::boxed::Box<Float<'tree>>),
5388 Identifier(::std::boxed::Box<Identifier<'tree>>),
5389 Integer(::std::boxed::Box<Integer<'tree>>),
5390 List(::std::boxed::Box<List<'tree>>),
5391 Map(::std::boxed::Box<Map<'tree>>),
5392 Nil(::std::boxed::Box<Nil<'tree>>),
5393 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
5394 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
5395 Sigil(::std::boxed::Box<Sigil<'tree>>),
5396 String(::std::boxed::Box<String<'tree>>),
5397 Tuple(::std::boxed::Box<Tuple<'tree>>),
5398 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
5399}
5400impl<'tree> ::treesitter_types::FromNode<'tree> for SourceChildren<'tree> {
5401 #[allow(clippy::collapsible_else_if)]
5402 fn from_node(
5403 node: ::tree_sitter::Node<'tree>,
5404 src: &'tree [u8],
5405 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5406 match node.kind() {
5407 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
5408 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
5409 ))),
5410 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
5411 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
5412 ))),
5413 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
5414 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
5415 ))),
5416 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
5417 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
5418 ))),
5419 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
5420 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
5421 ))),
5422 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
5423 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
5424 ))),
5425 "block" => Ok(Self::Block(::std::boxed::Box::new(
5426 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
5427 ))),
5428 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
5429 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
5430 ))),
5431 "call" => Ok(Self::Call(::std::boxed::Box::new(
5432 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
5433 ))),
5434 "char" => Ok(Self::Char(::std::boxed::Box::new(
5435 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
5436 ))),
5437 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
5438 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
5439 ))),
5440 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
5441 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
5442 ))),
5443 "float" => Ok(Self::Float(::std::boxed::Box::new(
5444 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
5445 ))),
5446 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
5447 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
5448 ))),
5449 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
5450 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
5451 ))),
5452 "list" => Ok(Self::List(::std::boxed::Box::new(
5453 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
5454 ))),
5455 "map" => Ok(Self::Map(::std::boxed::Box::new(
5456 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
5457 ))),
5458 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
5459 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
5460 ))),
5461 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
5462 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
5463 ))),
5464 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
5465 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
5466 ))),
5467 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
5468 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
5469 ))),
5470 "string" => Ok(Self::String(::std::boxed::Box::new(
5471 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
5472 ))),
5473 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
5474 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
5475 ))),
5476 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
5477 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
5478 ))),
5479 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5480 }
5481 }
5482}
5483impl ::treesitter_types::Spanned for SourceChildren<'_> {
5484 fn span(&self) -> ::treesitter_types::Span {
5485 match self {
5486 Self::AccessCall(inner) => inner.span(),
5487 Self::Alias(inner) => inner.span(),
5488 Self::AnonymousFunction(inner) => inner.span(),
5489 Self::Atom(inner) => inner.span(),
5490 Self::BinaryOperator(inner) => inner.span(),
5491 Self::Bitstring(inner) => inner.span(),
5492 Self::Block(inner) => inner.span(),
5493 Self::Boolean(inner) => inner.span(),
5494 Self::Call(inner) => inner.span(),
5495 Self::Char(inner) => inner.span(),
5496 Self::Charlist(inner) => inner.span(),
5497 Self::Dot(inner) => inner.span(),
5498 Self::Float(inner) => inner.span(),
5499 Self::Identifier(inner) => inner.span(),
5500 Self::Integer(inner) => inner.span(),
5501 Self::List(inner) => inner.span(),
5502 Self::Map(inner) => inner.span(),
5503 Self::Nil(inner) => inner.span(),
5504 Self::OperatorIdentifier(inner) => inner.span(),
5505 Self::QuotedAtom(inner) => inner.span(),
5506 Self::Sigil(inner) => inner.span(),
5507 Self::String(inner) => inner.span(),
5508 Self::Tuple(inner) => inner.span(),
5509 Self::UnaryOperator(inner) => inner.span(),
5510 }
5511 }
5512}
5513#[derive(Debug, Clone)]
5514pub enum StabClauseLeft<'tree> {
5515 Arguments(::std::boxed::Box<Arguments<'tree>>),
5516 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
5517}
5518impl<'tree> ::treesitter_types::FromNode<'tree> for StabClauseLeft<'tree> {
5519 #[allow(clippy::collapsible_else_if)]
5520 fn from_node(
5521 node: ::tree_sitter::Node<'tree>,
5522 src: &'tree [u8],
5523 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5524 match node.kind() {
5525 "arguments" => Ok(Self::Arguments(::std::boxed::Box::new(
5526 <Arguments as ::treesitter_types::FromNode>::from_node(node, src)?,
5527 ))),
5528 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
5529 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
5530 ))),
5531 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5532 }
5533 }
5534}
5535impl ::treesitter_types::Spanned for StabClauseLeft<'_> {
5536 fn span(&self) -> ::treesitter_types::Span {
5537 match self {
5538 Self::Arguments(inner) => inner.span(),
5539 Self::BinaryOperator(inner) => inner.span(),
5540 }
5541 }
5542}
5543#[derive(Debug, Clone)]
5544pub enum StabClauseOperator {
5545 Arrow(::treesitter_types::Span),
5546}
5547impl<'tree> ::treesitter_types::FromNode<'tree> for StabClauseOperator {
5548 #[allow(clippy::collapsible_else_if)]
5549 fn from_node(
5550 node: ::tree_sitter::Node<'tree>,
5551 _src: &'tree [u8],
5552 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5553 match node.kind() {
5554 "->" => Ok(Self::Arrow(::treesitter_types::Span::from(node))),
5555 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5556 }
5557 }
5558}
5559impl ::treesitter_types::Spanned for StabClauseOperator {
5560 fn span(&self) -> ::treesitter_types::Span {
5561 match self {
5562 Self::Arrow(span) => *span,
5563 }
5564 }
5565}
5566#[derive(Debug, Clone)]
5567pub enum StringQuotedEnd {
5568 DoubleQuote(::treesitter_types::Span),
5569 DQuoteDQuoteDQuote(::treesitter_types::Span),
5570}
5571impl<'tree> ::treesitter_types::FromNode<'tree> for StringQuotedEnd {
5572 #[allow(clippy::collapsible_else_if)]
5573 fn from_node(
5574 node: ::tree_sitter::Node<'tree>,
5575 _src: &'tree [u8],
5576 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5577 match node.kind() {
5578 "\"" => Ok(Self::DoubleQuote(::treesitter_types::Span::from(node))),
5579 "\"\"\"" => Ok(Self::DQuoteDQuoteDQuote(::treesitter_types::Span::from(
5580 node,
5581 ))),
5582 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5583 }
5584 }
5585}
5586impl ::treesitter_types::Spanned for StringQuotedEnd {
5587 fn span(&self) -> ::treesitter_types::Span {
5588 match self {
5589 Self::DoubleQuote(span) => *span,
5590 Self::DQuoteDQuoteDQuote(span) => *span,
5591 }
5592 }
5593}
5594#[derive(Debug, Clone)]
5595pub enum StringQuotedStart {
5596 DoubleQuote(::treesitter_types::Span),
5597 DQuoteDQuoteDQuote(::treesitter_types::Span),
5598}
5599impl<'tree> ::treesitter_types::FromNode<'tree> for StringQuotedStart {
5600 #[allow(clippy::collapsible_else_if)]
5601 fn from_node(
5602 node: ::tree_sitter::Node<'tree>,
5603 _src: &'tree [u8],
5604 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5605 match node.kind() {
5606 "\"" => Ok(Self::DoubleQuote(::treesitter_types::Span::from(node))),
5607 "\"\"\"" => Ok(Self::DQuoteDQuoteDQuote(::treesitter_types::Span::from(
5608 node,
5609 ))),
5610 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5611 }
5612 }
5613}
5614impl ::treesitter_types::Spanned for StringQuotedStart {
5615 fn span(&self) -> ::treesitter_types::Span {
5616 match self {
5617 Self::DoubleQuote(span) => *span,
5618 Self::DQuoteDQuoteDQuote(span) => *span,
5619 }
5620 }
5621}
5622#[derive(Debug, Clone)]
5623pub enum StringChildren<'tree> {
5624 EscapeSequence(::std::boxed::Box<EscapeSequence<'tree>>),
5625 Interpolation(::std::boxed::Box<Interpolation<'tree>>),
5626 QuotedContent(::std::boxed::Box<QuotedContent<'tree>>),
5627}
5628impl<'tree> ::treesitter_types::FromNode<'tree> for StringChildren<'tree> {
5629 #[allow(clippy::collapsible_else_if)]
5630 fn from_node(
5631 node: ::tree_sitter::Node<'tree>,
5632 src: &'tree [u8],
5633 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5634 match node.kind() {
5635 "escape_sequence" => Ok(Self::EscapeSequence(::std::boxed::Box::new(
5636 <EscapeSequence as ::treesitter_types::FromNode>::from_node(node, src)?,
5637 ))),
5638 "interpolation" => Ok(Self::Interpolation(::std::boxed::Box::new(
5639 <Interpolation as ::treesitter_types::FromNode>::from_node(node, src)?,
5640 ))),
5641 "quoted_content" => Ok(Self::QuotedContent(::std::boxed::Box::new(
5642 <QuotedContent as ::treesitter_types::FromNode>::from_node(node, src)?,
5643 ))),
5644 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5645 }
5646 }
5647}
5648impl ::treesitter_types::Spanned for StringChildren<'_> {
5649 fn span(&self) -> ::treesitter_types::Span {
5650 match self {
5651 Self::EscapeSequence(inner) => inner.span(),
5652 Self::Interpolation(inner) => inner.span(),
5653 Self::QuotedContent(inner) => inner.span(),
5654 }
5655 }
5656}
5657#[derive(Debug, Clone)]
5658pub enum StructChildren<'tree> {
5659 Alias(::std::boxed::Box<Alias<'tree>>),
5660 Atom(::std::boxed::Box<Atom<'tree>>),
5661 Call(::std::boxed::Box<Call<'tree>>),
5662 Dot(::std::boxed::Box<Dot<'tree>>),
5663 Identifier(::std::boxed::Box<Identifier<'tree>>),
5664 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
5665 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
5666}
5667impl<'tree> ::treesitter_types::FromNode<'tree> for StructChildren<'tree> {
5668 #[allow(clippy::collapsible_else_if)]
5669 fn from_node(
5670 node: ::tree_sitter::Node<'tree>,
5671 src: &'tree [u8],
5672 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5673 match node.kind() {
5674 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
5675 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
5676 ))),
5677 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
5678 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
5679 ))),
5680 "call" => Ok(Self::Call(::std::boxed::Box::new(
5681 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
5682 ))),
5683 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
5684 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
5685 ))),
5686 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
5687 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
5688 ))),
5689 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
5690 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
5691 ))),
5692 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
5693 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
5694 ))),
5695 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5696 }
5697 }
5698}
5699impl ::treesitter_types::Spanned for StructChildren<'_> {
5700 fn span(&self) -> ::treesitter_types::Span {
5701 match self {
5702 Self::Alias(inner) => inner.span(),
5703 Self::Atom(inner) => inner.span(),
5704 Self::Call(inner) => inner.span(),
5705 Self::Dot(inner) => inner.span(),
5706 Self::Identifier(inner) => inner.span(),
5707 Self::QuotedAtom(inner) => inner.span(),
5708 Self::UnaryOperator(inner) => inner.span(),
5709 }
5710 }
5711}
5712#[derive(Debug, Clone)]
5713pub enum TupleChildren<'tree> {
5714 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
5715 Alias(::std::boxed::Box<Alias<'tree>>),
5716 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
5717 Atom(::std::boxed::Box<Atom<'tree>>),
5718 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
5719 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
5720 Block(::std::boxed::Box<Block<'tree>>),
5721 Boolean(::std::boxed::Box<Boolean<'tree>>),
5722 Call(::std::boxed::Box<Call<'tree>>),
5723 Char(::std::boxed::Box<Char<'tree>>),
5724 Charlist(::std::boxed::Box<Charlist<'tree>>),
5725 Dot(::std::boxed::Box<Dot<'tree>>),
5726 Float(::std::boxed::Box<Float<'tree>>),
5727 Identifier(::std::boxed::Box<Identifier<'tree>>),
5728 Integer(::std::boxed::Box<Integer<'tree>>),
5729 Keywords(::std::boxed::Box<Keywords<'tree>>),
5730 List(::std::boxed::Box<List<'tree>>),
5731 Map(::std::boxed::Box<Map<'tree>>),
5732 Nil(::std::boxed::Box<Nil<'tree>>),
5733 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
5734 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
5735 Sigil(::std::boxed::Box<Sigil<'tree>>),
5736 String(::std::boxed::Box<String<'tree>>),
5737 Tuple(::std::boxed::Box<Tuple<'tree>>),
5738 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
5739}
5740impl<'tree> ::treesitter_types::FromNode<'tree> for TupleChildren<'tree> {
5741 #[allow(clippy::collapsible_else_if)]
5742 fn from_node(
5743 node: ::tree_sitter::Node<'tree>,
5744 src: &'tree [u8],
5745 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5746 match node.kind() {
5747 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
5748 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
5749 ))),
5750 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
5751 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
5752 ))),
5753 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
5754 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
5755 ))),
5756 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
5757 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
5758 ))),
5759 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
5760 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
5761 ))),
5762 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
5763 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
5764 ))),
5765 "block" => Ok(Self::Block(::std::boxed::Box::new(
5766 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
5767 ))),
5768 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
5769 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
5770 ))),
5771 "call" => Ok(Self::Call(::std::boxed::Box::new(
5772 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
5773 ))),
5774 "char" => Ok(Self::Char(::std::boxed::Box::new(
5775 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
5776 ))),
5777 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
5778 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
5779 ))),
5780 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
5781 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
5782 ))),
5783 "float" => Ok(Self::Float(::std::boxed::Box::new(
5784 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
5785 ))),
5786 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
5787 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
5788 ))),
5789 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
5790 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
5791 ))),
5792 "keywords" => Ok(Self::Keywords(::std::boxed::Box::new(
5793 <Keywords as ::treesitter_types::FromNode>::from_node(node, src)?,
5794 ))),
5795 "list" => Ok(Self::List(::std::boxed::Box::new(
5796 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
5797 ))),
5798 "map" => Ok(Self::Map(::std::boxed::Box::new(
5799 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
5800 ))),
5801 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
5802 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
5803 ))),
5804 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
5805 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
5806 ))),
5807 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
5808 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
5809 ))),
5810 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
5811 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
5812 ))),
5813 "string" => Ok(Self::String(::std::boxed::Box::new(
5814 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
5815 ))),
5816 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
5817 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
5818 ))),
5819 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
5820 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
5821 ))),
5822 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5823 }
5824 }
5825}
5826impl ::treesitter_types::Spanned for TupleChildren<'_> {
5827 fn span(&self) -> ::treesitter_types::Span {
5828 match self {
5829 Self::AccessCall(inner) => inner.span(),
5830 Self::Alias(inner) => inner.span(),
5831 Self::AnonymousFunction(inner) => inner.span(),
5832 Self::Atom(inner) => inner.span(),
5833 Self::BinaryOperator(inner) => inner.span(),
5834 Self::Bitstring(inner) => inner.span(),
5835 Self::Block(inner) => inner.span(),
5836 Self::Boolean(inner) => inner.span(),
5837 Self::Call(inner) => inner.span(),
5838 Self::Char(inner) => inner.span(),
5839 Self::Charlist(inner) => inner.span(),
5840 Self::Dot(inner) => inner.span(),
5841 Self::Float(inner) => inner.span(),
5842 Self::Identifier(inner) => inner.span(),
5843 Self::Integer(inner) => inner.span(),
5844 Self::Keywords(inner) => inner.span(),
5845 Self::List(inner) => inner.span(),
5846 Self::Map(inner) => inner.span(),
5847 Self::Nil(inner) => inner.span(),
5848 Self::OperatorIdentifier(inner) => inner.span(),
5849 Self::QuotedAtom(inner) => inner.span(),
5850 Self::Sigil(inner) => inner.span(),
5851 Self::String(inner) => inner.span(),
5852 Self::Tuple(inner) => inner.span(),
5853 Self::UnaryOperator(inner) => inner.span(),
5854 }
5855 }
5856}
5857#[derive(Debug, Clone)]
5858pub enum UnaryOperatorOperand<'tree> {
5859 LParen(::treesitter_types::Span),
5860 RParen(::treesitter_types::Span),
5861 AccessCall(::std::boxed::Box<AccessCall<'tree>>),
5862 Alias(::std::boxed::Box<Alias<'tree>>),
5863 AnonymousFunction(::std::boxed::Box<AnonymousFunction<'tree>>),
5864 Atom(::std::boxed::Box<Atom<'tree>>),
5865 BinaryOperator(::std::boxed::Box<BinaryOperator<'tree>>),
5866 Bitstring(::std::boxed::Box<Bitstring<'tree>>),
5867 Block(::std::boxed::Box<Block<'tree>>),
5868 Boolean(::std::boxed::Box<Boolean<'tree>>),
5869 Call(::std::boxed::Box<Call<'tree>>),
5870 Char(::std::boxed::Box<Char<'tree>>),
5871 Charlist(::std::boxed::Box<Charlist<'tree>>),
5872 Dot(::std::boxed::Box<Dot<'tree>>),
5873 Float(::std::boxed::Box<Float<'tree>>),
5874 Identifier(::std::boxed::Box<Identifier<'tree>>),
5875 Integer(::std::boxed::Box<Integer<'tree>>),
5876 List(::std::boxed::Box<List<'tree>>),
5877 Map(::std::boxed::Box<Map<'tree>>),
5878 Nil(::std::boxed::Box<Nil<'tree>>),
5879 OperatorIdentifier(::std::boxed::Box<OperatorIdentifier<'tree>>),
5880 QuotedAtom(::std::boxed::Box<QuotedAtom<'tree>>),
5881 Sigil(::std::boxed::Box<Sigil<'tree>>),
5882 String(::std::boxed::Box<String<'tree>>),
5883 Tuple(::std::boxed::Box<Tuple<'tree>>),
5884 UnaryOperator(::std::boxed::Box<UnaryOperator<'tree>>),
5885}
5886impl<'tree> ::treesitter_types::FromNode<'tree> for UnaryOperatorOperand<'tree> {
5887 #[allow(clippy::collapsible_else_if)]
5888 fn from_node(
5889 node: ::tree_sitter::Node<'tree>,
5890 src: &'tree [u8],
5891 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
5892 match node.kind() {
5893 "(" => Ok(Self::LParen(::treesitter_types::Span::from(node))),
5894 ")" => Ok(Self::RParen(::treesitter_types::Span::from(node))),
5895 "access_call" => Ok(Self::AccessCall(::std::boxed::Box::new(
5896 <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)?,
5897 ))),
5898 "alias" => Ok(Self::Alias(::std::boxed::Box::new(
5899 <Alias as ::treesitter_types::FromNode>::from_node(node, src)?,
5900 ))),
5901 "anonymous_function" => Ok(Self::AnonymousFunction(::std::boxed::Box::new(
5902 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)?,
5903 ))),
5904 "atom" => Ok(Self::Atom(::std::boxed::Box::new(
5905 <Atom as ::treesitter_types::FromNode>::from_node(node, src)?,
5906 ))),
5907 "binary_operator" => Ok(Self::BinaryOperator(::std::boxed::Box::new(
5908 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
5909 ))),
5910 "bitstring" => Ok(Self::Bitstring(::std::boxed::Box::new(
5911 <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)?,
5912 ))),
5913 "block" => Ok(Self::Block(::std::boxed::Box::new(
5914 <Block as ::treesitter_types::FromNode>::from_node(node, src)?,
5915 ))),
5916 "boolean" => Ok(Self::Boolean(::std::boxed::Box::new(
5917 <Boolean as ::treesitter_types::FromNode>::from_node(node, src)?,
5918 ))),
5919 "call" => Ok(Self::Call(::std::boxed::Box::new(
5920 <Call as ::treesitter_types::FromNode>::from_node(node, src)?,
5921 ))),
5922 "char" => Ok(Self::Char(::std::boxed::Box::new(
5923 <Char as ::treesitter_types::FromNode>::from_node(node, src)?,
5924 ))),
5925 "charlist" => Ok(Self::Charlist(::std::boxed::Box::new(
5926 <Charlist as ::treesitter_types::FromNode>::from_node(node, src)?,
5927 ))),
5928 "dot" => Ok(Self::Dot(::std::boxed::Box::new(
5929 <Dot as ::treesitter_types::FromNode>::from_node(node, src)?,
5930 ))),
5931 "float" => Ok(Self::Float(::std::boxed::Box::new(
5932 <Float as ::treesitter_types::FromNode>::from_node(node, src)?,
5933 ))),
5934 "identifier" => Ok(Self::Identifier(::std::boxed::Box::new(
5935 <Identifier as ::treesitter_types::FromNode>::from_node(node, src)?,
5936 ))),
5937 "integer" => Ok(Self::Integer(::std::boxed::Box::new(
5938 <Integer as ::treesitter_types::FromNode>::from_node(node, src)?,
5939 ))),
5940 "list" => Ok(Self::List(::std::boxed::Box::new(
5941 <List as ::treesitter_types::FromNode>::from_node(node, src)?,
5942 ))),
5943 "map" => Ok(Self::Map(::std::boxed::Box::new(
5944 <Map as ::treesitter_types::FromNode>::from_node(node, src)?,
5945 ))),
5946 "nil" => Ok(Self::Nil(::std::boxed::Box::new(
5947 <Nil as ::treesitter_types::FromNode>::from_node(node, src)?,
5948 ))),
5949 "operator_identifier" => Ok(Self::OperatorIdentifier(::std::boxed::Box::new(
5950 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)?,
5951 ))),
5952 "quoted_atom" => Ok(Self::QuotedAtom(::std::boxed::Box::new(
5953 <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)?,
5954 ))),
5955 "sigil" => Ok(Self::Sigil(::std::boxed::Box::new(
5956 <Sigil as ::treesitter_types::FromNode>::from_node(node, src)?,
5957 ))),
5958 "string" => Ok(Self::String(::std::boxed::Box::new(
5959 <String as ::treesitter_types::FromNode>::from_node(node, src)?,
5960 ))),
5961 "tuple" => Ok(Self::Tuple(::std::boxed::Box::new(
5962 <Tuple as ::treesitter_types::FromNode>::from_node(node, src)?,
5963 ))),
5964 "unary_operator" => Ok(Self::UnaryOperator(::std::boxed::Box::new(
5965 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)?,
5966 ))),
5967 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
5968 }
5969 }
5970}
5971impl ::treesitter_types::Spanned for UnaryOperatorOperand<'_> {
5972 fn span(&self) -> ::treesitter_types::Span {
5973 match self {
5974 Self::LParen(span) => *span,
5975 Self::RParen(span) => *span,
5976 Self::AccessCall(inner) => inner.span(),
5977 Self::Alias(inner) => inner.span(),
5978 Self::AnonymousFunction(inner) => inner.span(),
5979 Self::Atom(inner) => inner.span(),
5980 Self::BinaryOperator(inner) => inner.span(),
5981 Self::Bitstring(inner) => inner.span(),
5982 Self::Block(inner) => inner.span(),
5983 Self::Boolean(inner) => inner.span(),
5984 Self::Call(inner) => inner.span(),
5985 Self::Char(inner) => inner.span(),
5986 Self::Charlist(inner) => inner.span(),
5987 Self::Dot(inner) => inner.span(),
5988 Self::Float(inner) => inner.span(),
5989 Self::Identifier(inner) => inner.span(),
5990 Self::Integer(inner) => inner.span(),
5991 Self::List(inner) => inner.span(),
5992 Self::Map(inner) => inner.span(),
5993 Self::Nil(inner) => inner.span(),
5994 Self::OperatorIdentifier(inner) => inner.span(),
5995 Self::QuotedAtom(inner) => inner.span(),
5996 Self::Sigil(inner) => inner.span(),
5997 Self::String(inner) => inner.span(),
5998 Self::Tuple(inner) => inner.span(),
5999 Self::UnaryOperator(inner) => inner.span(),
6000 }
6001 }
6002}
6003#[derive(Debug, Clone)]
6004pub enum UnaryOperatorOperator {
6005 Bang(::treesitter_types::Span),
6006 Amp(::treesitter_types::Span),
6007 Plus(::treesitter_types::Span),
6008 Minus(::treesitter_types::Span),
6009 At(::treesitter_types::Span),
6010 Caret(::treesitter_types::Span),
6011 Not(::treesitter_types::Span),
6012 TildeTildeTilde(::treesitter_types::Span),
6013}
6014impl<'tree> ::treesitter_types::FromNode<'tree> for UnaryOperatorOperator {
6015 #[allow(clippy::collapsible_else_if)]
6016 fn from_node(
6017 node: ::tree_sitter::Node<'tree>,
6018 _src: &'tree [u8],
6019 ) -> ::core::result::Result<Self, ::treesitter_types::ParseError> {
6020 match node.kind() {
6021 "!" => Ok(Self::Bang(::treesitter_types::Span::from(node))),
6022 "&" => Ok(Self::Amp(::treesitter_types::Span::from(node))),
6023 "+" => Ok(Self::Plus(::treesitter_types::Span::from(node))),
6024 "-" => Ok(Self::Minus(::treesitter_types::Span::from(node))),
6025 "@" => Ok(Self::At(::treesitter_types::Span::from(node))),
6026 "^" => Ok(Self::Caret(::treesitter_types::Span::from(node))),
6027 "not" => Ok(Self::Not(::treesitter_types::Span::from(node))),
6028 "~~~" => Ok(Self::TildeTildeTilde(::treesitter_types::Span::from(node))),
6029 other => Err(::treesitter_types::ParseError::unexpected_kind(other, node)),
6030 }
6031 }
6032}
6033impl ::treesitter_types::Spanned for UnaryOperatorOperator {
6034 fn span(&self) -> ::treesitter_types::Span {
6035 match self {
6036 Self::Bang(span) => *span,
6037 Self::Amp(span) => *span,
6038 Self::Plus(span) => *span,
6039 Self::Minus(span) => *span,
6040 Self::At(span) => *span,
6041 Self::Caret(span) => *span,
6042 Self::Not(span) => *span,
6043 Self::TildeTildeTilde(span) => *span,
6044 }
6045 }
6046}
6047#[derive(Debug, Clone)]
6048pub enum AnyNode<'tree> {
6049 AccessCall(AccessCall<'tree>),
6050 AfterBlock(AfterBlock<'tree>),
6051 AnonymousFunction(AnonymousFunction<'tree>),
6052 Arguments(Arguments<'tree>),
6053 BinaryOperator(BinaryOperator<'tree>),
6054 Bitstring(Bitstring<'tree>),
6055 Block(Block<'tree>),
6056 Body(Body<'tree>),
6057 Boolean(Boolean<'tree>),
6058 Call(Call<'tree>),
6059 CatchBlock(CatchBlock<'tree>),
6060 Charlist(Charlist<'tree>),
6061 DoBlock(DoBlock<'tree>),
6062 Dot(Dot<'tree>),
6063 ElseBlock(ElseBlock<'tree>),
6064 Identifier(Identifier<'tree>),
6065 Interpolation(Interpolation<'tree>),
6066 Keywords(Keywords<'tree>),
6067 List(List<'tree>),
6068 Map(Map<'tree>),
6069 MapContent(MapContent<'tree>),
6070 Nil(Nil<'tree>),
6071 OperatorIdentifier(OperatorIdentifier<'tree>),
6072 Pair(Pair<'tree>),
6073 QuotedAtom(QuotedAtom<'tree>),
6074 QuotedKeyword(QuotedKeyword<'tree>),
6075 RescueBlock(RescueBlock<'tree>),
6076 Sigil(Sigil<'tree>),
6077 Source(Source<'tree>),
6078 StabClause(StabClause<'tree>),
6079 String(String<'tree>),
6080 Struct(Struct<'tree>),
6081 Tuple(Tuple<'tree>),
6082 UnaryOperator(UnaryOperator<'tree>),
6083 Alias(Alias<'tree>),
6084 Atom(Atom<'tree>),
6085 Char(Char<'tree>),
6086 Comment(Comment<'tree>),
6087 EscapeSequence(EscapeSequence<'tree>),
6088 Float(Float<'tree>),
6089 Integer(Integer<'tree>),
6090 Keyword(Keyword<'tree>),
6091 QuotedContent(QuotedContent<'tree>),
6092 SigilModifiers(SigilModifiers<'tree>),
6093 SigilName(SigilName<'tree>),
6094 Unknown(::tree_sitter::Node<'tree>),
6095}
6096impl<'tree> AnyNode<'tree> {
6097 pub fn from_node(node: ::tree_sitter::Node<'tree>, src: &'tree [u8]) -> Self {
6098 match node.kind() {
6099 "access_call" => <AccessCall as ::treesitter_types::FromNode>::from_node(node, src)
6100 .map(Self::AccessCall)
6101 .unwrap_or(Self::Unknown(node)),
6102 "after_block" => <AfterBlock as ::treesitter_types::FromNode>::from_node(node, src)
6103 .map(Self::AfterBlock)
6104 .unwrap_or(Self::Unknown(node)),
6105 "anonymous_function" => {
6106 <AnonymousFunction as ::treesitter_types::FromNode>::from_node(node, src)
6107 .map(Self::AnonymousFunction)
6108 .unwrap_or(Self::Unknown(node))
6109 }
6110 "arguments" => <Arguments as ::treesitter_types::FromNode>::from_node(node, src)
6111 .map(Self::Arguments)
6112 .unwrap_or(Self::Unknown(node)),
6113 "binary_operator" => {
6114 <BinaryOperator as ::treesitter_types::FromNode>::from_node(node, src)
6115 .map(Self::BinaryOperator)
6116 .unwrap_or(Self::Unknown(node))
6117 }
6118 "bitstring" => <Bitstring as ::treesitter_types::FromNode>::from_node(node, src)
6119 .map(Self::Bitstring)
6120 .unwrap_or(Self::Unknown(node)),
6121 "block" => <Block as ::treesitter_types::FromNode>::from_node(node, src)
6122 .map(Self::Block)
6123 .unwrap_or(Self::Unknown(node)),
6124 "body" => <Body as ::treesitter_types::FromNode>::from_node(node, src)
6125 .map(Self::Body)
6126 .unwrap_or(Self::Unknown(node)),
6127 "boolean" => <Boolean as ::treesitter_types::FromNode>::from_node(node, src)
6128 .map(Self::Boolean)
6129 .unwrap_or(Self::Unknown(node)),
6130 "call" => <Call as ::treesitter_types::FromNode>::from_node(node, src)
6131 .map(Self::Call)
6132 .unwrap_or(Self::Unknown(node)),
6133 "catch_block" => <CatchBlock as ::treesitter_types::FromNode>::from_node(node, src)
6134 .map(Self::CatchBlock)
6135 .unwrap_or(Self::Unknown(node)),
6136 "charlist" => <Charlist as ::treesitter_types::FromNode>::from_node(node, src)
6137 .map(Self::Charlist)
6138 .unwrap_or(Self::Unknown(node)),
6139 "do_block" => <DoBlock as ::treesitter_types::FromNode>::from_node(node, src)
6140 .map(Self::DoBlock)
6141 .unwrap_or(Self::Unknown(node)),
6142 "dot" => <Dot as ::treesitter_types::FromNode>::from_node(node, src)
6143 .map(Self::Dot)
6144 .unwrap_or(Self::Unknown(node)),
6145 "else_block" => <ElseBlock as ::treesitter_types::FromNode>::from_node(node, src)
6146 .map(Self::ElseBlock)
6147 .unwrap_or(Self::Unknown(node)),
6148 "identifier" => <Identifier as ::treesitter_types::FromNode>::from_node(node, src)
6149 .map(Self::Identifier)
6150 .unwrap_or(Self::Unknown(node)),
6151 "interpolation" => {
6152 <Interpolation as ::treesitter_types::FromNode>::from_node(node, src)
6153 .map(Self::Interpolation)
6154 .unwrap_or(Self::Unknown(node))
6155 }
6156 "keywords" => <Keywords as ::treesitter_types::FromNode>::from_node(node, src)
6157 .map(Self::Keywords)
6158 .unwrap_or(Self::Unknown(node)),
6159 "list" => <List as ::treesitter_types::FromNode>::from_node(node, src)
6160 .map(Self::List)
6161 .unwrap_or(Self::Unknown(node)),
6162 "map" => <Map as ::treesitter_types::FromNode>::from_node(node, src)
6163 .map(Self::Map)
6164 .unwrap_or(Self::Unknown(node)),
6165 "map_content" => <MapContent as ::treesitter_types::FromNode>::from_node(node, src)
6166 .map(Self::MapContent)
6167 .unwrap_or(Self::Unknown(node)),
6168 "nil" => <Nil as ::treesitter_types::FromNode>::from_node(node, src)
6169 .map(Self::Nil)
6170 .unwrap_or(Self::Unknown(node)),
6171 "operator_identifier" => {
6172 <OperatorIdentifier as ::treesitter_types::FromNode>::from_node(node, src)
6173 .map(Self::OperatorIdentifier)
6174 .unwrap_or(Self::Unknown(node))
6175 }
6176 "pair" => <Pair as ::treesitter_types::FromNode>::from_node(node, src)
6177 .map(Self::Pair)
6178 .unwrap_or(Self::Unknown(node)),
6179 "quoted_atom" => <QuotedAtom as ::treesitter_types::FromNode>::from_node(node, src)
6180 .map(Self::QuotedAtom)
6181 .unwrap_or(Self::Unknown(node)),
6182 "quoted_keyword" => {
6183 <QuotedKeyword as ::treesitter_types::FromNode>::from_node(node, src)
6184 .map(Self::QuotedKeyword)
6185 .unwrap_or(Self::Unknown(node))
6186 }
6187 "rescue_block" => <RescueBlock as ::treesitter_types::FromNode>::from_node(node, src)
6188 .map(Self::RescueBlock)
6189 .unwrap_or(Self::Unknown(node)),
6190 "sigil" => <Sigil as ::treesitter_types::FromNode>::from_node(node, src)
6191 .map(Self::Sigil)
6192 .unwrap_or(Self::Unknown(node)),
6193 "source" => <Source as ::treesitter_types::FromNode>::from_node(node, src)
6194 .map(Self::Source)
6195 .unwrap_or(Self::Unknown(node)),
6196 "stab_clause" => <StabClause as ::treesitter_types::FromNode>::from_node(node, src)
6197 .map(Self::StabClause)
6198 .unwrap_or(Self::Unknown(node)),
6199 "string" => <String as ::treesitter_types::FromNode>::from_node(node, src)
6200 .map(Self::String)
6201 .unwrap_or(Self::Unknown(node)),
6202 "struct" => <Struct as ::treesitter_types::FromNode>::from_node(node, src)
6203 .map(Self::Struct)
6204 .unwrap_or(Self::Unknown(node)),
6205 "tuple" => <Tuple as ::treesitter_types::FromNode>::from_node(node, src)
6206 .map(Self::Tuple)
6207 .unwrap_or(Self::Unknown(node)),
6208 "unary_operator" => {
6209 <UnaryOperator as ::treesitter_types::FromNode>::from_node(node, src)
6210 .map(Self::UnaryOperator)
6211 .unwrap_or(Self::Unknown(node))
6212 }
6213 "alias" => <Alias as ::treesitter_types::FromNode>::from_node(node, src)
6214 .map(Self::Alias)
6215 .unwrap_or(Self::Unknown(node)),
6216 "atom" => <Atom as ::treesitter_types::FromNode>::from_node(node, src)
6217 .map(Self::Atom)
6218 .unwrap_or(Self::Unknown(node)),
6219 "char" => <Char as ::treesitter_types::FromNode>::from_node(node, src)
6220 .map(Self::Char)
6221 .unwrap_or(Self::Unknown(node)),
6222 "comment" => <Comment as ::treesitter_types::FromNode>::from_node(node, src)
6223 .map(Self::Comment)
6224 .unwrap_or(Self::Unknown(node)),
6225 "escape_sequence" => {
6226 <EscapeSequence as ::treesitter_types::FromNode>::from_node(node, src)
6227 .map(Self::EscapeSequence)
6228 .unwrap_or(Self::Unknown(node))
6229 }
6230 "float" => <Float as ::treesitter_types::FromNode>::from_node(node, src)
6231 .map(Self::Float)
6232 .unwrap_or(Self::Unknown(node)),
6233 "integer" => <Integer as ::treesitter_types::FromNode>::from_node(node, src)
6234 .map(Self::Integer)
6235 .unwrap_or(Self::Unknown(node)),
6236 "keyword" => <Keyword as ::treesitter_types::FromNode>::from_node(node, src)
6237 .map(Self::Keyword)
6238 .unwrap_or(Self::Unknown(node)),
6239 "quoted_content" => {
6240 <QuotedContent as ::treesitter_types::FromNode>::from_node(node, src)
6241 .map(Self::QuotedContent)
6242 .unwrap_or(Self::Unknown(node))
6243 }
6244 "sigil_modifiers" => {
6245 <SigilModifiers as ::treesitter_types::FromNode>::from_node(node, src)
6246 .map(Self::SigilModifiers)
6247 .unwrap_or(Self::Unknown(node))
6248 }
6249 "sigil_name" => <SigilName as ::treesitter_types::FromNode>::from_node(node, src)
6250 .map(Self::SigilName)
6251 .unwrap_or(Self::Unknown(node)),
6252 _ => Self::Unknown(node),
6253 }
6254 }
6255}
6256impl ::treesitter_types::Spanned for AnyNode<'_> {
6257 fn span(&self) -> ::treesitter_types::Span {
6258 match self {
6259 Self::AccessCall(inner) => inner.span(),
6260 Self::AfterBlock(inner) => inner.span(),
6261 Self::AnonymousFunction(inner) => inner.span(),
6262 Self::Arguments(inner) => inner.span(),
6263 Self::BinaryOperator(inner) => inner.span(),
6264 Self::Bitstring(inner) => inner.span(),
6265 Self::Block(inner) => inner.span(),
6266 Self::Body(inner) => inner.span(),
6267 Self::Boolean(inner) => inner.span(),
6268 Self::Call(inner) => inner.span(),
6269 Self::CatchBlock(inner) => inner.span(),
6270 Self::Charlist(inner) => inner.span(),
6271 Self::DoBlock(inner) => inner.span(),
6272 Self::Dot(inner) => inner.span(),
6273 Self::ElseBlock(inner) => inner.span(),
6274 Self::Identifier(inner) => inner.span(),
6275 Self::Interpolation(inner) => inner.span(),
6276 Self::Keywords(inner) => inner.span(),
6277 Self::List(inner) => inner.span(),
6278 Self::Map(inner) => inner.span(),
6279 Self::MapContent(inner) => inner.span(),
6280 Self::Nil(inner) => inner.span(),
6281 Self::OperatorIdentifier(inner) => inner.span(),
6282 Self::Pair(inner) => inner.span(),
6283 Self::QuotedAtom(inner) => inner.span(),
6284 Self::QuotedKeyword(inner) => inner.span(),
6285 Self::RescueBlock(inner) => inner.span(),
6286 Self::Sigil(inner) => inner.span(),
6287 Self::Source(inner) => inner.span(),
6288 Self::StabClause(inner) => inner.span(),
6289 Self::String(inner) => inner.span(),
6290 Self::Struct(inner) => inner.span(),
6291 Self::Tuple(inner) => inner.span(),
6292 Self::UnaryOperator(inner) => inner.span(),
6293 Self::Alias(inner) => inner.span(),
6294 Self::Atom(inner) => inner.span(),
6295 Self::Char(inner) => inner.span(),
6296 Self::Comment(inner) => inner.span(),
6297 Self::EscapeSequence(inner) => inner.span(),
6298 Self::Float(inner) => inner.span(),
6299 Self::Integer(inner) => inner.span(),
6300 Self::Keyword(inner) => inner.span(),
6301 Self::QuotedContent(inner) => inner.span(),
6302 Self::SigilModifiers(inner) => inner.span(),
6303 Self::SigilName(inner) => inner.span(),
6304 Self::Unknown(node) => ::treesitter_types::Span::from(*node),
6305 }
6306 }
6307}