ConstantAwareTokenStream extends AbstractTokenStream
A list of single T_VALUE, T_NEWLINE and T_CONSTANT tokens. This is only created for LineIdentifierAssignment lines if there is at least one T_CONSTANT token in the assignment that needs to be evaluated when string'ified by the AST-builder.
Tags
Table of Contents
Properties
- $currentIndex : int
- $tokens : array<string|int, TokenInterface>
Methods
- __serialize() : array<string|int, mixed>
- When storing to cache, we only store FE relevant properties and skip irrelevant things. For instance $currentIndex should always initialize to -1 and does not need to be stored.
- __toString() : string
- Create a source string from given tokens.
- append() : self
- Stream creation.
- getAll() : array<string|int, TokenInterface>
- Only used internally when one Stream is transferred to another, in particular when a TokenStream is turned into TokenStreamConstantAware.
- getNext() : TokenInterface|null
- Get next token and raise pointer.
- isEmpty() : bool
- We sometimes create a stream but don't add tokens.
- peekNext() : TokenInterface|null
- Get next token but do not raise pointer.
- reset() : static
- Reset current pointer. Typically, call this before iterating with getNext().
- setAll() : self
- Only used internally when one Stream is transferred to another, in particular when a TokenStream is turned into TokenStreamConstantAware.
- setFlatConstants() : void
- Set by the AstBuilder to resolve constant values. Never cached.
- serialize() : array<string|int, mixed>
Properties
$currentIndex
protected
int
$currentIndex
= -1
$tokens
protected
array<string|int, TokenInterface>
$tokens
= []
Methods
__serialize()
When storing to cache, we only store FE relevant properties and skip irrelevant things. For instance $currentIndex should always initialize to -1 and does not need to be stored.
public
final __serialize() : array<string|int, mixed>
Return values
array<string|int, mixed>__toString()
Create a source string from given tokens.
public
__toString() : string
This resolves T_CONSTANT tokens to their value if they exist in $this->flatConstants.
Return values
stringappend()
Stream creation.
public
append(TokenInterface $token) : self
Parameters
- $token : TokenInterface
Return values
selfgetAll()
Only used internally when one Stream is transferred to another, in particular when a TokenStream is turned into TokenStreamConstantAware.
public
getAll() : array<string|int, TokenInterface>
Return values
array<string|int, TokenInterface>getNext()
Get next token and raise pointer.
public
getNext() : TokenInterface|null
Return values
TokenInterface|nullisEmpty()
We sometimes create a stream but don't add tokens.
public
isEmpty() : bool
This method returns true if tokens have been added.
Return values
boolpeekNext()
Get next token but do not raise pointer.
public
peekNext() : TokenInterface|null
Return values
TokenInterface|nullreset()
Reset current pointer. Typically, call this before iterating with getNext().
public
reset() : static
Return values
staticsetAll()
Only used internally when one Stream is transferred to another, in particular when a TokenStream is turned into TokenStreamConstantAware.
public
setAll(array<string|int, mixed> $tokens) : self
Parameters
- $tokens : array<string|int, mixed>
Return values
selfsetFlatConstants()
Set by the AstBuilder to resolve constant values. Never cached.
public
setFlatConstants(array<string|int, mixed> $flatConstants) : void
Parameters
- $flatConstants : array<string|int, mixed>
serialize()
protected
serialize() : array<string|int, mixed>