xref: /plugin/combo/vendor/antlr/antlr4-php-runtime/src/Error/Exceptions/InputMismatchException.php (revision 37748cd8654635afbeca80942126742f0f4cc346)
1*37748cd8SNickeau<?php
2*37748cd8SNickeau
3*37748cd8SNickeaudeclare(strict_types=1);
4*37748cd8SNickeau
5*37748cd8SNickeaunamespace Antlr\Antlr4\Runtime\Error\Exceptions;
6*37748cd8SNickeau
7*37748cd8SNickeauuse Antlr\Antlr4\Runtime\Parser;
8*37748cd8SNickeauuse Antlr\Antlr4\Runtime\ParserRuleContext;
9*37748cd8SNickeau
10*37748cd8SNickeau/**
11*37748cd8SNickeau * This signifies any kind of mismatched input exceptions such as when
12*37748cd8SNickeau * the current input does not match the expected token.
13*37748cd8SNickeau */
14*37748cd8SNickeauclass InputMismatchException extends RecognitionException
15*37748cd8SNickeau{
16*37748cd8SNickeau    public function __construct(Parser $recognizer, ?int $state = null, ?ParserRuleContext $ctx = null)
17*37748cd8SNickeau    {
18*37748cd8SNickeau        parent::__construct(
19*37748cd8SNickeau            $recognizer,
20*37748cd8SNickeau            $recognizer->getInputStream(),
21*37748cd8SNickeau            $ctx ?? $recognizer->getContext()
22*37748cd8SNickeau        );
23*37748cd8SNickeau
24*37748cd8SNickeau        if ($state !== null) {
25*37748cd8SNickeau            $this->setOffendingState($state);
26*37748cd8SNickeau        }
27*37748cd8SNickeau
28*37748cd8SNickeau        $this->setOffendingToken($recognizer->getCurrentToken());
29*37748cd8SNickeau    }
30*37748cd8SNickeau}
31