diff options
author | Elliott Baron <ebaron@fedoraproject.org> | 2009-10-12 20:37:13 -0400 |
---|---|---|
committer | Elliott Baron <ebaron@fedoraproject.org> | 2009-10-12 20:37:13 -0400 |
commit | 306422deda74c5a120771f42e70422f77efcd640 (patch) | |
tree | 6ad062db01d908c314d8824b3afeb8567c4c68da /org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java | |
parent | 18360ea0c9cd1fce259ba7cf6824b48736334c4f (diff) | |
download | codan-306422deda74c5a120771f42e70422f77efcd640.tar.gz codan-306422deda74c5a120771f42e70422f77efcd640.tar.xz codan-306422deda74c5a120771f42e70422f77efcd640.zip |
Transition for branching complete; execution state made of CNF clauses of variable assignments & branch conditions; errors reported.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ExecutionState.java: Use Clause class.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/ExecutionStateClause.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/PropertyState.java: Take optional name arg.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/SymbolicState.java: New copy method.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/VariableAssignmentVisitor.java: New file.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/CloseOpenedFilesChecker.java: See commit message.
* org.eclipse.cdt.codan.extension/src/org/eclipse/cdt/codan/extension/checkers/FunctionNameParser.java: Use IASTNode.
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(); + } } |