‪TYPO3CMS  ‪main
TYPO3\CMS\Core\TypoScript\AST\CommentAwareAstBuilder Class Reference
Inheritance diagram for TYPO3\CMS\Core\TypoScript\AST\CommentAwareAstBuilder:
TYPO3\CMS\Core\TypoScript\AST\AbstractAstBuilder TYPO3\CMS\Core\TypoScript\AST\AstBuilderInterface

Public Member Functions

 __construct (EventDispatcherInterface $eventDispatcher,)
 build (LineStream $lineStream, RootNode $ast, array $flatConstants=[])

Protected Member Functions

 handleIdentifierAssignmentLine (IdentifierAssignmentLine $line, CurrentObjectPath $currentObjectPath)
- ‪Protected Member Functions inherited from ‪TYPO3\CMS\Core\TypoScript\AST\AbstractAstBuilder
 handleIdentifierUnsetLine (IdentifierUnsetLine $line, CurrentObjectPath $currentObjectPath)
 handleIdentifierCopyLine (IdentifierCopyLine $line, RootNode $rootNode, CurrentObjectPath $currentObjectPath)
 handleIdentifierReferenceLine (IdentifierReferenceLine $line, CurrentObjectPath $currentObjectPath)
 getOrAddNodeFromIdentifierStream (CurrentObjectPath $currentObjectPath, IdentifierTokenStream $tokenStream)
 evaluateValueModifier (Token $functionNameToken, ?Token $functionArgumentToken, ?string $originalValue)

Additional Inherited Members

- ‪Protected Attributes inherited from ‪TYPO3\CMS\Core\TypoScript\AST\AbstractAstBuilder
array $flatConstants = []
EventDispatcherInterface $eventDispatcher

Detailed Description

Secondary TypoScript AST builder.

This creates a tree of Nodes, starting with the root node. Each node can have children. The implementation basically iterates a LineStream created by the tokenizers, and creates AST depending on the line type. It handles all the different operator lines like "=", "<" and so on.

This AST builder is comment aware: Comments are assigned to nodes. This is used in ext:tstemplate and page TSconfig backend modules to add the comment related TypoScript functionality.

This AST builder variant adds runtime overhead and is slower than the main AstBuilder class.

: Internal AST structure.

Definition at line 54 of file CommentAwareAstBuilder.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Core\TypoScript\AST\CommentAwareAstBuilder::__construct ( EventDispatcherInterface  $eventDispatcher)

Member Function Documentation

◆ build()

◆ handleIdentifierAssignmentLine()