diff options
Diffstat (limited to 'org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java')
-rw-r--r-- | org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java b/org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java index 0907ce5..ad932ac 100644 --- a/org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java +++ b/org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java @@ -11,6 +11,7 @@ package org.eclipse.cdt.codan.extension; import java.util.Collections; +import java.util.HashSet; import java.util.Set; public class SymbolicState { @@ -37,4 +38,24 @@ public class SymbolicState { public void setPropertyStates(Set<PropertyState> ps) { propertyStates = ps; } + + public SymbolicState copy() { + Set<PropertyState> ps = new HashSet<PropertyState>(propertyStates); + ExecutionState es = new ExecutionState(); + for (ExecutionStateClause cl : executionState.getClauses()) { + es.addClause(cl); + } + return new SymbolicState(ps, es); + } + + @Override + public String toString() { + StringBuffer buf = new StringBuffer(); + buf.append("["); + buf.append(propertyStates); + buf.append(", "); + buf.append(executionState); + buf.append("]"); + return buf.toString(); + } } |