class StubFunctionParser implements MultiEntityStubParserInterface (View source)

Parses PHP function nodes from AST into PHPFunction domain objects.

Parser-agnostic: works with any AST node implementing FunctionNode interface. Uses dedicated parser for child entities (parameters).

Traits

Shared attribute detection logic for stub parsers.

Methods

__construct(FunctionNodeExtractorInterface|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 PHPFunction.

parseNode(FunctionNode $node)

Parses a function AST node into PHPFunction domain object.

array
extractAndParseAll(string $stubContent)

Extract and parse all functions from stub content.

Details

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

No description

Parameters

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

PHPFunction parse(string $stubCode)

Parses stub code string into PHPFunction.

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

Parameters

string $stubCode

PHP stub code

Return Value

PHPFunction

PHPFunction parseNode(FunctionNode $node)

Parses a function AST node into PHPFunction domain object.

Works with any FunctionNode implementation (parser-agnostic).

Parameters

FunctionNode $node

The function AST node with namespace set

Return Value

PHPFunction

array extractAndParseAll(string $stubContent)

Extract and parse all functions 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.