diff --git a/prism/src/prism/LTLModelChecker.java b/prism/src/prism/LTLModelChecker.java index 80be039a..239ccf88 100644 --- a/prism/src/prism/LTLModelChecker.java +++ b/prism/src/prism/LTLModelChecker.java @@ -446,13 +446,11 @@ public class LTLModelChecker extends PrismComponent // Create/populate new lists newVarDDRowVars = new JDDVars[varDDRowVars.length + 1]; newVarDDColVars = new JDDVars[varDDRowVars.length + 1]; - newVarDDRowVars[before ? 0 : varDDRowVars.length] = daDDRowVars; - newVarDDColVars[before ? 0 : varDDColVars.length] = daDDColVars; + newVarDDRowVars[before ? 0 : varDDRowVars.length] = daDDRowVars.copy(); + newVarDDColVars[before ? 0 : varDDColVars.length] = daDDColVars.copy(); for (i = 0; i < varDDRowVars.length; i++) { - newVarDDRowVars[before ? i + 1 : i] = new JDDVars(); - newVarDDColVars[before ? i + 1 : i] = new JDDVars(); - newVarDDRowVars[before ? i + 1 : i].addVars(varDDRowVars[i]); - newVarDDColVars[before ? i + 1 : i].addVars(varDDColVars[i]); + newVarDDRowVars[before ? i + 1 : i] = varDDRowVars[i].copy(); + newVarDDColVars[before ? i + 1 : i] = varDDColVars[i].copy(); } newAllDDRowVars = new JDDVars(); newAllDDColVars = new JDDVars(); @@ -474,8 +472,6 @@ public class LTLModelChecker extends PrismComponent // Extra references (because will get derefed when new model is done with) allDDRowVars.refAll(); - allDDRowVars.refAll(); - allDDColVars.refAll(); allDDColVars.refAll(); for (i = 0; i < model.getNumModules(); i++) { model.getModuleDDRowVars(i).refAll(); @@ -483,8 +479,6 @@ public class LTLModelChecker extends PrismComponent } daDDRowVars.refAll(); daDDColVars.refAll(); - daDDRowVars.refAll(); - daDDColVars.refAll(); model.getAllDDSchedVars().refAll(); model.getAllDDSynchVars().refAll(); model.getAllDDChoiceVars().refAll();