public static function get_class_documentation(midgard_reflection_class $reflectionclass)
 {
     $class_documentation = array();
     $class_documentation['docblock'] = midgardmvc_core_helpers_documentation::render_docblock($reflectionclass->getDocComment());
     $parent_class = $reflectionclass->getParentClass();
     if ($parent_class) {
         $class_documentation['extends'] = $parent_class->getName();
         $class_documentation['extends_url'] = midgardmvc_core::get_instance()->dispatcher->generate_url('midcom_documentation_class', array('class' => $parent_class->getName()));
     }
     return $class_documentation;
 }
 public function get_class(array $args)
 {
     $this->midgardmvc->authorization->require_user();
     $this->data['class'] = $args['class'];
     if (!class_exists($this->data['class'])) {
         throw new midgardmvc_exception_notfound("Class {$this->data['class']} not defined");
     }
     $reflectionclass = new midgard_reflection_class($this->data['class']);
     $this->data['class_documentation'] = midgardmvc_core_helpers_documentation::get_class_documentation($reflectionclass);
     $this->data['properties'] = midgardmvc_core_helpers_documentation::get_property_documentation($this->data['class']);
     $this->data['signals'] = midgardmvc_core_helpers_documentation::get_signal_documentation($this->data['class']);
     $this->data['methods'] = array();
     $this->data['abstract_methods'] = array();
     $this->data['static_methods'] = array();
     $reflectionmethods = $reflectionclass->getMethods();
     foreach ($reflectionmethods as $method) {
         $method_docs = midgardmvc_core_helpers_documentation::get_method_documentation($this->data['class'], $method->getName());
         if (isset($method_docs['abstract'])) {
             $this->data['abstract_methods'][] = $method_docs;
             continue;
         } elseif (isset($method_docs['static'])) {
             $this->data['static_methods'][] = $method_docs;
             continue;
         }
         $this->data['methods'][] = $method_docs;
     }
 }