Version 1
[yaffs-website] / vendor / nikic / php-parser / lib / PhpParser / Autoloader.php
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Autoloader.php b/vendor/nikic/php-parser/lib/PhpParser/Autoloader.php
new file mode 100644 (file)
index 0000000..809a06e
--- /dev/null
@@ -0,0 +1,40 @@
+<?php
+
+namespace PhpParser;
+
+/**
+ * @codeCoverageIgnore
+ */
+class Autoloader
+{
+    /** @var bool Whether the autoloader has been registered. */
+    private static $registered = false;
+
+    /**
+     * Registers PhpParser\Autoloader as an SPL autoloader.
+     *
+     * @param bool $prepend Whether to prepend the autoloader instead of appending
+     */
+    static public function register($prepend = false) {
+        if (self::$registered === true) {
+            return;
+        }
+
+        spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend);
+        self::$registered = true;
+    }
+
+    /**
+     * Handles autoloading of classes.
+     *
+     * @param string $class A class name.
+     */
+    static public function autoload($class) {
+        if (0 === strpos($class, 'PhpParser\\')) {
+            $fileName = __DIR__ . strtr(substr($class, 9), '\\', '/') . '.php';
+            if (file_exists($fileName)) {
+                require $fileName;
+            }
+        }
+    }
+}