/usr/share/php/ApiGen/ReflectionConstant.php is in php-apigen 2.8.0+dfsg-3.
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 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | <?php
/**
* ApiGen 2.8.0 - API documentation generator for PHP 5.3+
*
* Copyright (c) 2010-2011 David Grudl (http://davidgrudl.com)
* Copyright (c) 2011-2012 Jaroslav Hanslík (https://github.com/kukulich)
* Copyright (c) 2011-2012 Ondřej Nešpor (https://github.com/Andrewsville)
*
* For the full copyright and license information, please view
* the file LICENSE.md that was distributed with this source code.
*/
namespace ApiGen;
/**
* Constant reflection envelope.
*
* Alters TokenReflection\IReflectionConstant functionality for ApiGen.
*/
class ReflectionConstant extends ReflectionElement
{
/**
* Returns the unqualified name (UQN).
*
* @return string
*/
public function getShortName()
{
return $this->reflection->getShortName();
}
/**
* Returns constant type hint.
*
* @return string
*/
public function getTypeHint()
{
if ($annotations = $this->getAnnotation('var')) {
list($types) = preg_split('~\s+|$~', $annotations[0], 2);
if (!empty($types)) {
return $types;
}
}
try {
$type = gettype($this->getValue());
if ('null' !== strtolower($type)) {
return $type;
}
} catch (\Exception $e) {
// Nothing
}
return 'mixed';
}
/**
* Returns the constant declaring class.
*
* @return \ApiGen\ReflectionClass|null
*/
public function getDeclaringClass()
{
$className = $this->reflection->getDeclaringClassName();
return null === $className ? null : self::$parsedClasses[$className];
}
/**
* Returns the name of the declaring class.
*
* @return string|null
*/
public function getDeclaringClassName()
{
return $this->reflection->getDeclaringClassName();
}
/**
* Returns the constant value.
*
* @return mixed
*/
public function getValue()
{
return $this->reflection->getValue();
}
/**
* Returns the constant value definition.
*
* @return string
*/
public function getValueDefinition()
{
return $this->reflection->getValueDefinition();
}
/**
* Returns if the constant is valid.
*
* @return boolean
*/
public function isValid()
{
if ($this->reflection instanceof \TokenReflection\Invalid\ReflectionConstant) {
return false;
}
if ($class = $this->getDeclaringClass()) {
return $class->isValid();
}
return true;
}
/**
* Returns if the constant should be documented.
*
* @return boolean
*/
public function isDocumented()
{
if (null === $this->isDocumented && parent::isDocumented() && null === $this->reflection->getDeclaringClassName()) {
$fileName = self::$generator->unPharPath($this->reflection->getFilename());
foreach (self::$config->skipDocPath as $mask) {
if (fnmatch($mask, $fileName, FNM_NOESCAPE)) {
$this->isDocumented = false;
break;
}
}
if (true === $this->isDocumented) {
foreach (self::$config->skipDocPrefix as $prefix) {
if (0 === strpos($this->reflection->getName(), $prefix)) {
$this->isDocumented = false;
break;
}
}
}
}
return $this->isDocumented;
}
}
|