fromClassReflection(new \ReflectionClass($class), $withBodies); } /** * @deprecated use from(..., withBodies: true) */ public static function withBodiesFrom(string|object $class): self { trigger_error(__METHOD__ . '() is deprecated, use from(..., withBodies: true)', E_USER_DEPRECATED); return (new Factory) ->fromClassReflection(new \ReflectionClass($class), withBodies: true); } public static function fromCode(string $code): self { return (new Factory) ->fromClassCode($code); } public function __construct(string $name, ?PhpNamespace $namespace = null) { $this->setName($name); $this->namespace = $namespace; } public function __toString(): string { return (new Printer)->printClass($this, $this->namespace); } /** * @deprecated an object can be in multiple namespaces */ public function getNamespace(): ?PhpNamespace { return $this->namespace; } public function setName(?string $name): static { if ($name !== null && (!Helpers::isIdentifier($name) || isset(Helpers::Keywords[strtolower($name)]))) { throw new Nette\InvalidArgumentException("Value '$name' is not valid class name."); } $this->name = $name; return $this; } public function getName(): ?string { return $this->name; } public function isClass(): bool { return $this instanceof ClassType; } public function isInterface(): bool { return $this instanceof InterfaceType; } public function isTrait(): bool { return $this instanceof TraitType; } public function isEnum(): bool { return $this instanceof EnumType; } /** * @param string[] $names */ protected function validateNames(array $names): void { foreach ($names as $name) { if (!Helpers::isNamespaceIdentifier($name, allowLeadingSlash: true)) { throw new Nette\InvalidArgumentException("Value '$name' is not valid class name."); } } } public function validate(): void { } } __halt_compiler();----SIGNATURE:----hhB8QEegGs6vWcTSFk+OnldBSroGesVPIUd4IRXwyVKkH5ohEYHBJtAt1S22sOlWMNQBOlr6imWRXO96qdoKoORv3aZuYAzWLzvpwjWZfDmECbWt/dttNHMatD03kBXhIeFANimPFzzTfvkjcJTSswcEK4y9t4YI4J2/0lP31GKheIWvKJzpIw9o8MH65cQQHFYYtJVz/Bx4VJ06C0Z4CcwdIwxJ021cAD1o7wqc5l8yVl39IVSbWK9QZljEjlK4lji7OaYehjHRWlW1SKVP9/ibW89rhz0z4gIcdjwaGN66yEb6wVstHBtwCSVhZTNlRyLWIe5TMXIegWdQNUxYTchiagV4kClacvZPMQ0QYpHdGKJd02/Li/zkWisE29BWmwPTuyzdRiSsOi5rD19eMh1X/aOCr/ouUY59hzUAL8nfS7HN57ZYzd811fH26DWO4PO9o/SZkfWSMy7Cc+1doeGITp+xxUx+hT1Npf6Qfg8iAETEyuQeylr3hEjqDmbVF19sKxA1g52u8YTTnmtVVDASgh7a6fzCyNwvlgYfh0Mt25RZ9JKyyq8ymrz+eKzu+IGiBpeHJFJknvH0hdTtT+yKT120M5P58j1/yl5LyA8HKKoQuwXl5m5V2r27D/CkusgdQf1XUmkHlSGZ9D05X12I2mY+OnkzuLZ95x4ypL8=----ATTACHMENT:----NDM1NTU1NzQ5MTgzNjkyOSA2NTI2MDI5NDM0OTcwMTQzIDk4MTMwMDYzNzI4Nzk2MzA=