reference = $state; return $this; } public function isReference(): bool { return $this->reference; } /** @return static */ public function setType(?string $type): self { $this->type = Helpers::validateType($type, $this->nullable); return $this; } /** * @return Type|string|null */ public function getType(bool $asObject = false) { return $asObject && $this->type ? Type::fromString($this->type) : $this->type; } /** @deprecated use setType() */ public function setTypeHint(?string $type): self { return $this->setType($type); } /** @deprecated use getType() */ public function getTypeHint(): ?string { return $this->getType(); } /** * @deprecated just use setDefaultValue() * @return static */ public function setOptional(bool $state = true): self { trigger_error(__METHOD__ . '() is deprecated, use setDefaultValue()', E_USER_DEPRECATED); $this->hasDefaultValue = $state; return $this; } /** @return static */ public function setNullable(bool $state = true): self { $this->nullable = $state; return $this; } public function isNullable(): bool { return $this->nullable; } /** @return static */ public function setDefaultValue($val): self { $this->defaultValue = $val; $this->hasDefaultValue = true; return $this; } public function getDefaultValue() { return $this->defaultValue; } public function hasDefaultValue(): bool { return $this->hasDefaultValue; } public function validate(): void { } }