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:----iEs9w38x+RPjYehjlFkMY74x06+kH/VLvUt9lLdtS6Jhw44BXpZ3eIpjO3KsQEyRFH4tzbe8rKbzx+eE/XR4inSn8aDbHVo0vxrzCmxJ/EyVoJGJ9wEjx3hrj8mtoasspU+6PRyTax5XlbUda7u0yaWSUQ5zKNCspDUKkw68Cta7Vg3CmSvwan+FOWYa4O5/qvhD0qaP0sTyMOK9BTKlHPFpYMvxfOsjlDx1QCRioFIlbb5tx4BOFT0gEAaVbKF0KlMlEn+6+Ox5mkT7oFeCmQEAXIvCUyRKKcCZGb2LGnIf5OSfWu7+ziraC2mj8eyPfmdSNxtfxeK6MFeDxCTG5NGvz25k58zCjtezt+ROUHROVr+yLMvVuuxkfAHL/FDkx8aIdbHSU+cAVGfvUGpUIvS7I9KMqc2h9yolIh5eVLbVnB+wprtaYgcEspcy1jT9IxCsusOoRHlhHIfbZXhMduU9wM3K0X+Hbm4wJD5xJrvqPbZTUTTCUskMMeG0VDyN5Ezxv0bTiGANB2m/goYq5FFHrqxtV+fovhduyZzKgxrO1+rl+CHWssmhwFUL8+W6Nn5CmYGCMx8Lrf0jkjL4/l5vSh3oJQhAll/MxUXaNR0dnj8i9/Zb8tdELYMxvmJirfsf/pjrS8dz+2v/cVnTEe1jp53SKOm+9h0sM6oHqlk=----ATTACHMENT:----OTk1OTYwOTI3NDQ1NTUyOSAzOTkyMzA4MDc5Njc3NDYgMzE5MTYzNzAyMjY1OTQ=