@@ 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. |