summaryrefslogtreecommitdiff
path: root/vendor/phpdocumentor/type-resolver/src/PseudoTypes
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2022-03-22 12:24:31 +0300
committerAndrew Dolgov <[email protected]>2022-03-22 12:24:31 +0300
commit1c4f7ab3b838b23afb2ee4dab14acbf75956e952 (patch)
tree0a19274107d717efe92d2c0376cd3105fead5a11 /vendor/phpdocumentor/type-resolver/src/PseudoTypes
parent711662948768492e8d05b778a7d80eacaec368d2 (diff)
* add phpunit as a dev dependency
* add some basic tests for UrlHelper::rewrite_relative() * fix UrlHelper::rewrite_relative() to work better on non-absolute relative URL paths
Diffstat (limited to 'vendor/phpdocumentor/type-resolver/src/PseudoTypes')
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/CallableString.php39
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/False_.php40
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/HtmlEscapedString.php39
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/IntegerRange.php61
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/List_.php50
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/LiteralString.php39
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/LowercaseString.php39
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/NegativeInteger.php39
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/NonEmptyLowercaseString.php39
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/NonEmptyString.php39
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/NumericString.php39
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/Numeric_.php47
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/PositiveInteger.php39
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/TraitString.php39
-rw-r--r--vendor/phpdocumentor/type-resolver/src/PseudoTypes/True_.php40
15 files changed, 628 insertions, 0 deletions
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/CallableString.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/CallableString.php
new file mode 100644
index 000000000..b69345617
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/CallableString.php
@@ -0,0 +1,39 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link http://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\String_;
+
+/**
+ * Value Object representing the type 'string'.
+ *
+ * @psalm-immutable
+ */
+final class CallableString extends String_ implements PseudoType
+{
+ public function underlyingType(): Type
+ {
+ return new String_();
+ }
+
+ /**
+ * Returns a rendered output of the Type as it would be used in a DocBlock.
+ */
+ public function __toString(): string
+ {
+ return 'callable-string';
+ }
+}
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/False_.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/False_.php
new file mode 100644
index 000000000..4ec6885f6
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/False_.php
@@ -0,0 +1,40 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link https://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\Boolean;
+
+use function class_alias;
+
+/**
+ * Value Object representing the PseudoType 'False', which is a Boolean type.
+ *
+ * @psalm-immutable
+ */
+final class False_ extends Boolean implements PseudoType
+{
+ public function underlyingType(): Type
+ {
+ return new Boolean();
+ }
+
+ public function __toString(): string
+ {
+ return 'false';
+ }
+}
+
+class_alias('\phpDocumentor\Reflection\PseudoTypes\False_', 'phpDocumentor\Reflection\Types\False_', false);
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/HtmlEscapedString.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/HtmlEscapedString.php
new file mode 100644
index 000000000..aa4d8db56
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/HtmlEscapedString.php
@@ -0,0 +1,39 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link http://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\String_;
+
+/**
+ * Value Object representing the type 'string'.
+ *
+ * @psalm-immutable
+ */
+final class HtmlEscapedString extends String_ implements PseudoType
+{
+ public function underlyingType(): Type
+ {
+ return new String_();
+ }
+
+ /**
+ * Returns a rendered output of the Type as it would be used in a DocBlock.
+ */
+ public function __toString(): string
+ {
+ return 'html-escaped-string';
+ }
+}
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/IntegerRange.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/IntegerRange.php
new file mode 100644
index 000000000..c5a3bc535
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/IntegerRange.php
@@ -0,0 +1,61 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link http://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\Integer;
+
+/**
+ * Value Object representing the type 'int'.
+ *
+ * @psalm-immutable
+ */
+final class IntegerRange extends Integer implements PseudoType
+{
+ /** @var string */
+ private $minValue;
+
+ /** @var string */
+ private $maxValue;
+
+ public function __construct(string $minValue, string $maxValue)
+ {
+ $this->minValue = $minValue;
+ $this->maxValue = $maxValue;
+ }
+
+ public function underlyingType(): Type
+ {
+ return new Integer();
+ }
+
+ public function getMinValue(): string
+ {
+ return $this->minValue;
+ }
+
+ public function getMaxValue(): string
+ {
+ return $this->maxValue;
+ }
+
+ /**
+ * Returns a rendered output of the Type as it would be used in a DocBlock.
+ */
+ public function __toString(): string
+ {
+ return 'int<' . $this->minValue . ', ' . $this->maxValue . '>';
+ }
+}
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/List_.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/List_.php
new file mode 100644
index 000000000..f9f0c6b5c
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/List_.php
@@ -0,0 +1,50 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link http://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\Array_;
+use phpDocumentor\Reflection\Types\Integer;
+use phpDocumentor\Reflection\Types\Mixed_;
+
+/**
+ * Value Object representing the type 'list'.
+ *
+ * @psalm-immutable
+ */
+final class List_ extends Array_ implements PseudoType
+{
+ public function underlyingType(): Type
+ {
+ return new Array_();
+ }
+
+ public function __construct(?Type $valueType = null)
+ {
+ parent::__construct($valueType, new Integer());
+ }
+
+ /**
+ * Returns a rendered output of the Type as it would be used in a DocBlock.
+ */
+ public function __toString(): string
+ {
+ if ($this->valueType instanceof Mixed_) {
+ return 'list';
+ }
+
+ return 'list<' . $this->valueType . '>';
+ }
+}
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/LiteralString.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/LiteralString.php
new file mode 100644
index 000000000..690f782b7
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/LiteralString.php
@@ -0,0 +1,39 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link http://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\String_;
+
+/**
+ * Value Object representing the type 'string'.
+ *
+ * @psalm-immutable
+ */
+final class LiteralString extends String_ implements PseudoType
+{
+ public function underlyingType(): Type
+ {
+ return new String_();
+ }
+
+ /**
+ * Returns a rendered output of the Type as it would be used in a DocBlock.
+ */
+ public function __toString(): string
+ {
+ return 'literal-string';
+ }
+}
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/LowercaseString.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/LowercaseString.php
new file mode 100644
index 000000000..6325492ad
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/LowercaseString.php
@@ -0,0 +1,39 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link http://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\String_;
+
+/**
+ * Value Object representing the type 'string'.
+ *
+ * @psalm-immutable
+ */
+final class LowercaseString extends String_ implements PseudoType
+{
+ public function underlyingType(): Type
+ {
+ return new String_();
+ }
+
+ /**
+ * Returns a rendered output of the Type as it would be used in a DocBlock.
+ */
+ public function __toString(): string
+ {
+ return 'lowercase-string';
+ }
+}
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NegativeInteger.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NegativeInteger.php
new file mode 100644
index 000000000..c51d3feab
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NegativeInteger.php
@@ -0,0 +1,39 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link http://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\Integer;
+
+/**
+ * Value Object representing the type 'int'.
+ *
+ * @psalm-immutable
+ */
+final class NegativeInteger extends Integer implements PseudoType
+{
+ public function underlyingType(): Type
+ {
+ return new Integer();
+ }
+
+ /**
+ * Returns a rendered output of the Type as it would be used in a DocBlock.
+ */
+ public function __toString(): string
+ {
+ return 'negative-int';
+ }
+}
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NonEmptyLowercaseString.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NonEmptyLowercaseString.php
new file mode 100644
index 000000000..86400165a
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NonEmptyLowercaseString.php
@@ -0,0 +1,39 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link http://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\String_;
+
+/**
+ * Value Object representing the type 'string'.
+ *
+ * @psalm-immutable
+ */
+final class NonEmptyLowercaseString extends String_ implements PseudoType
+{
+ public function underlyingType(): Type
+ {
+ return new String_();
+ }
+
+ /**
+ * Returns a rendered output of the Type as it would be used in a DocBlock.
+ */
+ public function __toString(): string
+ {
+ return 'non-empty-lowercase-string';
+ }
+}
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NonEmptyString.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NonEmptyString.php
new file mode 100644
index 000000000..d72d127cf
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NonEmptyString.php
@@ -0,0 +1,39 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link http://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\String_;
+
+/**
+ * Value Object representing the type 'string'.
+ *
+ * @psalm-immutable
+ */
+final class NonEmptyString extends String_ implements PseudoType
+{
+ public function underlyingType(): Type
+ {
+ return new String_();
+ }
+
+ /**
+ * Returns a rendered output of the Type as it would be used in a DocBlock.
+ */
+ public function __toString(): string
+ {
+ return 'non-empty-string';
+ }
+}
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NumericString.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NumericString.php
new file mode 100644
index 000000000..b62aa45a5
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NumericString.php
@@ -0,0 +1,39 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link http://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\String_;
+
+/**
+ * Value Object representing the type 'string'.
+ *
+ * @psalm-immutable
+ */
+final class NumericString extends String_ implements PseudoType
+{
+ public function underlyingType(): Type
+ {
+ return new String_();
+ }
+
+ /**
+ * Returns a rendered output of the Type as it would be used in a DocBlock.
+ */
+ public function __toString(): string
+ {
+ return 'numeric-string';
+ }
+}
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/Numeric_.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/Numeric_.php
new file mode 100644
index 000000000..46620cd21
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/Numeric_.php
@@ -0,0 +1,47 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link http://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\AggregatedType;
+use phpDocumentor\Reflection\Types\Compound;
+use phpDocumentor\Reflection\Types\Float_;
+use phpDocumentor\Reflection\Types\Integer;
+
+/**
+ * Value Object representing the 'numeric' pseudo-type, which is either a numeric-string, integer or float.
+ *
+ * @psalm-immutable
+ */
+final class Numeric_ extends AggregatedType implements PseudoType
+{
+ public function __construct()
+ {
+ AggregatedType::__construct([new NumericString(), new Integer(), new Float_()], '|');
+ }
+
+ public function underlyingType(): Type
+ {
+ return new Compound([new NumericString(), new Integer(), new Float_()]);
+ }
+
+ /**
+ * Returns a rendered output of the Type as it would be used in a DocBlock.
+ */
+ public function __toString(): string
+ {
+ return 'numeric';
+ }
+}
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/PositiveInteger.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/PositiveInteger.php
new file mode 100644
index 000000000..c52184dc5
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/PositiveInteger.php
@@ -0,0 +1,39 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link http://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\Integer;
+
+/**
+ * Value Object representing the type 'int'.
+ *
+ * @psalm-immutable
+ */
+final class PositiveInteger extends Integer implements PseudoType
+{
+ public function underlyingType(): Type
+ {
+ return new Integer();
+ }
+
+ /**
+ * Returns a rendered output of the Type as it would be used in a DocBlock.
+ */
+ public function __toString(): string
+ {
+ return 'positive-int';
+ }
+}
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/TraitString.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/TraitString.php
new file mode 100644
index 000000000..ac217c25d
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/TraitString.php
@@ -0,0 +1,39 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link http://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\String_;
+
+/**
+ * Value Object representing the type 'string'.
+ *
+ * @psalm-immutable
+ */
+final class TraitString extends String_ implements PseudoType
+{
+ public function underlyingType(): Type
+ {
+ return new String_();
+ }
+
+ /**
+ * Returns a rendered output of the Type as it would be used in a DocBlock.
+ */
+ public function __toString(): string
+ {
+ return 'trait-string';
+ }
+}
diff --git a/vendor/phpdocumentor/type-resolver/src/PseudoTypes/True_.php b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/True_.php
new file mode 100644
index 000000000..dc970b3aa
--- /dev/null
+++ b/vendor/phpdocumentor/type-resolver/src/PseudoTypes/True_.php
@@ -0,0 +1,40 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * This file is part of phpDocumentor.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @link https://phpdoc.org
+ */
+
+namespace phpDocumentor\Reflection\PseudoTypes;
+
+use phpDocumentor\Reflection\PseudoType;
+use phpDocumentor\Reflection\Type;
+use phpDocumentor\Reflection\Types\Boolean;
+
+use function class_alias;
+
+/**
+ * Value Object representing the PseudoType 'False', which is a Boolean type.
+ *
+ * @psalm-immutable
+ */
+final class True_ extends Boolean implements PseudoType
+{
+ public function underlyingType(): Type
+ {
+ return new Boolean();
+ }
+
+ public function __toString(): string
+ {
+ return 'true';
+ }
+}
+
+class_alias('\phpDocumentor\Reflection\PseudoTypes\True_', 'phpDocumentor\Reflection\Types\True_', false);