/** * Rename a property and update comment (var tag and description) * @param \EBT\ExtensionBuilder\Domain\Model\DomainObject\AbstractProperty $oldProperty * @param \EBT\ExtensionBuilder\Domain\Model\DomainObject\AbstractProperty $newProperty * * @return void */ protected function updateProperty($oldProperty, $newProperty) { $classProperty = $this->classObject->getProperty($oldProperty->getName()); if ($classProperty) { $classProperty->setName($newProperty->getName()); $classProperty->setTag('var', $newProperty->getTypeForComment()); $newDescription = $newProperty->getDescription(); if (empty($newDescription) || $newDescription == $newProperty->getName()) { $newDescription = str_replace($oldProperty->getName(), $newProperty->getName(), $classProperty->getDescription()); } $classProperty->setDescription($newDescription); $this->classObject->removeProperty($oldProperty->getName()); $this->classObject->setProperty($classProperty); if ($this->relatedMethodsNeedUpdate($oldProperty, $newProperty)) { $this->updatePropertyRelatedMethods($oldProperty, $newProperty); } } }