Closure
        
        extends Expr
    
    
            
            in package
            
        
    
            
            implements
                            FunctionLike                    
    
    
Table of Contents
Interfaces
Properties
- $attrGroups : array<string|int, AttributeGroup>
- $byRef : bool
- $params : array<string|int, Param>
- $returnType : null|Identifier|Name|ComplexType
- $static : bool
- $stmts : array<string|int, Stmt>
- $uses : array<string|int, ClosureUse>
- $attributes : array<string, mixed>
Methods
- __construct() : mixed
- Constructs a lambda function node.
- getAttrGroups() : array<string|int, AttributeGroup>
- Get PHP attribute groups.
- getAttribute() : mixed
- Returns the value of an attribute.
- getAttributes() : array<string, mixed>
- Returns all the attributes of this node.
- getComments() : array<string|int, Comment>
- Gets all comments directly preceding this node.
- getDocComment() : null|Doc
- Gets the doc comment of the node.
- getEndFilePos() : int
- Gets the file offset of the last character that is part of this node.
- getEndLine() : int
- Gets the line the node ended in.
- getEndTokenPos() : int
- Gets the token offset of the last token that is part of this node.
- getLine() : int
- Gets line the node started in (alias of getStartLine).
- getParams() : array<string|int, Param>
- List of parameters
- getReturnType() : null|Identifier|Name|ComplexType
- Get the declared return type or null
- getStartFilePos() : int
- Gets the file offset of the first character that is part of this node.
- getStartLine() : int
- Gets line the node started in.
- getStartTokenPos() : int
- Gets the token offset of the first token that is part of this node.
- getStmts() : array<string|int, Stmt>
- The function body
- getSubNodeNames() : array<string|int, string>
- Gets the names of the sub nodes.
- getType() : string
- Gets the type of the node.
- hasAttribute() : bool
- Returns whether an attribute exists.
- jsonSerialize() : array<string, mixed>
- returnsByRef() : bool
- Whether to return by reference
- setAttribute() : void
- Sets an attribute on a node.
- setAttributes() : void
- Replaces all the attributes of this node.
- setDocComment() : void
- Sets the doc comment of the node.
Properties
$attrGroups
    public
        array<string|int, AttributeGroup>
    $attrGroups
    
    
        PHP attribute groups
$byRef
    public
        bool
    $byRef
    
    
        Whether to return by reference
$params
    public
        array<string|int, Param>
    $params
    
    
        Parameters
$returnType
    public
        null|Identifier|Name|ComplexType
    $returnType
    
    
        Return type
$static
    public
        bool
    $static
    
    
        Whether the closure is static
$stmts
    public
        array<string|int, Stmt>
    $stmts
    
    
        Statements
$uses
    public
        array<string|int, ClosureUse>
    $uses
    
    
        use()s
$attributes
    protected
        array<string, mixed>
    $attributes
    
    
        Attributes
Methods
__construct()
Constructs a lambda function node.
    public
                    __construct([AttributeGroup[]} $subNodes = [] ][, array<string, mixed> $attributes = [] ]) : mixed
    Parameters
- $subNodes : AttributeGroup[]} = []
- 
                    Array of the following optional subnodes: 'static' => false : Whether the closure is static 'byRef' => false : Whether to return by reference 'params' => array(): Parameters 'uses' => array(): use()s 'returnType' => null : Return type 'stmts' => array(): Statements 'attrGroups' => array(): PHP attributes groups 
- $attributes : array<string, mixed> = []
- 
                    Additional attributes 
getAttrGroups()
Get PHP attribute groups.
    public
                    getAttrGroups() : array<string|int, AttributeGroup>
    Return values
array<string|int, AttributeGroup>getAttribute()
Returns the value of an attribute.
    public
                    getAttribute(string $key[, mixed $default = null ]) : mixed
    Parameters
- $key : string
- $default : mixed = null
getAttributes()
Returns all the attributes of this node.
    public
                    getAttributes() : array<string, mixed>
    Return values
array<string, mixed>getComments()
Gets all comments directly preceding this node.
    public
                    getComments() : array<string|int, Comment>
    The comments are also available through the "comments" attribute.
Return values
array<string|int, Comment>getDocComment()
Gets the doc comment of the node.
    public
                    getDocComment() : null|Doc
    Return values
null|Doc —Doc comment object or null
getEndFilePos()
Gets the file offset of the last character that is part of this node.
    public
                    getEndFilePos() : int
    Requires the 'endFilePos' attribute to be enabled in the lexer (DISABLED by default).
Return values
int —File end position (or -1 if not available)
getEndLine()
Gets the line the node ended in.
    public
                    getEndLine() : int
    Requires the 'endLine' attribute to be enabled in the lexer (enabled by default).
Return values
int —End line (or -1 if not available)
getEndTokenPos()
Gets the token offset of the last token that is part of this node.
    public
                    getEndTokenPos() : int
    The offset is an index into the array returned by Lexer::getTokens().
Requires the 'endTokenPos' attribute to be enabled in the lexer (DISABLED by default).
Return values
int —Token end position (or -1 if not available)
getLine()
Gets line the node started in (alias of getStartLine).
    public
                    getLine() : int
    Return values
int —Start line (or -1 if not available)
getParams()
List of parameters
    public
                    getParams() : array<string|int, Param>
    Return values
array<string|int, Param>getReturnType()
Get the declared return type or null
    public
                    getReturnType() : null|Identifier|Name|ComplexType
    Return values
null|Identifier|Name|ComplexTypegetStartFilePos()
Gets the file offset of the first character that is part of this node.
    public
                    getStartFilePos() : int
    Requires the 'startFilePos' attribute to be enabled in the lexer (DISABLED by default).
Return values
int —File start position (or -1 if not available)
getStartLine()
Gets line the node started in.
    public
                    getStartLine() : int
    Requires the 'startLine' attribute to be enabled in the lexer (enabled by default).
Return values
int —Start line (or -1 if not available)
getStartTokenPos()
Gets the token offset of the first token that is part of this node.
    public
                    getStartTokenPos() : int
    The offset is an index into the array returned by Lexer::getTokens().
Requires the 'startTokenPos' attribute to be enabled in the lexer (DISABLED by default).
Return values
int —Token start position (or -1 if not available)
getStmts()
The function body
    public
                    getStmts() : array<string|int, Stmt>
    Return values
array<string|int, Stmt>getSubNodeNames()
Gets the names of the sub nodes.
    public
                    getSubNodeNames() : array<string|int, string>
    Return values
array<string|int, string> —Names of sub nodes
getType()
Gets the type of the node.
    public
                    getType() : string
    Return values
string —Type of the node
hasAttribute()
Returns whether an attribute exists.
    public
                    hasAttribute(string $key) : bool
    Parameters
- $key : string
Return values
booljsonSerialize()
    public
                    jsonSerialize() : array<string, mixed>
    Return values
array<string, mixed>returnsByRef()
Whether to return by reference
    public
                    returnsByRef() : bool
    Return values
boolsetAttribute()
Sets an attribute on a node.
    public
                    setAttribute(string $key, mixed $value) : void
    Parameters
- $key : string
- $value : mixed
setAttributes()
Replaces all the attributes of this node.
    public
                    setAttributes(array<string|int, mixed> $attributes) : void
    Parameters
- $attributes : array<string|int, mixed>
setDocComment()
Sets the doc comment of the node.
    public
                    setDocComment(Doc $docComment) : void
    This will either replace an existing doc comment or add it to the comments array.
Parameters
- $docComment : Doc
- 
                    Doc comment to set