interface StubDataQueryInterface (View source)

Read-only query interface for accessing parsed stub/reflection data.

Lives in Storage/ because that is where its implementor does: ParsedDataStorageManager composes it and DefaultParsedDataStorageManager is the only class that satisfies it. It sat in Parsers/ until nothing under Parsers/ referenced it at all — not one file — while Storage/ had to import across the namespace boundary to compose it. That was the only Storage -> Parsers edge in the framework.

The name still says "Stub", but both of Runner's handles are this type: getStubs() and getReflection() alike. Reading it as "the parsed-data query" rather than "the stubs query" is what the code means; renaming it would touch 64 files for no behavioural gain.

These eight methods were previously spread across five per-entity interfaces (Class/Function/Interface/Enum/ConstantQueryInterface) that this one composed, written so that "clients can depend on only the slice they need". No client ever did: all five were referenced by nothing but the composite, while this type is the declared parameter type in ~48 files.

The split also could not deliver what it promised, because the coupling it aimed at is fixed by CheckInterface::run(StubDataQueryInterface, ...). PHP does not permit narrowing a parameter type in an override — only widening — so no check can declare a narrower dependency however the interfaces are cut. Doing that would mean changing CheckInterface itself, at which point the per-entity interfaces can be reintroduced from here in a single commit.

Contrast the parallel NodeExtractorInterface split, which is genuine: five narrow interfaces that six StubParser classes actually declare as their parameter types.

Methods

array
getClasses()

No description

bool
hasClass(string $id)

No description

array
getFunctions()

No description

array
getInterfaces()

No description

bool
hasInterface(string $id)

No description

array
getEnums()

No description

bool
hasEnum(string $id)

No description

array
getConstants()

No description

Details

array getClasses()

No description

Return Value

array

bool hasClass(string $id)

No description

Parameters

string $id

Return Value

bool

array getFunctions()

No description

Return Value

array

array getInterfaces()

No description

Return Value

array

bool hasInterface(string $id)

No description

Parameters

string $id

Return Value

bool

array getEnums()

No description

Return Value

array

bool hasEnum(string $id)

No description

Parameters

string $id

Return Value

bool

array getConstants()

No description

Return Value

array