PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.2
Independent Analytics – WordPress Analytics Plugin v2.15.2
2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / symfony / polyfill-php80 / PhpToken.php
independent-analytics / vendor / symfony / polyfill-php80 Last commit date
Resources 3 years ago Php80.php 3 years ago PhpToken.php 2 weeks ago bootstrap.php 3 years ago
PhpToken.php
94 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 -1|positive-int
30 */
31 public $line;
32 /**
33 * @var int
34 */
35 public $pos;
36 /**
37 * @param -1|positive-int $line
38 */
39 public function __construct(int $id, string $text, int $line = -1, int $position = -1)
40 {
41 $this->id = $id;
42 $this->text = $text;
43 $this->line = $line;
44 $this->pos = $position;
45 }
46 public function getTokenName() : ?string
47 {
48 if ('UNKNOWN' === ($name = \token_name($this->id))) {
49 $name = \strlen($this->text) > 1 || \ord($this->text) < 32 ? null : $this->text;
50 }
51 return $name;
52 }
53 /**
54 * @param int|string|array $kind
55 */
56 public function is($kind) : bool
57 {
58 foreach ((array) $kind as $value) {
59 if (\in_array($value, [$this->id, $this->text], \true)) {
60 return \true;
61 }
62 }
63 return \false;
64 }
65 public function isIgnorable() : bool
66 {
67 return \in_array($this->id, [\T_WHITESPACE, \T_COMMENT, \T_DOC_COMMENT, \T_OPEN_TAG], \true);
68 }
69 public function __toString() : string
70 {
71 return (string) $this->text;
72 }
73 /**
74 * @return list<static>
75 */
76 public static function tokenize(string $code, int $flags = 0) : array
77 {
78 $line = 1;
79 $position = 0;
80 $tokens = \token_get_all($code, $flags);
81 foreach ($tokens as $index => $token) {
82 if (\is_string($token)) {
83 $id = \ord($token);
84 $text = $token;
85 } else {
86 [$id, $text, $line] = $token;
87 }
88 $tokens[$index] = new static($id, $text, $line, $position);
89 $position += \strlen($text);
90 }
91 return $tokens;
92 }
93 }
94