*/ public $classes; /** @var array */ public $functions; /** @var array */ public $constants; /** @var array> */ public $dependencies; /** @var string[] */ public $unchecked; /** * @param array $classes * @param array $functions * @param array $constants * @param array> $dependencies * @param string[] $unchecked */ public function __construct( array $classes = [], array $functions = [], array $constants = [], array $dependencies = [], array $unchecked = [] ) { $this->classes = $classes; $this->functions = $functions; $this->constants = $constants; $this->dependencies = $dependencies; $this->unchecked = $unchecked; } public function checkClass(string $class): ?string { return $this->classes[$class] ?? null; } public function checkFunction(string $function): ?string { return $this->functions[$function] ?? null; } public function checkConstant(string $constant): ?string { return $this->constants[$constant] ?? null; } /** * @return string[] */ public function checkRequiredDependency(string $extension): array { if (!isset($this->dependencies[$extension]['required'])) { return []; } return $this->dependencies[$extension]['required']; } }