/** * Constructor. * * @param \Dissect\Lexer\Token $token The unexpected token. * @param string[] $expected The expected token types. */ public function __construct(Token $token, array $expected) { $this->token = $token; $this->expected = $expected; if ($token->getValue() !== $token->getType()) { $info = $token->getValue() . ' (' . $token->getType() . ')'; } else { $info = $token->getType(); } parent::__construct(sprintf(self::MESSAGE, $info, $token->getLine(), implode(', ', $expected))); }