class StubModernConstantParser implements MultiEntityStubParserInterface (View source)

Parses modern global const declarations from AST into PHPConstant domain objects.

Handles const statements like: const A = 1; const int B = 2, C = 3; Parser-agnostic: works with any AST node implementing ConstantDefinitionNode interface.

Methods

__construct(ConstantNodeExtractorInterface|null $nodeExtractor = null, PhpDocParserInterface|null $phpDocParser = null, AvailableVersionParserInterface|null $versionParser = null)

No description

array
parse(string $stubCode)

Parses stub code string into PHPConstant array.

parseNode(ConstantDefinitionNode $node)

Parses a constant definition AST node into PHPConstant domain object.

array
extractAndParseAll(string $stubContent)

Extract and parse all modern const declarations from stub content.

Details

__construct(ConstantNodeExtractorInterface|null $nodeExtractor = null, PhpDocParserInterface|null $phpDocParser = null, AvailableVersionParserInterface|null $versionParser = null)

No description

Parameters

ConstantNodeExtractorInterface|null $nodeExtractor
PhpDocParserInterface|null $phpDocParser
AvailableVersionParserInterface|null $versionParser

array parse(string $stubCode)

Parses stub code string into PHPConstant array.

This is a convenience method that parses all const declarations in the code.

Parameters

string $stubCode

PHP stub code

Return Value

array

PHPConstant parseNode(ConstantDefinitionNode $node)

Parses a constant definition AST node into PHPConstant domain object.

Works with any ConstantDefinitionNode implementation (parser-agnostic).

Parameters

ConstantDefinitionNode $node

The constant definition AST node with namespace set

Return Value

PHPConstant

array extractAndParseAll(string $stubContent)

Extract and parse all modern const declarations 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.