Documentation

Compound extends AggregatedType
in package

Value Object representing a Compound Type.

A Compound Type is not so much a special keyword or object reference but is a series of Types that are separated using an OR operator (|). This combination of types signifies that whatever is associated with this compound type may contain a value with any of the given types.

Tags
psalm-immutable

Table of Contents

$token  : string
$types  : array<int, Type>
__construct()  : mixed
Initializes a compound type (i.e. `string|int`) and tests if the provided types all implement the Type interface.
__toString()  : string
Returns a rendered output of the Type as it would be used in a DocBlock.
contains()  : bool
Tests if this compound type contains the given type.
get()  : Type|null
Returns the type at the given index.
getIterator()  : ArrayIterator<int, Type>
has()  : bool
Tests if this compound type has a type with the given index.
add()  : void

Properties

Methods

__construct()

Initializes a compound type (i.e. `string|int`) and tests if the provided types all implement the Type interface.

public __construct(array<string|int, Type$types) : mixed
Parameters
$types : array<string|int, Type>
Return values
mixed

__toString()

Returns a rendered output of the Type as it would be used in a DocBlock.

public __toString() : string
Return values
string

contains()

Tests if this compound type contains the given type.

public contains(Type $type) : bool
Parameters
$type : Type
Return values
bool

get()

Returns the type at the given index.

public get(int $index) : Type|null
Parameters
$index : int
Return values
Type|null

getIterator()

public getIterator() : ArrayIterator<int, Type>
Return values
ArrayIterator<int, Type>

has()

Tests if this compound type has a type with the given index.

public has(int $index) : bool
Parameters
$index : int
Return values
bool

add()

private add(Type $type) : void
Parameters
$type : Type
Tags
psalm-suppress

ImpureMethodCall

Return values
void

Search results