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
FieldsFields inherited from class tools.refinery.interpreter.matchers.psystem.BasePConstraint
pBodyFields inherited from interface tools.refinery.interpreter.matchers.psystem.PConstraint
COMPARE_BY_MONOTONOUS_ID -
Constructor Summary
ConstructorsConstructorDescriptionBaseTypeSafeConstraint(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 voiddoReplaceVariable(PVariable obsolete, PVariable replacement) The set of variables whose potential values can be enumerated (once all non-deduced variables have known values).booleanisReadyAt(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:PConstraintThe set of variables whose potential values can be enumerated (once all non-deduced variables have known values). -
getDeferringVariables
- Specified by:
getDeferringVariablesin classVariableDeferredPConstraint
-
isReadyAt
Description copied from class:VariableDeferredPConstraintRefine further if needed- Overrides:
isReadyAtin 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:
doReplaceVariablein classBasePConstraint
-