/** * Add custom configurator extension. * @return self */ public function addExtension($name, CompilerExtension $extension) { if (isset(self::$reserved[$name])) { throw new Nette\InvalidArgumentException("Name '{$name}' is reserved."); } $this->extensions[$name] = $extension->setCompiler($this, $name); return $this; }