1<?php
2
3/*
4 * This file is part of the Prophecy.
5 * (c) Konstantin Kudryashov <ever.zet@gmail.com>
6 *     Marcello Duarte <marcello.duarte@gmail.com>
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 Prophecy\Exception\Doubler;
13
14class MethodNotFoundException extends DoubleException
15{
16    /**
17     * @var string|object
18     */
19    private $classname;
20
21    /**
22     * @var string
23     */
24    private $methodName;
25
26    /**
27     * @var array
28     */
29    private $arguments;
30
31    /**
32     * @param string $message
33     * @param string|object $classname
34     * @param string $methodName
35     * @param null|Argument\ArgumentsWildcard|array $arguments
36     */
37    public function __construct($message, $classname, $methodName, $arguments = null)
38    {
39        parent::__construct($message);
40
41        $this->classname  = $classname;
42        $this->methodName = $methodName;
43        $this->arguments = $arguments;
44    }
45
46    public function getClassname()
47    {
48        return $this->classname;
49    }
50
51    public function getMethodName()
52    {
53        return $this->methodName;
54    }
55
56    public function getArguments()
57    {
58        return $this->arguments;
59    }
60}
61