Example #1
0
 public function &updateMethodDetails(&$Class, $method_name, $method_details, &$SourceAnalyzer)
 {
     $Method = $this->findOrCreateBy('name AND klass_id', $method_name, $Class->getId());
     $SourceAnalyzer->log(($Method->has_been_created ? 'Adding ' : 'Updating') . ' method ' . $method_name);
     $Method->setAttributes(array('description' => $method_details['doc'], 'is_private' => $method_details['is_private'], 'returns_reference' => $method_details['returns_reference']));
     $Method->save();
     $ParameterInstance = new Parameter();
     foreach ($method_details['params'] as $parameter_details) {
         $ParameterInstance->updateParameterDetails($Method, $parameter_details);
     }
     if ($method_details['category'] != 'none') {
         $Category = new Category();
         $Category->updateCategoryDetails($Method, $method_details, $SourceAnalyzer);
     }
     // parameters doc_metadata  category_id
     return $Method;
 }