class StubClassParser implements MultiEntityStubParserInterface (View source)

Parses PHP class nodes from AST into PHPClass domain objects.

Parser-agnostic: works with any AST node implementing ClassNode interface. Uses dedicated parsers for child entities (methods, properties, constants).

Methods

__construct(ClassNodeExtractorInterface|null $nodeExtractor = null, PhpDocParserInterface|null $phpDocParser = null, TypeParserInterface|null $typeParser = null, AvailableVersionParserInterface|null $versionParser = null)

No description

parse(string $stubCode)

Parses stub code string into PHPClass.

parseNode(ClassNode $node, array $imports = [])

Parses a class AST node into PHPClass domain object.

array
extractAndParseAll(string $stubContent)

Extract and parse all classes from stub content.

Details

__construct(ClassNodeExtractorInterface|null $nodeExtractor = null, PhpDocParserInterface|null $phpDocParser = null, TypeParserInterface|null $typeParser = null, AvailableVersionParserInterface|null $versionParser = null)

No description

Parameters

ClassNodeExtractorInterface|null $nodeExtractor
PhpDocParserInterface|null $phpDocParser
TypeParserInterface|null $typeParser
AvailableVersionParserInterface|null $versionParser

PHPClass parse(string $stubCode)

Parses stub code string into PHPClass.

This is a convenience method that delegates to parseNode().

Parameters

string $stubCode

PHP stub code

Return Value

PHPClass

PHPClass parseNode(ClassNode $node, array $imports = [])

Parses a class AST node into PHPClass domain object.

Works with any ClassNode implementation (parser-agnostic).

Parameters

ClassNode $node

The class AST node with namespace set

array $imports

Map of import aliases to fully qualified names

Return Value

PHPClass

array extractAndParseAll(string $stubContent)

Extract and parse all classes from stub content.

Parameters

string $stubContent

The PHP stub file content to parse

Return Value

array

Array of parsed entities (PHPClass, PHPFunction, etc.). Returns empty array if no entities found.