public function __construct(ReflectionFunctionAbstract $method) { $this->name = $method->getShortName(); $this->filename = $method->getFilename(); $this->startline = $method->getStartLine(); $this->endline = $method->getEndLine(); $this->docstring = $method->getDocComment(); $this->operator = $this->static ? Kint_Object::OPERATOR_STATIC : Kint_Object::OPERATOR_OBJECT; $this->access = Kint_Object::ACCESS_PUBLIC; if ($method instanceof ReflectionMethod) { $this->static = $method->isStatic(); $this->abstract = $method->isAbstract(); $this->final = $method->isFinal(); $this->owner_class = $method->getDeclaringClass()->name; if ($method->isProtected()) { $this->access = Kint_Object::ACCESS_PROTECTED; } elseif ($method->isPrivate()) { $this->access = Kint_Object::ACCESS_PRIVATE; } } foreach ($method->getParameters() as $param) { $this->parameters[] = new Kint_Object_Parameter($param); } if ($this->docstring) { if (preg_match('/@return\\s+(.*)\\r?\\n/m', $this->docstring, $matches)) { if (!empty($matches[1])) { $this->returntype = $matches[1]; } } } $docstring = new Kint_Object_Representation_Docstring($this->docstring, $this->filename, $this->startline); $docstring->implicit_label = true; $this->addRepresentation($docstring); }