Class BaseTypeSafeConstraint
java.lang.Object
tools.refinery.interpreter.matchers.psystem.BasePConstraint
tools.refinery.interpreter.matchers.psystem.DeferredPConstraint
tools.refinery.interpreter.matchers.psystem.VariableDeferredPConstraint
tools.refinery.interpreter.matchers.psystem.basicdeferred.BaseTypeSafeConstraint
- All Implemented Interfaces:
PConstraint
,PTraceable
- Direct Known Subclasses:
ExpressionEvaluation
-
Field Summary
Fields inherited from class tools.refinery.interpreter.matchers.psystem.BasePConstraint
pBody
Fields inherited from interface tools.refinery.interpreter.matchers.psystem.PConstraint
COMPARE_BY_MONOTONOUS_ID
-
Constructor Summary
ConstructorDescriptionBaseTypeSafeConstraint
(PBody pBody, Set<PVariable> inputVariables, PVariable outputVariable) -
Method Summary
Modifier and TypeMethodDescriptioncheckTypeSafety
(SubPlan plan, IQueryMetaContext context) Checks whether all type restrictions are already enforced on affected variables.protected void
doReplaceVariable
(PVariable obsolete, PVariable replacement) The set of variables whose potential values can be enumerated (once all non-deduced variables have known values).boolean
isReadyAt
(SubPlan plan, IQueryMetaContext context) Refine further if neededMethods inherited from class tools.refinery.interpreter.matchers.psystem.BasePConstraint
checkSanity, delete, getAffectedVariables, getBody, getFunctionalDependencies, getMonotonousID, getPSystem, replaceVariable, toString, toStringRest
-
Field Details
-
inputVariables
-
outputVariable
-
-
Constructor Details
-
BaseTypeSafeConstraint
- Parameters:
pBody
-inputVariables
-outputVariable
- null iff no output (check-only)
-
-
Method Details
-
getOutputVariable
-
getDeducedVariables
Description copied from interface:PConstraint
The set of variables whose potential values can be enumerated (once all non-deduced variables have known values). -
getDeferringVariables
- Specified by:
getDeferringVariables
in classVariableDeferredPConstraint
-
isReadyAt
Description copied from class:VariableDeferredPConstraint
Refine further if needed- Overrides:
isReadyAt
in classVariableDeferredPConstraint
-
checkTypeSafety
Checks whether all type restrictions are already enforced on affected variables.- Parameters:
plan
-- Returns:
- a variable whose type safety is not enforced yet, or null if the plan is typesafe
-
doReplaceVariable
- Specified by:
doReplaceVariable
in classBasePConstraint
-