Skip to content

Commit c636685

Browse files
committed
bugfix: do not generate redundant true annotations
1 parent e0a46ec commit c636685

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

src/main/java/org/variantsync/vevos/simulation/variability/pc/variantlines/VariantAnnotation.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import org.prop4j.Node;
44
import org.variantsync.vevos.simulation.util.fide.FormulaUtils;
5+
import org.variantsync.vevos.simulation.util.fide.bugfix.FixTrueFalse;
56
import org.variantsync.vevos.simulation.variability.pc.options.VariantGenerationOptions;
67

78
import java.util.ArrayList;
@@ -15,18 +16,24 @@ public record VariantAnnotation(
1516
public List<String> project(final VariantGenerationOptions projectionOptions, final List<String> splFileLines) {
1617
final List<String> result = new ArrayList<>();
1718

18-
if (projectionOptions.withMacros()) {
19+
final boolean genMacro = projectionOptions.withMacros() && !isTrue();
20+
21+
if (genMacro) {
1922
result.add("#if " + FormulaUtils.toCPPString(condition));
2023
}
2124

2225
for (final VariantLineChunk child : lines) {
2326
result.addAll(child.project(projectionOptions, splFileLines));
2427
}
2528

26-
if (projectionOptions.withMacros()) {
29+
if (genMacro) {
2730
result.add("#endif");
2831
}
2932

3033
return result;
3134
}
35+
36+
public boolean isTrue() {
37+
return FixTrueFalse.isTrue(condition);
38+
}
3239
}

0 commit comments

Comments
 (0)