| @@ 106-143 (lines=38) @@ | ||
| 103 | * @param string $argumentsStr |
|
| 104 | * @return array |
|
| 105 | */ |
|
| 106 | private function parseArguments($argumentsStr) |
|
| 107 | { |
|
| 108 | $paramArr = []; |
|
| 109 | $tmpStr = ''; |
|
| 110 | ||
| 111 | $depth = 0; |
|
| 112 | for ($i = 0; $i < strlen($argumentsStr); $i++) { |
|
| 113 | switch ($argumentsStr[$i]) { |
|
| 114 | case '(': |
|
| 115 | $tmpStr .= $argumentsStr[$i]; |
|
| 116 | $depth++; |
|
| 117 | break; |
|
| 118 | ||
| 119 | case ')': |
|
| 120 | $tmpStr .= $argumentsStr[$i]; |
|
| 121 | $depth--; |
|
| 122 | break; |
|
| 123 | ||
| 124 | case '|': |
|
| 125 | if ($depth) { |
|
| 126 | $tmpStr .= $argumentsStr[$i]; |
|
| 127 | } else { |
|
| 128 | $paramArr[] = $tmpStr; |
|
| 129 | $tmpStr = ''; |
|
| 130 | } |
|
| 131 | break; |
|
| 132 | ||
| 133 | default: |
|
| 134 | $tmpStr .= $argumentsStr[$i]; |
|
| 135 | } |
|
| 136 | } |
|
| 137 | ||
| 138 | if (strlen($tmpStr)) { |
|
| 139 | $paramArr[] = $tmpStr; |
|
| 140 | } |
|
| 141 | ||
| 142 | return $paramArr; |
|
| 143 | } |
|
| 144 | ||
| 145 | private function parseElements($richParam) |
|
| 146 | { |
|
| @@ 710-747 (lines=38) @@ | ||
| 707 | * @param string $s |
|
| 708 | * @return array |
|
| 709 | */ |
|
| 710 | private function parseModifierParamStringSlowButAccurate($s) |
|
| 711 | { |
|
| 712 | $paramArr = []; |
|
| 713 | $tmpStr = ''; |
|
| 714 | ||
| 715 | $depth = 0; |
|
| 716 | for ($i = 0; $i <= strlen($s); $i++) { |
|
| 717 | switch ($s[$i]) { |
|
| 718 | case '(': |
|
| 719 | $tmpStr .= $s[$i]; |
|
| 720 | $depth++; |
|
| 721 | break; |
|
| 722 | ||
| 723 | case ')': |
|
| 724 | $tmpStr .= $s[$i]; |
|
| 725 | $depth--; |
|
| 726 | break; |
|
| 727 | ||
| 728 | case '|': |
|
| 729 | if ($depth) { |
|
| 730 | $tmpStr .= $s[$i]; |
|
| 731 | } else { |
|
| 732 | $paramArr[] = $tmpStr; |
|
| 733 | $tmpStr = ''; |
|
| 734 | } |
|
| 735 | break; |
|
| 736 | ||
| 737 | default: |
|
| 738 | $tmpStr .= $s[$i]; |
|
| 739 | } |
|
| 740 | } |
|
| 741 | ||
| 742 | if (strlen($tmpStr)) { |
|
| 743 | $paramArr[] = $tmpStr; |
|
| 744 | } |
|
| 745 | ||
| 746 | return $paramArr; |
|
| 747 | } |
|
| 748 | ||
| 749 | /** |
|
| 750 | * Checks if includeName is an include nested inside a recursive inclusion. |
|