interfaceAbstractDomain
interface AbstractDomain
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
A versioned abstract lattice; join is inclusion, not application-specific composition.
(new \Deriver\Deriver\Evaluator\Domain\DomainFact('policy', \Deriver\Deriver\Evaluator\Term::array([])))->domain // => 'policy'Methods§
public function id(): stringReturns
string Stable domain identifier.Throws
EvaluationException If trusted plugin code failsCalled from 7
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:26
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::registration() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:29
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:44
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:45
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:52
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:53
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::contains() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:67
public function version(): stringReturns
string Semantic version recorded in the evaluator manifest.Throws
EvaluationException If trusted plugin code failspublic function bottom(): DomainFactReturns
DomainFact No concrete possibilities.Throws
EvaluationException If trusted plugin code failsCalled from 3
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:25
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:29
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::registration() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:25
public function top(): DomainFactReturns
DomainFact Every domain possibility.Throws
EvaluationException If trusted plugin code failsCalled from 3
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:25
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:29
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::registration() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:25
public function lessOrEqual(DomainFact $a, DomainFact $b): boolParameters
$a | DomainFact | Candidate contained fact |
$b | DomainFact | Candidate containing fact |
Returns
bool Whether a is included in bThrows
EvaluationException If trusted plugin code failsCalled from 7
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:26
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:29
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::pair() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:58
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::pair() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:65
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::equivalent() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:80
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:52
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::contains() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:67
public function join(DomainFact $a, DomainFact $b): DomainFactParameters
$a | DomainFact | First alternative |
$b | DomainFact | Second alternative |
Returns
DomainFact Inclusive joinThrows
EvaluationException If trusted plugin code failsCalled from 5
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:32
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:38
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::pair() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:57
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::pair() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:61
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:47
public function widen(DomainFact $previous, DomainFact $next): DomainFactParameters
$previous | DomainFact | Previous approximation |
$next | DomainFact | Next approximation |
Returns
DomainFact Finite convergent upper boundThrows
EvaluationException If trusted plugin code failspublic function project(DomainFact $value, Projection $projection): DomainFactParameters
$value | DomainFact | Structured fact |
$projection | Projection | Required field path |
Returns
DomainFact Projected factThrows
EvaluationException If trusted plugin code failsTest cases 9§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 1
AbstractDomainTestcalls
Other tests reaching this symbol 8
ExtensionFailureTest::testOpenPropagatesDomainFailurescallsDomainOperationsTest::testApplyPropagatesProviderFailurescallsDomainOperationsTest::testApplyRejectsFactsOwnedByAnotherDomaincallsDomainOperationsTest::testApplyRejectsWideningThatDoesNotContainBothInputscallsDomainOperationsTest::testContainsCannotTreatAPluginExceptionAsConvergencecallsDomainOperationsTest::testRegistrationPropagatesProviderFailurescallsDomainOperationsTest::testRegistrationRejectsViolationsOfTheDeclaredLawscallsDomainProviderTestcalls
Relations§
Method calls 29
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:25
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:25
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:26
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:26
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:29
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:29
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:29
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:32
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::violations() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:38
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::pair() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:57
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::pair() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:58
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::pair() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:61
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::pair() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:64
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::pair() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:65
- method-call Deriver\Deriver\Evaluator\Domain\DomainLaws::equivalent() packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:80
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::registration() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:25
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::registration() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:25
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::registration() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:29
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::registration() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:29
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:44
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:45
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:47
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:48
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:49
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:52
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:52
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::apply() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:53
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::contains() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:67
- method-call Deriver\Deriver\Evaluator\Domain\DomainOperations::contains() packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:67
Type declarations 6
- type Deriver\Deriver\Evaluator\Domain\DomainLaws packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:22
- type Deriver\Deriver\Evaluator\Domain\DomainLaws packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:54
- type Deriver\Deriver\Evaluator\Domain\DomainLaws packages/deriver/src/Deriver/Evaluator/Domain/DomainLaws.php:78
- type Deriver\Deriver\Evaluator\Domain\DomainOperations packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:23
- type Deriver\Deriver\Evaluator\Domain\DomainOperations packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:42
- type Deriver\Deriver\Evaluator\Domain\DomainOperations packages/deriver/src/Deriver/Evaluator/Domain/DomainOperations.php:65