*/ private array $methods = []; /** * @param Method[] $methods */ public function setMethods(array $methods): static { (function (Method ...$methods) {})(...$methods); $this->methods = []; foreach ($methods as $m) { $this->methods[strtolower($m->getName())] = $m; } return $this; } /** * @return Method[] */ public function getMethods(): array { $res = []; foreach ($this->methods as $m) { $res[$m->getName()] = $m; } return $res; } public function getMethod(string $name): Method { $m = $this->methods[strtolower($name)] ?? null; if (!$m) { throw new Nette\InvalidArgumentException("Method '$name' not found."); } return $m; } public function addMethod(string $name): Method { $lower = strtolower($name); if (isset($this->methods[$lower])) { throw new Nette\InvalidStateException("Cannot add method '$name', because it already exists."); } $method = new Method($name); if (!$this->isInterface()) { $method->setPublic(); } return $this->methods[$lower] = $method; } public function removeMethod(string $name): static { unset($this->methods[strtolower($name)]); return $this; } public function hasMethod(string $name): bool { return isset($this->methods[strtolower($name)]); } } __halt_compiler();----SIGNATURE:----Fvr9/ljsWe5jCgYhNiZoHgnWvTfPNbYrMfCXwClUA9jy7rvtc72IDpyDvbxQc/30wGuC4LKrWU+9IgKdjT05GHxnORh70gfMw92N5JEltYBEpE/R+1vBIM+ZkC4YG3ygVRWVG+CnuacpogPjyrNcVJnJu90HmA9huit4c6nL5DdS9Wk7Ak7PS/Ow407VLecn06RGnk9Md4hYEjn3St7k9RoU6BK+101G73NmYnNRcOOvSgeMGJ52ArESIBU+X55HE3ITyjPdNGmV5NLwxWQNw0g7Rt7eUWx7jnUy7MDcCw3xnsA7Wu58sykkhzJbn4QPuBO6ADOX19WW+KE38AqK5883x6XQ25YPUf9xwZrJgXwNg5SHKUJO3kpUEivrgbZsjEl0KGeKh8DouJXT2gABdbQ1EsnVGqNtYYfqvUzC9qA6MBqRzNffgKTGmJxCQ9yy7kCgkx0x2ZfUyz5HiJ0MB5oiCYv3FM0QiyKApuLfERzobpzf64yrESjFJQ7kHFBEBvMVyxV1AdXwgmJ9uMC35APHVP5Et9DPxwXzOzqKO6OHz0QArMaBYM7+ySFYAbkuqWU6MPACjOYtHjTnp+lqTQ9HsxrBii8B4gOp+ZRkUsSQQVFCivrWpmfHJ364I+S+RKO33SRwlpmTW++70hIAjdGTQpLfZHn77q6lyB0Dkw0=----ATTACHMENT:----NTEzOTM5NzQ1MzYyMzU3MCA2OTk5NTQyNDY4Njk1MjgzIDc1OTAwMDkyMjEzMjE2MjA=