/usr/share/php/Nette/Reflection/Parameter.php is in php-nette 2.4-20160731-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | <?php
/**
* This file is part of the Nette Framework (https://nette.org)
* Copyright (c) 2004 David Grudl (https://davidgrudl.com)
*/
namespace Nette\Reflection;
use Nette;
/**
* Reports information about a method's parameter.
* @property-read ClassType $class
* @property-read string $className
* @property-read ClassType $declaringClass
* @property-read Method $declaringFunction
* @property-read string $name
* @property-read bool $passedByReference
* @property-read bool $array
* @property-read int $position
* @property-read bool $optional
* @property-read bool $defaultValueAvailable
* @property-read mixed $defaultValue
*/
class Parameter extends \ReflectionParameter
{
use Nette\SmartObject;
/** @var mixed */
private $function;
public function __construct($function, $parameter)
{
parent::__construct($this->function = $function, $parameter);
}
/**
* @return ClassType
*/
public function getClass()
{
return ($ref = parent::getClass()) ? new ClassType($ref->getName()) : NULL;
}
/**
* @return string
*/
public function getClassName()
{
try {
return ($ref = parent::getClass()) ? $ref->getName() : NULL;
} catch (\ReflectionException $e) {
if (preg_match('#Class (.+) does not exist#', $e->getMessage(), $m)) {
return $m[1];
}
throw $e;
}
}
/**
* @return ClassType
*/
public function getDeclaringClass()
{
return ($ref = parent::getDeclaringClass()) ? new ClassType($ref->getName()) : NULL;
}
/**
* @return Method|GlobalFunction
*/
public function getDeclaringFunction()
{
return is_array($this->function)
? new Method($this->function[0], $this->function[1])
: new GlobalFunction($this->function);
}
public function __toString()
{
return '$' . parent::getName() . ' in ' . $this->getDeclaringFunction();
}
}
|