summaryrefslogtreecommitdiffstats
path: root/org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java
diff options
context:
space:
mode:
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.java21
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();
+ }
}