Skip to content

Commit ec084bf

Browse files
committed
Remove php parser
1 parent e509790 commit ec084bf

File tree

5 files changed

+16
-207
lines changed

5 files changed

+16
-207
lines changed

composer.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@
2727
"illuminate/console": "^11.15",
2828
"illuminate/database": "^11.15",
2929
"illuminate/filesystem": "^11.15",
30-
"illuminate/support": "^11.15",
31-
"nikic/php-parser": "^4.18 || ^5"
30+
"illuminate/support": "^11.15"
3231
},
3332
"require-dev": {
3433
"ext-pdo_sqlite": "*",

src/Alias.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
use Barryvdh\Reflection\DocBlock;
1515
use Barryvdh\Reflection\DocBlock\Context;
16+
use Barryvdh\Reflection\DocBlock\ContextFactory;
1617
use Barryvdh\Reflection\DocBlock\Serializer as DocBlockSerializer;
1718
use Barryvdh\Reflection\DocBlock\Tag\MethodTag;
1819
use Closure;
@@ -82,7 +83,7 @@ public function __construct($config, $alias, $facade, $magicMethods = [], $inter
8283

8384
if (!empty($this->namespace)) {
8485
try {
85-
$this->classAliases = (new UsesResolver())->loadFromClass($this->root);
86+
$this->classAliases = (new ContextFactory())->createFromReflector(new \ReflectionClass($this->root))->getNamespaceAliases();
8687
} catch (Throwable $e) {
8788
$this->classAliases = [];
8889
}

src/Generator.php

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,6 @@
1717
use Illuminate\Support\Facades\Facade;
1818
use Illuminate\Support\Str;
1919
use Illuminate\Support\Traits\Macroable;
20-
use PhpParser\Lexer\Emulative;
21-
use PhpParser\Node\Stmt\Class_;
22-
use PhpParser\Node\Stmt\Namespace_;
23-
use PhpParser\Parser\Php7;
2420
use ReflectionClass;
2521
use Symfony\Component\Console\Output\OutputInterface;
2622

@@ -213,8 +209,10 @@ protected function getRealTimeFacades()
213209
foreach ($realTimeFacadeFiles as $file) {
214210
try {
215211
$name = $this->getFullyQualifiedClassNameInFile($file);
216-
$facades[$name] = $name;
217-
} catch (\Exception $e) {
212+
if ($name) {
213+
$facades[$name] = $name;
214+
}
215+
} catch (\Throwable $e) {
218216
continue;
219217
}
220218
}
@@ -226,26 +224,17 @@ protected function getFullyQualifiedClassNameInFile(string $path)
226224
{
227225
$contents = file_get_contents($path);
228226

229-
$parsers = new Php7(new Emulative());
230-
231-
$parsed = collect($parsers->parse($contents) ?: []);
232-
233-
$namespace = $parsed->first(function ($node) {
234-
return $node instanceof Namespace_;
235-
});
236-
237-
if ($namespace) {
238-
$name = $namespace->name->toString();
239-
240-
$class = collect($namespace->stmts)->first(function ($node) {
241-
return $node instanceof Class_;
242-
});
227+
// Match namespace
228+
preg_match('/namespace\s+([^;]+);/', $contents, $namespaceMatch);
229+
$namespace = isset($namespaceMatch[1]) ? $namespaceMatch[1] : '';
243230

244-
if ($class) {
245-
$name .= '\\' . $class->name->toString();
246-
}
231+
// Match class name
232+
preg_match('/class\s+([a-zA-Z0-9_]+)/', $contents, $classMatch);
233+
$className = isset($classMatch[1]) ? $classMatch[1] : '';
247234

248-
return $name;
235+
// Combine namespace and class name
236+
if ($namespace && $className) {
237+
return $namespace . '\\' . $className;
249238
}
250239
}
251240

src/UsesResolver.php

Lines changed: 0 additions & 124 deletions
This file was deleted.

tests/UsesResolverTest.php

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)