final class ArrayTerm
    implements Term
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.

An array literal the analyzer reconstructed element by element.

Bound parameters reach the database as an array, so keeping element order and keys is what lets the catalog line placeholders up with the values they take.

Properties§

public list<ArrayEntry> $entries
public bool $complete = true

Methods§

public function __construct(public list<ArrayEntry> $entries, public bool $complete = true)

Parameters

$entrieslist<ArrayEntry>Elements in source order
$completeboolWhether every element of the runtime array is present
public function positional(): list<Domain>

The elements that take successive integer keys, in order.

Returns

list<Domain>
Test cases 1
Called from 1
Calls 1
public function element(string|int|float|bool|null $key): ?Domain

The element stored under a key, or null when the array does not hold one.

Parameters

$keystring|int|float|bool|null

Returns

Test cases 2
Calls 1
public function anyValue(Origin $origin, ?string $expression = null): ?Domain

Whatever one element can be, or null when the array holds none.

The union of every element covers the value whichever key selects it, which is what turns self::TABLES[$kind] with an unknown $kind into one statement per table instead of a gap. An array known only in part may hold elements the walk never saw, so the union keeps a gap for them.

Parameters

$originOrigin
$expression?string

Returns

Test cases 3
Calls 2
public function toPattern(): TextPattern

An array never resolves to text, so it becomes a gap.

Test cases 2
Calls 4
public function type(): TypeShape
public function signature(): string

The elements, in order, tagged as complete or partial.

Returns

string
Test cases 2
Calls 1

Private surface 1§

Implementation details, listed for orientation only.

private ?string $signature = null

Test cases 101§

Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.

Dedicated tests 10
Other tests reaching this symbol 91

Relations§

Instantiated in 10
Method calls 7
Type checks 7
Type declarations 9