for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
/**
* @license http://opensource.org/licenses/mit-license.php MIT
* @link https://github.com/nicoSWD
* @author Nicolas Oelgart <[email protected]>
*/
namespace nicoSWD\Rule\Parser\Exception;
use nicoSWD\Rule\TokenStream\Token\BaseToken;
class ParserException extends \Exception
{
public static function unexpectedToken(BaseToken $token): self
return new self(sprintf(
'Unexpected "%s" at position %d on line %d',
$token->getValue(),
$token->getPosition(),
$token->getLine()
));
}
public static function unknownToken(BaseToken $token): self
'Unknown token "%s" at position %d on line %d',
public static function incompleteExpression(BaseToken $token): self
'Incomplete expression for token "%s" at position %d on line %d',
public static function undefinedVariable(string $name, BaseToken $token): self
'Undefined variable "%s" at position %d on line %d',
$name,
public static function undefinedMethod(string $name, BaseToken $token): self
'Undefined method "%s" at position %d on line %d',
public static function undefinedFunction(string $name): self
'%s is not defined',
$name