| @@ 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 | { |
|
| @@ 721-758 (lines=38) @@ | ||
| 718 | * @param string $s |
|
| 719 | * @return array |
|
| 720 | */ |
|
| 721 | private function parseModifierParamStringSlowButAccurate($s) |
|
| 722 | { |
|
| 723 | $paramArr = []; |
|
| 724 | $tmpStr = ''; |
|
| 725 | ||
| 726 | $depth = 0; |
|
| 727 | for ($i = 0; $i <= strlen($s); $i++) { |
|
| 728 | switch ($s[$i]) { |
|
| 729 | case '(': |
|
| 730 | $tmpStr .= $s[$i]; |
|
| 731 | $depth++; |
|
| 732 | break; |
|
| 733 | ||
| 734 | case ')': |
|
| 735 | $tmpStr .= $s[$i]; |
|
| 736 | $depth--; |
|
| 737 | break; |
|
| 738 | ||
| 739 | case '|': |
|
| 740 | if ($depth) { |
|
| 741 | $tmpStr .= $s[$i]; |
|
| 742 | } else { |
|
| 743 | $paramArr[] = $tmpStr; |
|
| 744 | $tmpStr = ''; |
|
| 745 | } |
|
| 746 | break; |
|
| 747 | ||
| 748 | default: |
|
| 749 | $tmpStr .= $s[$i]; |
|
| 750 | } |
|
| 751 | } |
|
| 752 | ||
| 753 | if (strlen($tmpStr)) { |
|
| 754 | $paramArr[] = $tmpStr; |
|
| 755 | } |
|
| 756 | ||
| 757 | return $paramArr; |
|
| 758 | } |
|
| 759 | ||
| 760 | /** |
|
| 761 | * Checks if includeName is an include nested inside a recursive inclusion. |
|