diff options
Diffstat (limited to 'subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfBuilder.java')
-rw-r--r-- | subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfBuilder.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfBuilder.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfBuilder.java index dcf7611d..8e38ca6b 100644 --- a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfBuilder.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfBuilder.java | |||
@@ -223,7 +223,8 @@ public final class DnfBuilder { | |||
223 | } else if (result instanceof ClausePostProcessor.ConstantResult constantResult) { | 223 | } else if (result instanceof ClausePostProcessor.ConstantResult constantResult) { |
224 | switch (constantResult) { | 224 | switch (constantResult) { |
225 | case ALWAYS_TRUE -> { | 225 | case ALWAYS_TRUE -> { |
226 | return List.of(new DnfClause(Set.of(), List.of())); | 226 | var inputVariables = getInputVariables(); |
227 | return List.of(new DnfClause(inputVariables, List.of())); | ||
227 | } | 228 | } |
228 | case ALWAYS_FALSE -> { | 229 | case ALWAYS_FALSE -> { |
229 | // Skip this clause because it can never match. | 230 | // Skip this clause because it can never match. |
@@ -248,4 +249,14 @@ public final class DnfBuilder { | |||
248 | } | 249 | } |
249 | return Collections.unmodifiableMap(mutableParameterInfoMap); | 250 | return Collections.unmodifiableMap(mutableParameterInfoMap); |
250 | } | 251 | } |
252 | |||
253 | private Set<Variable> getInputVariables() { | ||
254 | var inputParameters = new LinkedHashSet<Variable>(); | ||
255 | for (var parameter : parameters) { | ||
256 | if (parameter.getDirection() == ParameterDirection.IN) { | ||
257 | inputParameters.add(parameter.getVariable()); | ||
258 | } | ||
259 | } | ||
260 | return Collections.unmodifiableSet(inputParameters); | ||
261 | } | ||
251 | } | 262 | } |