File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator
Upload
[..]
AsymmetricVisibilityTokenEmulator.php (3.27 KB)
Edit
Rename
Del
AttributeEmulator.php (1.44 KB)
Edit
Rename
Del
EnumTokenEmulator.php (701 B)
Edit
Rename
Del
ExplicitOctalEmulator.php (1.53 KB)
Edit
Rename
Del
KeywordEmulator.php (1.79 KB)
Edit
Rename
Del
MatchTokenEmulator.php (422 B)
Edit
Rename
Del
NullsafeTokenEmulator.php (2.23 KB)
Edit
Rename
Del
PipeOperatorEmulator.php (1.41 KB)
Edit
Rename
Del
PropertyTokenEmulator.php (437 B)
Edit
Rename
Del
ReadonlyFunctionTokenEmulator.php (976 B)
Edit
Rename
Del
ReadonlyTokenEmulator.php (905 B)
Edit
Rename
Del
ReverseEmulator.php (1013 B)
Edit
Rename
Del
TokenEmulator.php (819 B)
Edit
Rename
Del
VoidCastEmulator.php (3.04 KB)
Edit
Rename
Del
Edit: PipeOperatorEmulator.php
<?php declare(strict_types=1); namespace PhpParser\Lexer\TokenEmulator; use PhpParser\Lexer\TokenEmulator\TokenEmulator; use PhpParser\PhpVersion; use PhpParser\Token; class PipeOperatorEmulator extends TokenEmulator { public function getPhpVersion(): PhpVersion { return PhpVersion::fromComponents(8, 5); } public function isEmulationNeeded(string $code): bool { return \strpos($code, '|>') !== false; } public function emulate(string $code, array $tokens): array { for ($i = 0, $c = count($tokens); $i < $c; ++$i) { $token = $tokens[$i]; if ($token->text === '|' && isset($tokens[$i + 1]) && $tokens[$i + 1]->text === '>') { array_splice($tokens, $i, 2, [ new Token(\T_PIPE, '|>', $token->line, $token->pos), ]); $c--; } } return $tokens; } public function reverseEmulate(string $code, array $tokens): array { for ($i = 0, $c = count($tokens); $i < $c; ++$i) { $token = $tokens[$i]; if ($token->id === \T_PIPE) { array_splice($tokens, $i, 1, [ new Token(\ord('|'), '|', $token->line, $token->pos), new Token(\ord('>'), '>', $token->line, $token->pos + 1), ]); $i++; $c++; } } return $tokens; } }
Simpan