1<?php
2
3/*
4 * This file is part of Twig.
5 *
6 * (c) Fabien Potencier
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Twig\Sandbox;
13
14/**
15 * Exception thrown when a not allowed class method is used in a template.
16 *
17 * @author Kit Burton-Senior <mail@kitbs.com>
18 *
19 * @final
20 */
21class SecurityNotAllowedMethodError extends SecurityError
22{
23    private $className;
24    private $methodName;
25
26    public function __construct(string $message, string $className, string $methodName, int $lineno = -1, string $filename = null, \Exception $previous = null)
27    {
28        if (-1 !== $lineno) {
29            @trigger_error(sprintf('Passing $lineno as a 3th argument of the %s constructor is deprecated since Twig 2.8.1.', __CLASS__), \E_USER_DEPRECATED);
30        }
31        if (null !== $filename) {
32            @trigger_error(sprintf('Passing $filename as a 4th argument of the %s constructor is deprecated since Twig 2.8.1.', __CLASS__), \E_USER_DEPRECATED);
33        }
34        if (null !== $previous) {
35            @trigger_error(sprintf('Passing $previous as a 5th argument of the %s constructor is deprecated since Twig 2.8.1.', __CLASS__), \E_USER_DEPRECATED);
36        }
37        parent::__construct($message, $lineno, $filename, $previous);
38        $this->className = $className;
39        $this->methodName = $methodName;
40    }
41
42    public function getClassName()
43    {
44        return $this->className;
45    }
46
47    public function getMethodName()
48    {
49        return $this->methodName;
50    }
51}
52
53class_alias('Twig\Sandbox\SecurityNotAllowedMethodError', 'Twig_Sandbox_SecurityNotAllowedMethodError');
54