Record Class OptimizationBarrier<T>
java.lang.Object
java.lang.Record
tools.refinery.store.query.interpreter.internal.pquery.OptimizationBarrier<T>
- Type Parameters:
T- The type of the term.
Term wrapper that prevents
AnyTerm.equalsWithSubstitution(LiteralEqualityHelper, AnyTerm) from being
able to deduce the equality of two terms.
This can control the shape of Dnf precisely when we don't want the optimizer
to reduce multiple equivalent assignments into a single one.
-
Constructor Summary
ConstructorsConstructorDescriptionOptimizationBarrier(Term<T> body) Creates an instance of aOptimizationBarrierrecord class. -
Method Summary
Modifier and TypeMethodDescriptionbody()Returns the value of thebodyrecord component.booleanIndicates whether some other object is "equal to" this one.booleanequalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) getInputVariables(Set<? extends Variable> positiveVariablesInClause) getPrivateVariables(Set<? extends Variable> positiveVariablesInClause) getType()inthashCode()Returns a hash code value for this object.intrewriteSubTerms(TermRewriter termRewriter) substitute(Substitution substitution) @NotNull StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
OptimizationBarrier
Creates an instance of aOptimizationBarrierrecord class.- Parameters:
body- the value for thebodyrecord component
-
-
Method Details
-
getType
-
evaluate
-
rewriteSubTerms
- Specified by:
rewriteSubTermsin interfaceAnyTerm- Specified by:
rewriteSubTermsin interfaceTerm<T>
-
substitute
- Specified by:
substitutein interfaceAnyTerm- Specified by:
substitutein interfaceTerm<T>
-
equalsWithSubstitution
- Specified by:
equalsWithSubstitutionin interfaceAnyTerm
-
hashCodeWithSubstitution
- Specified by:
hashCodeWithSubstitutionin interfaceAnyTerm
-
getVariables
- Specified by:
getVariablesin interfaceAnyTerm
-
getInputVariables
- Specified by:
getInputVariablesin interfaceAnyTerm
-
getPrivateVariables
- Specified by:
getPrivateVariablesin interfaceAnyTerm
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
hashCode
public int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
body
Returns the value of thebodyrecord component.- Returns:
- the value of the
bodyrecord component
-