Major refactoring cleanup: - Add new controller architecture (class-controller-*.php) - Add new settings-v2 UI (views/settings-v2/) - Add new CSS architecture (agentic-sidebar.css, tokens) - Add esbuild build pipeline (scripts/build.js, package.json) - Add composer dependencies (vendor/) - Add frontend src directory (assets/js/src/index.jsx) - Add documentation files - Remove old/obsolete files (class-settings.php, old CSS) This commits all pending changes from previous refactoring efforts.
30 lines
878 B
PHP
30 lines
878 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace phpDocumentor\Reflection\Metadata;
|
|
|
|
use phpDocumentor\Reflection\Php\Factory\ContextStack;
|
|
use phpDocumentor\Reflection\Php\ProjectFactoryStrategy;
|
|
use phpDocumentor\Reflection\Php\StrategyContainer;
|
|
use PhpParser\Node\Expr\FuncCall;
|
|
use PhpParser\Node\Stmt\Expression;
|
|
|
|
final class HookStrategy implements ProjectFactoryStrategy
|
|
{
|
|
public function matches(ContextStack $context, object $object): bool
|
|
{
|
|
if ($object instanceof Expression === false) {
|
|
return false;
|
|
}
|
|
|
|
return $object->expr instanceof FuncCall && ((string)$object->expr->name) === 'hook';
|
|
}
|
|
|
|
public function create(ContextStack $context, object $object, StrategyContainer $strategies): void
|
|
{
|
|
$method = $context->peek();
|
|
$method->addMetadata(new Hook($object->expr->args[0]->value->value));
|
|
}
|
|
}
|