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
-
-
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
-
getPrivateVariables
-
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
-
toString
-
body
-