summaryrefslogtreecommitdiff
path: root/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php')
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php
new file mode 100644
index 000000000..a020bc0ff
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php
@@ -0,0 +1,25 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Lexer\TokenEmulator;
+
+/** @internal */
+abstract class TokenEmulator
+{
+ abstract public function getPhpVersion(): string;
+
+ abstract public function isEmulationNeeded(string $code): bool;
+
+ /**
+ * @return array Modified Tokens
+ */
+ abstract public function emulate(string $code, array $tokens): array;
+
+ /**
+ * @return array Modified Tokens
+ */
+ abstract public function reverseEmulate(string $code, array $tokens): array;
+
+ public function preprocessCode(string $code, array &$patches): string {
+ return $code;
+ }
+}