From 0aa7a71f06c66d282358ef4c9801bd25ec49d3e3 Mon Sep 17 00:00:00 2001 From: Joachim Klein Date: Mon, 17 Jul 2017 12:43:50 +0000 Subject: [PATCH] StateModelChecker.checkExpressionDD: cleanup Previously, this method used the implicit knowledge that only the stored JDDNode is cleared when clear() is called on a StateValuesMTBDD. Now, it performs a copy() on the JDDNode and calls clear() on the StateValues object. git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12043 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/prism/StateModelChecker.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/prism/src/prism/StateModelChecker.java b/prism/src/prism/StateModelChecker.java index b6cb8110..2374c6e7 100644 --- a/prism/src/prism/StateModelChecker.java +++ b/prism/src/prism/StateModelChecker.java @@ -310,7 +310,10 @@ public class StateModelChecker extends PrismComponent implements ModelChecker @Override public JDDNode checkExpressionDD(Expression expr, JDDNode statesOfInterest) throws PrismException { - return checkExpression(expr, statesOfInterest).convertToStateValuesMTBDD().getJDDNode(); + StateValuesMTBDD sv = checkExpression(expr, statesOfInterest).convertToStateValuesMTBDD(); + JDDNode result = sv.getJDDNode().copy(); + sv.clear(); + return result; } // -----------------------------------------------------------------------------------