public function generateCode($className, $parentName)
{
foreach ($this->extensions as $extension) {
$extension->beforeCompile();
$this->builder->addDependency(Nette\Reflection\ClassType::from($extension)->getFileName());
}
$classes = $this->builder->generateClasses($className, $parentName);
$classes[0]->addMethod('initialize');
foreach ($this->extensions as $extension) {
$extension->afterCompile($classes[0]);
}
return implode("\n\n\n", $classes);
}