| @@ 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 | { |
|
| @@ 688-725 (lines=38) @@ | ||
| 685 | * @param string $s |
|
| 686 | * @return array |
|
| 687 | */ |
|
| 688 | private function parseModifierParamStringSlowButAccurate($s) |
|
| 689 | { |
|
| 690 | $paramArr = []; |
|
| 691 | $tmpStr = ''; |
|
| 692 | ||
| 693 | $depth = 0; |
|
| 694 | for ($i = 0; $i <= strlen($s); $i++) { |
|
| 695 | switch ($s[$i]) { |
|
| 696 | case '(': |
|
| 697 | $tmpStr .= $s[$i]; |
|
| 698 | $depth++; |
|
| 699 | break; |
|
| 700 | ||
| 701 | case ')': |
|
| 702 | $tmpStr .= $s[$i]; |
|
| 703 | $depth--; |
|
| 704 | break; |
|
| 705 | ||
| 706 | case '|': |
|
| 707 | if ($depth) { |
|
| 708 | $tmpStr .= $s[$i]; |
|
| 709 | } else { |
|
| 710 | $paramArr[] = $tmpStr; |
|
| 711 | $tmpStr = ''; |
|
| 712 | } |
|
| 713 | break; |
|
| 714 | ||
| 715 | default: |
|
| 716 | $tmpStr .= $s[$i]; |
|
| 717 | } |
|
| 718 | } |
|
| 719 | ||
| 720 | if (strlen($tmpStr)) { |
|
| 721 | $paramArr[] = $tmpStr; |
|
| 722 | } |
|
| 723 | ||
| 724 | return $paramArr; |
|
| 725 | } |
|
| 726 | ||
| 727 | /** |
|
| 728 | * Checks if includeName is an include nested inside a recursive inclusion. |
|