public function setExtends($types)
{
if (!is_string($types) && !(is_array($types) && array_filter($types, 'is_string') === $types)) {
throw new Nette\InvalidArgumentException('Argument must be string or string[].');
}
$this->extends = $types;
return $this;
}
public function afterCompile(Nette\PhpGenerator\ClassType $class) { if ($this->config['parentClass']) { $class->setExtends($this->config['parentClass']); } $initialize = $class->getMethod('initialize'); $builder = $this->getContainerBuilder(); if ($this->debugMode && $this->config['debugger']) { Nette\Bridges\DITracy\ContainerPanel::$compilationTime = $this->time; $initialize->addBody($builder->formatPhp('?;', [new Nette\DI\Statement('@Tracy\\Bar::addPanel', [new Nette\DI\Statement(Nette\Bridges\DITracy\ContainerPanel::class)])])); } foreach (array_filter($builder->findByTag('run')) as $name => $on) { $initialize->addBody('$this->getService(?);', [$name]); } }