Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3declare(strict_types=1);
4
5/**
6 * Copyright (c) 2019-2023 NxtLvl Software Solutions.
7 *
8 * Freely available to use under the terms of the MIT license.
9 */
10
11namespace NxtLvlSoftware\StaticConstructors\Policy\Class;
12
13use ReflectionClass;
14use ReflectionMethod;
15
16/**
17 * Interface defining requirements for static constructor class policies.
18 *
19 * Can be used to interact with the package and extend functionality.
20 */
21interface StaticConstructorClassPolicy {
22
23    /**
24     * Retrieve the static constructor reflection information for the
25     * provided class if it exists.
26     *
27     * @param \ReflectionClass<object> $class
28     *
29     * @return \ReflectionMethod|null
30     */
31    public static function methodFor(ReflectionClass $class): ?ReflectionMethod;
32
33}