IncludeTreeAstBuilderVisitor implements IncludeTreeVisitorInterface
Main visitor that creates the TypoScript AST: When adding this visitor and traversing the IncludeTree, the final AST can be fetched using getAst().
This visitor is usually only used together with ConditionVerdictAwareIncludeTreeTraverser, and the IncludeTreeConditionMatcherVisitor is added before this visitor to determine condition verdicts, so AST is only extended for conditions with "true" verdict.
When parsing "setup", "flattened" constants should be assigned to this visitor, so the AstBuilder can resolve constants.
Tags
Attributes
- #[Autoconfigure]
- $public: true
- $shared: false
Table of Contents
Interfaces
- IncludeTreeVisitorInterface
- A visitor that can be attached to IncludeTreeTraverser's.
Methods
- __construct() : mixed
- getAst() : RootNode
- setFlatConstants() : void
- When 'setup' is parsed, setting resolved flat constants here will make the AST builder substitute these constants.
- visit() : void
- Extend current AST with given LineStream of include node.
- visitBeforeChildren() : void
- Reset AST if "clear" flag is set. That's a sys_template record specific thing to restart with a new RootNode and drop any AST calculated already.
Methods
__construct()
    public
                    __construct(AstBuilderInterface $astBuilder) : mixed
    Parameters
- $astBuilder : AstBuilderInterface
getAst()
    public
                    getAst() : RootNode
    Return values
RootNodesetFlatConstants()
When 'setup' is parsed, setting resolved flat constants here will make the AST builder substitute these constants.
    public
                    setFlatConstants(array<string, string> $flatConstants) : void
    Parameters
- $flatConstants : array<string, string>
visit()
Extend current AST with given LineStream of include node.
    public
                    visit(IncludeInterface $include, int $currentDepth) : void
    Parameters
- $include : IncludeInterface
- $currentDepth : int
visitBeforeChildren()
Reset AST if "clear" flag is set. That's a sys_template record specific thing to restart with a new RootNode and drop any AST calculated already.
    public
                    visitBeforeChildren(IncludeInterface $include, int $currentDepth) : void
    Parameters
- $include : IncludeInterface
- $currentDepth : int