Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/3rdparty.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'opis/closure/src/Analyzer.php')
-rw-r--r--opis/closure/src/Analyzer.php62
1 files changed, 62 insertions, 0 deletions
diff --git a/opis/closure/src/Analyzer.php b/opis/closure/src/Analyzer.php
new file mode 100644
index 00000000..9618b1c7
--- /dev/null
+++ b/opis/closure/src/Analyzer.php
@@ -0,0 +1,62 @@
+<?php
+/* ===========================================================================
+ * Copyright (c) 2018-2021 Zindex Software
+ *
+ * Licensed under the MIT License
+ * =========================================================================== */
+
+namespace Opis\Closure;
+
+use Closure;
+use SuperClosure\Analyzer\ClosureAnalyzer;
+
+/**
+ * @deprecated We'll remove this class
+ */
+class Analyzer extends ClosureAnalyzer
+{
+ /**
+ * Analyzer a given closure.
+ *
+ * @param Closure $closure
+ *
+ * @return array
+ */
+ public function analyze(Closure $closure)
+ {
+ $reflection = new ReflectionClosure($closure);
+ $scope = $reflection->getClosureScopeClass();
+
+ $data = [
+ 'reflection' => $reflection,
+ 'code' => $reflection->getCode(),
+ 'hasThis' => $reflection->isBindingRequired(),
+ 'context' => $reflection->getUseVariables(),
+ 'hasRefs' => false,
+ 'binding' => $reflection->getClosureThis(),
+ 'scope' => $scope ? $scope->getName() : null,
+ 'isStatic' => $reflection->isStatic(),
+ ];
+
+ return $data;
+ }
+
+ /**
+ * @param array $data
+ * @return mixed
+ */
+ protected function determineCode(array &$data)
+ {
+ return null;
+ }
+
+ /**
+ * @param array $data
+ * @return mixed
+ */
+ protected function determineContext(array &$data)
+ {
+ return null;
+ }
+
+}