summaryrefslogtreecommitdiff
path: root/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/TypeHintReference.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/TypeHintReference.php')
-rw-r--r--vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/TypeHintReference.php43
1 files changed, 43 insertions, 0 deletions
diff --git a/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/TypeHintReference.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/TypeHintReference.php
new file mode 100644
index 000000000..5e8aa303d
--- /dev/null
+++ b/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/TypeHintReference.php
@@ -0,0 +1,43 @@
+<?php
+
+namespace Prophecy\Doubler\Generator;
+
+/**
+ * Tells whether a keyword refers to a class or to a built-in type for the
+ * current version of php
+ *
+ * @deprecated in favour of Node\TypeNodeAbstract
+ */
+final class TypeHintReference
+{
+ public function isBuiltInParamTypeHint($type)
+ {
+ switch ($type) {
+ case 'self':
+ case 'array':
+ case 'callable':
+ case 'bool':
+ case 'float':
+ case 'int':
+ case 'string':
+ case 'iterable':
+ case 'object':
+ return true;
+
+ case 'mixed':
+ return PHP_VERSION_ID >= 80000;
+
+ default:
+ return false;
+ }
+ }
+
+ public function isBuiltInReturnTypeHint($type)
+ {
+ if ($type === 'void') {
+ return true;
+ }
+
+ return $this->isBuiltInParamTypeHint($type);
+ }
+}