aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java')
-rw-r--r--subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java22
1 files changed, 18 insertions, 4 deletions
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java
index 746d23af..d01c7d20 100644
--- a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java
+++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java
@@ -1,9 +1,9 @@
1package tools.refinery.store.query.literal; 1package tools.refinery.store.query.literal;
2 2
3import tools.refinery.store.query.DnfUtils;
4import tools.refinery.store.query.Variable; 3import tools.refinery.store.query.Variable;
4import tools.refinery.store.query.equality.LiteralEqualityHelper;
5import tools.refinery.store.query.substitution.Substitution;
5 6
6import java.util.Map;
7import java.util.Set; 7import java.util.Set;
8 8
9public record ConstantLiteral(Variable variable, int nodeId) implements Literal { 9public record ConstantLiteral(Variable variable, int nodeId) implements Literal {
@@ -13,7 +13,21 @@ public record ConstantLiteral(Variable variable, int nodeId) implements Literal
13 } 13 }
14 14
15 @Override 15 @Override
16 public ConstantLiteral substitute(Map<Variable, Variable> substitution) { 16 public ConstantLiteral substitute(Substitution substitution) {
17 return new ConstantLiteral(DnfUtils.maybeSubstitute(variable, substitution), nodeId); 17 return new ConstantLiteral(substitution.getSubstitute(variable), nodeId);
18 }
19
20 @Override
21 public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) {
22 if (other.getClass() != getClass()) {
23 return false;
24 }
25 var otherConstantLiteral = (ConstantLiteral) other;
26 return helper.variableEqual(variable, otherConstantLiteral.variable) && nodeId == otherConstantLiteral.nodeId;
27 }
28
29 @Override
30 public String toString() {
31 return "%s === @Constant %d".formatted(variable, nodeId);
18 } 32 }
19} 33}