1<?php declare(strict_types=1);
2
3namespace PhpParser\Lexer\TokenEmulator;
4
5/**
6 * Reverses emulation direction of the inner emulator.
7 */
8final class ReverseEmulator extends TokenEmulator
9{
10    /** @var TokenEmulator Inner emulator */
11    private $emulator;
12
13    public function __construct(TokenEmulator $emulator) {
14        $this->emulator = $emulator;
15    }
16
17    public function getPhpVersion(): string {
18        return $this->emulator->getPhpVersion();
19    }
20
21    public function isEmulationNeeded(string $code): bool {
22        return $this->emulator->isEmulationNeeded($code);
23    }
24
25    public function emulate(string $code, array $tokens): array {
26        return $this->emulator->reverseEmulate($code, $tokens);
27    }
28
29    public function reverseEmulate(string $code, array $tokens): array {
30        return $this->emulator->emulate($code, $tokens);
31    }
32
33    public function preprocessCode(string $code, array &$patches): string {
34        return $code;
35    }
36}