Function_
        
        extends Stmt
    
    
            
            in package
            
        
    
            
            implements
                            FunctionLike                    
    
    
        
        
    
Interfaces, Classes and Traits
Table of Contents
- $attrGroups : array<string|int, AttributeGroup>
 - $byRef : bool
 - $name : Identifier
 - $namespacedName : Name|null
 - $params : array<string|int, Param>
 - $returnType : null|Identifier|Name|ComplexType
 - $stmts : array<string|int, Stmt>
 - $attributes : mixed
 - __construct() : mixed
 - Constructs a function node.
 - getAttrGroups() : array<string|int, AttributeGroup>
 - Get PHP attribute groups.
 - getAttribute() : mixed
 - Returns the value of an attribute.
 - getAttributes() : array<string|int, 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, mixed>
 - getType() : string
 - hasAttribute() : bool
 - Returns whether an attribute exists.
 - jsonSerialize() : array<string|int, mixed>
 - returnsByRef() : bool
 - Whether to return by reference
 - setAttribute() : mixed
 - Sets an attribute on a node.
 - setAttributes() : mixed
 - Replaces all the attributes of this node.
 - setDocComment() : mixed
 - Sets the doc comment of the node.
 
Properties
$attrGroups
    public
        array<string|int, AttributeGroup>
    $attrGroups
    
    
        PHP attribute groups
$byRef
    public
        bool
    $byRef
    
    
        Whether function returns by reference
$name
    public
        Identifier
    $name
    
    
        Name
$namespacedName
    public
        Name|null
    $namespacedName
    
    
        Namespaced name (if using NameResolver)
$params
    public
        array<string|int, Param>
    $params
    
    
        Parameters
$returnType
    public
        null|Identifier|Name|ComplexType
    $returnType
    
    
        Return type
$stmts
    public
        array<string|int, Stmt>
    $stmts
    
    
        Statements
$attributes
    protected
        mixed
    $attributes
    
        
        
    
Methods
__construct()
Constructs a function node.
    public
                __construct(string|Identifier $name[, array<string|int, mixed> $subNodes = [] ][, array<string|int, mixed> $attributes = [] ]) : mixed
    
        Parameters
- $name : string|Identifier
 - 
                    
Name
 - $subNodes : array<string|int, mixed> = []
 - 
                    
Array of the following optional subnodes: 'byRef' => false : Whether to return by reference 'params' => array(): Parameters 'returnType' => null : Return type 'stmts' => array(): Statements 'attrGroups' => array(): PHP attribute groups
 - $attributes : array<string|int, mixed> = []
 - 
                    
Additional attributes
 
Return values
mixed —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
 
Return values
mixed —getAttributes()
Returns all the attributes of this node.
    public
                getAttributes() : array<string|int, mixed>
    
    
    
        Return values
array<string|int, 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|ComplexType —getStartFilePos()
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()
    public
                getSubNodeNames() : array<string|int, mixed>
        
    
    
        Return values
array<string|int, mixed> —getType()
    public
                getType() : string
        
    
    
        Return values
string —hasAttribute()
Returns whether an attribute exists.
    public
                hasAttribute(string $key) : bool
    
        Parameters
- $key : string
 
Return values
bool —jsonSerialize()
    public
                jsonSerialize() : array<string|int, mixed>
    
    
    
        Return values
array<string|int, mixed> —returnsByRef()
Whether to return by reference
    public
                returnsByRef() : bool
    
    
    
        Return values
bool —setAttribute()
Sets an attribute on a node.
    public
                setAttribute(string $key, mixed $value) : mixed
    
        Parameters
- $key : string
 - $value : mixed
 
Return values
mixed —setAttributes()
Replaces all the attributes of this node.
    public
                setAttributes(array<string|int, mixed> $attributes) : mixed
    
        Parameters
- $attributes : array<string|int, mixed>
 
Return values
mixed —setDocComment()
Sets the doc comment of the node.
    public
                setDocComment(Doc $docComment) : mixed
        This will either replace an existing doc comment or add it to the comments array.
Parameters
- $docComment : Doc
 - 
                    
Doc comment to set