private function processElement(ElementReflectionInterface $element) { if ($element instanceof ConstantReflectionInterface) { $this->elements[] = ['co', $element->getPrettyName()]; } elseif ($element instanceof FunctionReflectionInterface) { $this->elements[] = ['f', $element->getPrettyName()]; } elseif ($element instanceof ClassReflectionInterface) { $this->elements[] = ['c', $element->getPrettyName()]; foreach ($element->getOwnMethods() as $method) { $this->elements[] = ['m', $method->getPrettyName()]; } foreach ($element->getOwnProperties() as $property) { $this->elements[] = ['p', $property->getPrettyName()]; } } }
/** * @return array */ private function getSubElements(ElementReflectionInterface $parentElement) { $elements = [$parentElement]; if ($parentElement instanceof ClassReflectionInterface) { $elements = array_merge($elements, array_values($parentElement->getOwnMethods()), array_values($parentElement->getOwnConstants()), array_values($parentElement->getOwnProperties())); } return $elements; }