PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.2.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.2.0
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / vendor / symfony / polyfill-php80 / PhpToken.php
matomo / app / vendor / symfony / polyfill-php80 Last commit date
Resources 2 years ago LICENSE 2 years ago Php80.php 1 year ago PhpToken.php 1 year ago README.md 2 years ago bootstrap.php 2 years ago
PhpToken.php
91 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace Symfony\Polyfill\Php80;
12
13 /**
14 * @author Fedonyuk Anton <info@ensostudio.ru>
15 *
16 * @internal
17 */
18 class PhpToken implements \Stringable
19 {
20 /**
21 * @var int
22 */
23 public $id;
24 /**
25 * @var string
26 */
27 public $text;
28 /**
29 * @var int
30 */
31 public $line;
32 /**
33 * @var int
34 */
35 public $pos;
36 public function __construct(int $id, string $text, int $line = -1, int $position = -1)
37 {
38 $this->id = $id;
39 $this->text = $text;
40 $this->line = $line;
41 $this->pos = $position;
42 }
43 public function getTokenName() : ?string
44 {
45 if ('UNKNOWN' === ($name = token_name($this->id))) {
46 $name = \strlen($this->text) > 1 || \ord($this->text) < 32 ? null : $this->text;
47 }
48 return $name;
49 }
50 /**
51 * @param int|string|array $kind
52 */
53 public function is($kind) : bool
54 {
55 foreach ((array) $kind as $value) {
56 if (\in_array($value, [$this->id, $this->text], \true)) {
57 return \true;
58 }
59 }
60 return \false;
61 }
62 public function isIgnorable() : bool
63 {
64 return \in_array($this->id, [\T_WHITESPACE, \T_COMMENT, \T_DOC_COMMENT, \T_OPEN_TAG], \true);
65 }
66 public function __toString() : string
67 {
68 return (string) $this->text;
69 }
70 /**
71 * @return static[]
72 */
73 public static function tokenize(string $code, int $flags = 0) : array
74 {
75 $line = 1;
76 $position = 0;
77 $tokens = token_get_all($code, $flags);
78 foreach ($tokens as $index => $token) {
79 if (\is_string($token)) {
80 $id = \ord($token);
81 $text = $token;
82 } else {
83 [$id, $text, $line] = $token;
84 }
85 $tokens[$index] = new static($id, $text, $line, $position);
86 $position += \strlen($text);
87 }
88 return $tokens;
89 }
90 }
91