PluginProbe
Elementor Website Builder – more than just a page builder / 3.29.0-dev4
Elementor Website Builder – more than just a page builder v3.29.0-dev4
4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 All 455 releases
elementor / vendor_prefixed / twig / symfony / polyfill-php80 / PhpToken.php

PhpToken.php in Elementor Website Builder – more than just a page builder 3.29.0-dev4, at vendor_prefixed/twig/symfony/polyfill-php80/PhpToken.php

91 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <[email protected]>
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 ElementorDeps\Symfony\Polyfill\Php80;
12
13 /**
14 * @author Fedonyuk Anton <[email protected]>
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