UnionType
extends ComplexType
in package
This is a base class for complex types, including nullable types and union types.
It does not provide any shared behavior and exists only for type-checking purposes.
Table of Contents
Properties
- $types : array<string|int, Identifier|Name|IntersectionType>
- $attributes : array<string, mixed>
Methods
- __construct() : mixed
- Constructs a union type.
- 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).
- 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.
- 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>
- 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
$types
public
array<string|int, Identifier|Name|IntersectionType>
$types
Types
$attributes
protected
array<string, mixed>
$attributes
Attributes
Methods
__construct()
Constructs a union type.
public
__construct(array<string|int, Identifier|Name|IntersectionType> $types[, array<string, mixed> $attributes = [] ]) : mixed
Parameters
- $types : array<string|int, Identifier|Name|IntersectionType>
-
Types
- $attributes : array<string, mixed> = []
-
Additional attributes
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)
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)
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>setAttribute()
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