323 case shell_node_type::SNT_COMMAND_EXPRESSION: {
328 if constexpr (std::is_same_v<visit_t, void>) {
329 this->visit(oSession, pNode);
332 return this->visit(oSession, pNode);
337 case shell_node_type::SNT_STR_SIMPLE: {
342 if constexpr (std::is_same_v<visit_t, void>) {
343 this->visit(oSession, pNode);
346 return this->visit(oSession, pNode);
351 case shell_node_type::SNT_STR_DOUBLE: {
356 if constexpr (std::is_same_v<visit_t, void>) {
357 this->visit(oSession, pNode);
360 return this->visit(oSession, pNode);
365 case shell_node_type::SNT_STR_BACK: {
370 if constexpr (std::is_same_v<visit_t, void>) {
371 this->visit(oSession, pNode);
374 return this->visit(oSession, pNode);
379 case shell_node_type::SNT_WORD: {
384 if constexpr (std::is_same_v<visit_t, void>) {
385 this->visit(oSession, pNode);
388 return this->visit(oSession, pNode);
393 case shell_node_type::SNT_UNICODE: {
398 if constexpr (std::is_same_v<visit_t, void>) {
399 this->visit(oSession, pNode);
402 return this->visit(oSession, pNode);
407 case shell_node_type::SNT_ARG: {
409 const auto pNode =
dynamic_cast<const shell_node_arg *
>(pRawNode);
413 if constexpr (std::is_same_v<visit_t, void>) {
414 this->visit(oSession, pNode);
417 return this->visit(oSession, pNode);
422 case shell_node_type::SNT_VARIABLE: {
427 if constexpr (std::is_same_v<visit_t, void>) {
428 this->visit(oSession, pNode);
431 return this->visit(oSession, pNode);
436 case shell_node_type::SNT_DOLLAR_SPECIAL: {
441 if constexpr (std::is_same_v<visit_t, void>) {
442 this->visit(oSession, pNode);
445 return this->visit(oSession, pNode);
450 case shell_node_type::SNT_DOLLAR_VARIABLE: {
455 if constexpr (std::is_same_v<visit_t, void>) {
456 this->visit(oSession, pNode);
459 return this->visit(oSession, pNode);
464 case shell_node_type::SNT_DOLLAR_VARIABLE_DHOP: {
469 if constexpr (std::is_same_v<visit_t, void>) {
470 this->visit(oSession, pNode);
473 return this->visit(oSession, pNode);
478 case shell_node_type::SNT_DOLLAR_ARG: {
483 if constexpr (std::is_same_v<visit_t, void>) {
484 this->visit(oSession, pNode);
487 return this->visit(oSession, pNode);
492 case shell_node_type::SNT_DOLLAR_ARG_DHOP: {
497 if constexpr (std::is_same_v<visit_t, void>) {
498 this->visit(oSession, pNode);
501 return this->visit(oSession, pNode);
506 case shell_node_type::SNT_DOLLAR_COMMAND: {
511 if constexpr (std::is_same_v<visit_t, void>) {
512 this->visit(oSession, pNode);
515 return this->visit(oSession, pNode);
520 case shell_node_type::SNT_BACKGROUND: {
525 if constexpr (std::is_same_v<visit_t, void>) {
526 this->visit(oSession, pNode);
529 return this->visit(oSession, pNode);
534 case shell_node_type::SNT_AND: {
536 const auto pNode =
dynamic_cast<const shell_node_and *
>(pRawNode);
539 if constexpr (std::is_same_v<visit_t, void>) {
540 this->visit(oSession, pNode);
543 return this->visit(oSession, pNode);
548 case shell_node_type::SNT_PIPE: {
553 if constexpr (std::is_same_v<visit_t, void>) {
554 this->visit(oSession, pNode);
557 return this->visit(oSession, pNode);
562 case shell_node_type::SNT_OR: {
564 const auto pNode =
dynamic_cast<const shell_node_or *
>(pRawNode);
567 if constexpr (std::is_same_v<visit_t, void>) {
568 this->visit(oSession, pNode);
571 return this->visit(oSession, pNode);
576 case shell_node_type::SNT_IF: {
578 const auto pNode =
dynamic_cast<const shell_node_if *
>(pRawNode);
581 if constexpr (std::is_same_v<visit_t, void>) {
582 this->visit(oSession, pNode);
585 return this->visit(oSession, pNode);
590 case shell_node_type::SNT_TEST: {
595 if constexpr (std::is_same_v<visit_t, void>) {
596 this->visit(oSession, pNode);
599 return this->visit(oSession, pNode);
604 case shell_node_type::SNT_FOR: {
606 const auto pNode =
dynamic_cast<const shell_node_for *
>(pRawNode);
609 if constexpr (std::is_same_v<visit_t, void>) {
610 this->visit(oSession, pNode);
613 return this->visit(oSession, pNode);
618 case shell_node_type::SNT_WHILE: {
623 if constexpr (std::is_same_v<visit_t, void>) {
624 this->visit(oSession, pNode);
627 return this->visit(oSession, pNode);
632 case shell_node_type::SNT_UNTIL: {
637 if constexpr (std::is_same_v<visit_t, void>) {
638 this->visit(oSession, pNode);
641 return this->visit(oSession, pNode);
646 case shell_node_type::SNT_BREAK: {
651 if constexpr (std::is_same_v<visit_t, void>) {
652 this->visit(oSession, pNode);
655 return this->visit(oSession, pNode);
660 case shell_node_type::SNT_CONTINUE: {
665 if constexpr (std::is_same_v<visit_t, void>) {
666 this->visit(oSession, pNode);
669 return this->visit(oSession, pNode);
674 case shell_node_type::SNT_NULL_COMMAND: {
679 if constexpr (std::is_same_v<visit_t, void>) {
680 this->visit(oSession, pNode);
683 return this->visit(oSession, pNode);
688 case shell_node_type::SNT_COMMAND: {
693 if constexpr (std::is_same_v<visit_t, void>) {
694 this->visit(oSession, pNode);
697 return this->visit(oSession, pNode);
702 case shell_node_type::SNT_COMMAND_BLOCK: {
707 if constexpr (std::is_same_v<visit_t, void>) {
708 this->visit(oSession, pNode);
711 return this->visit(oSession, pNode);
716 case shell_node_type::SNT_COMMAND_BLOCK_SUBSHELL: {
721 if constexpr (std::is_same_v<visit_t, void>) {
722 this->visit(oSession, pNode);
725 return this->visit(oSession, pNode);
730 case shell_node_type::SNT_FUNCTION: {
735 if constexpr (std::is_same_v<visit_t, void>) {
736 this->visit(oSession, pNode);
739 return this->visit(oSession, pNode);
746 if constexpr (std::is_same_v<visit_t, void>) {