1<?php
2/*
3 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
4 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
5 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
6 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
7 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
8 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
10 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
11 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
12 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
13 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14 *
15 * This software consists of voluntary contributions made by many individuals
16 * and is licensed under the MIT license. For more information, see
17 * <http://www.doctrine-project.org>.
18 */
19
20namespace Doctrine\Common\Reflection;
21
22use ReflectionMethod;
23use ReflectionException;
24
25class StaticReflectionMethod extends ReflectionMethod
26{
27    /**
28     * The PSR-0 parser object.
29     *
30     * @var StaticReflectionParser
31     */
32    protected $staticReflectionParser;
33
34    /**
35     * The name of the method.
36     *
37     * @var string
38     */
39    protected $methodName;
40
41    public function __construct(StaticReflectionParser $staticReflectionParser, $methodName)
42    {
43        $this->staticReflectionParser = $staticReflectionParser;
44        $this->methodName = $methodName;
45    }
46    public function getName()
47    {
48        return $this->methodName;
49    }
50    protected function getStaticReflectionParser()
51    {
52        return $this->staticReflectionParser->getStaticReflectionParserForDeclaringClass('method', $this->methodName);
53    }
54    public function getDeclaringClass()
55    {
56        return $this->getStaticReflectionParser()->getReflectionClass();
57    }
58    public function getNamespaceName()
59    {
60        return $this->getStaticReflectionParser()->getNamespaceName();
61    }
62    public function getDocComment()
63    {
64        return $this->getStaticReflectionParser()->getDocComment('method', $this->methodName);
65    }
66    public function getUseStatements()
67    {
68        return $this->getStaticReflectionParser()->getUseStatements();
69    }
70    public static function export($class, $name, $return = false) { throw new ReflectionException('Method not implemented'); }
71    public function getClosure($object) { throw new ReflectionException('Method not implemented'); }
72    public function getModifiers() { throw new ReflectionException('Method not implemented'); }
73    public function getPrototype() { throw new ReflectionException('Method not implemented'); }
74    public function invoke($object, $parameter = NULL) { throw new ReflectionException('Method not implemented'); }
75    public function invokeArgs($object, array $args) { throw new ReflectionException('Method not implemented'); }
76    public function isAbstract() { throw new ReflectionException('Method not implemented'); }
77    public function isConstructor() { throw new ReflectionException('Method not implemented'); }
78    public function isDestructor() { throw new ReflectionException('Method not implemented'); }
79    public function isFinal() { throw new ReflectionException('Method not implemented'); }
80    public function isPrivate() { throw new ReflectionException('Method not implemented'); }
81    public function isProtected() { throw new ReflectionException('Method not implemented'); }
82    public function isPublic() { throw new ReflectionException('Method not implemented'); }
83    public function isStatic() { throw new ReflectionException('Method not implemented'); }
84    public function setAccessible($accessible) { throw new ReflectionException('Method not implemented'); }
85    public function __toString() { throw new ReflectionException('Method not implemented'); }
86    public function getClosureThis() { throw new ReflectionException('Method not implemented'); }
87    public function getEndLine() { throw new ReflectionException('Method not implemented'); }
88    public function getExtension() { throw new ReflectionException('Method not implemented'); }
89    public function getExtensionName() { throw new ReflectionException('Method not implemented'); }
90    public function getFileName() { throw new ReflectionException('Method not implemented'); }
91    public function getNumberOfParameters() { throw new ReflectionException('Method not implemented'); }
92    public function getNumberOfRequiredParameters() { throw new ReflectionException('Method not implemented'); }
93    public function getParameters() { throw new ReflectionException('Method not implemented'); }
94    public function getShortName() { throw new ReflectionException('Method not implemented'); }
95    public function getStartLine() { throw new ReflectionException('Method not implemented'); }
96    public function getStaticVariables() { throw new ReflectionException('Method not implemented'); }
97    public function inNamespace() { throw new ReflectionException('Method not implemented'); }
98    public function isClosure() { throw new ReflectionException('Method not implemented'); }
99    public function isDeprecated() { throw new ReflectionException('Method not implemented'); }
100    public function isInternal() { throw new ReflectionException('Method not implemented'); }
101    public function isUserDefined() { throw new ReflectionException('Method not implemented'); }
102    public function returnsReference() { throw new ReflectionException('Method not implemented'); }
103}
104