classEnumerator
final class Enumerator
Restricted visibility: declared "@visibility parent" and "@visibility Deriver\Deriver\Publication". Code outside that scope must not name this declaration.
Enumerates a shared choice DAG while retaining its entire unvisited frontier.
Methods§
public function __construct(Term $value)Starts enumeration without flattening any choices.
Parameters
$value | Term |
public function next(): array{Term, array<string, bool|string>}|nullReturns
array{Term, array<string, bool|string>}|nullTest cases 3
Called from 3
- method-call Deriver\Deriver\Evaluator\Enumeration\Choices::alternatives() packages/deriver/src/Deriver/Evaluator/Enumeration/Choices.php:53
- method-call Deriver\Deriver\Evaluator\Expression\Origins::callers() packages/deriver/src/Deriver/Evaluator/Expression/Origins.php:111
- method-call Deriver\Deriver\Publication\CandidateCollector::collect() packages/deriver/src/Deriver/Publication/CandidateCollector.php:38
public function hasRemaining(): boolReports whether an unvisited frontier remains.
Returns
boolTest cases 1
Private surface 1§
Implementation details, listed for orientation only.
private list<array{Term, array<string, bool|string>}> $pendingTest cases 3§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Relations§
Instantiated in 3
- new Deriver\Deriver\Evaluator\Enumeration\Choices::alternatives() packages/deriver/src/Deriver/Evaluator/Enumeration/Choices.php:52
- new Deriver\Deriver\Evaluator\Expression\Origins::callers() packages/deriver/src/Deriver/Evaluator/Expression/Origins.php:111
- new Deriver\Deriver\Publication\CandidateCollector::collect() packages/deriver/src/Deriver/Publication/CandidateCollector.php:37
Method calls 5
- method-call Deriver\Deriver\Evaluator\Enumeration\Choices::alternatives() packages/deriver/src/Deriver/Evaluator/Enumeration/Choices.php:53
- method-call Deriver\Deriver\Evaluator\Expression\Origins::callers() packages/deriver/src/Deriver/Evaluator/Expression/Origins.php:111
- method-call Deriver\Deriver\Publication\CandidateCollector::collect() packages/deriver/src/Deriver/Publication/CandidateCollector.php:38
- method-call Deriver\Deriver\Publication\CandidateCollector::collect() packages/deriver/src/Deriver/Publication/CandidateCollector.php:40
- method-call Deriver\Deriver\Publication\CandidateCollector::collect() packages/deriver/src/Deriver/Publication/CandidateCollector.php:41