DelimiterStack
in package
FinalYes
Table of Contents
Properties
- $brackets : Bracket|null
- $missingIndexCache : SplObjectStorage<DelimiterInterface, int>|WeakMap<DelimiterInterface, int>
- $remainingDelimiters : int
- $top : DelimiterInterface|null
Methods
- __construct() : mixed
- getLastBracket() : Bracket|null
- processDelimiters() : void
- push() : void
- removeAll() : void
- removeDelimiter() : void
- removeEarlierMatches() : void
- searchByCharacter() : DelimiterInterface|null
- findEarliest() : DelimiterInterface|null
- getIndex() : int
- removeDelimiterAndNode() : void
- removeDelimitersBetween() : void
Properties
$brackets
private
Bracket|null
$brackets
= null
Tags
$missingIndexCache
This property will be removed in 3.0 once all delimiters MUST have an index/position
private
SplObjectStorage<DelimiterInterface, int>|WeakMap<DelimiterInterface, int>
$missingIndexCache
$remainingDelimiters
private
int
$remainingDelimiters
= 0
$top
private
DelimiterInterface|null
$top
= null
Tags
Methods
__construct()
public
__construct([int $maximumStackSize = PHP_INT_MAX ]) : mixed
Parameters
- $maximumStackSize : int = PHP_INT_MAX
getLastBracket()
public
getLastBracket() : Bracket|null
Tags
Return values
Bracket|nullprocessDelimiters()
public
processDelimiters(DelimiterInterface|int|null $stackBottom, DelimiterProcessorCollection $processors) : void
Parameters
- $stackBottom : DelimiterInterface|int|null
- $processors : DelimiterProcessorCollection
Tags
push()
public
push(DelimiterInterface $newDelimiter) : void
Parameters
- $newDelimiter : DelimiterInterface
removeAll()
public
removeAll([DelimiterInterface|int|null $stackBottom = null ]) : void
Parameters
- $stackBottom : DelimiterInterface|int|null = null
removeDelimiter()
public
removeDelimiter(DelimiterInterface $delimiter) : void
Parameters
- $delimiter : DelimiterInterface
removeEarlierMatches()
public
removeEarlierMatches(string $character) : void
This method is no longer used internally and will be removed in 3.0
Parameters
- $character : string
searchByCharacter()
public
searchByCharacter(string|array<string|int, string> $characters) : DelimiterInterface|null
This method is no longer used internally and will be removed in 3.0
Parameters
- $characters : string|array<string|int, string>
Return values
DelimiterInterface|nullfindEarliest()
private
findEarliest(int $stackBottom) : DelimiterInterface|null
Parameters
- $stackBottom : int
Return values
DelimiterInterface|nullgetIndex()
private
getIndex(DelimiterInterface|null $delimiter) : int
This method will be dropped in 3.0 once all delimiters MUST have an index/position
Parameters
- $delimiter : DelimiterInterface|null
Return values
intremoveDelimiterAndNode()
private
removeDelimiterAndNode(DelimiterInterface $delimiter) : void
Parameters
- $delimiter : DelimiterInterface
removeDelimitersBetween()
private
removeDelimitersBetween(DelimiterInterface $opener, DelimiterInterface $closer) : void
Parameters
- $opener : DelimiterInterface
- $closer : DelimiterInterface