|
2 | 2 |
|
3 | 3 | namespace JsPhpize\Parser; |
4 | 4 |
|
| 5 | +use JsPhpize\Lexer\Token; |
5 | 6 | use JsPhpize\Nodes\Assignation; |
6 | 7 | use JsPhpize\Nodes\Constant; |
7 | 8 | use JsPhpize\Nodes\Dyiade; |
8 | 9 | use JsPhpize\Nodes\FunctionCall; |
9 | 10 |
|
10 | 11 | abstract class TokenExtractor extends TokenCrawler |
11 | 12 | { |
12 | | - protected function getBracketsArrayItemKeyFromToken($token) |
| 13 | + protected function getStringExport($value) |
13 | 14 | { |
14 | | - $type = null; |
| 15 | + return array('string', var_export($value, true)); |
| 16 | + } |
15 | 17 |
|
| 18 | + protected function getTypeAndValueFromToken(Token $token) |
| 19 | + { |
16 | 20 | if ($token->is('keyword')) { |
17 | | - $type = 'string'; |
18 | | - $value = var_export($token->value, true); |
19 | | - } elseif ($token->isValue()) { |
| 21 | + return $this->getStringExport($token->value); |
| 22 | + } |
| 23 | + |
| 24 | + if ($token->isValue()) { |
20 | 25 | $type = $token->type; |
21 | 26 | $value = $token->value; |
| 27 | + |
22 | 28 | if ($type === 'variable') { |
23 | | - $type = 'string'; |
24 | | - $value = var_export($value, true); |
| 29 | + return $this->getStringExport($value); |
25 | 30 | } |
| 31 | + |
| 32 | + return array($token->type, $token->value); |
26 | 33 | } |
27 | 34 |
|
| 35 | + return array(null, null); |
| 36 | + } |
| 37 | + protected function getBracketsArrayItemKeyFromToken($token) |
| 38 | + { |
| 39 | + list($type, $value) = $this->getTypeAndValueFromToken($token); |
| 40 | + |
28 | 41 | if ($type) { |
29 | 42 | $token = $this->next(); |
30 | 43 | if (!$token) { |
|
0 commit comments