You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
615 B
26 lines
615 B
<?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;
|
|
}
|
|
}
|