X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=nodestack.cc;h=f46e4b75571fd03b414760413bc68beff897f16f;hb=dd34ddf490dd97c2c202092c8fa44064a07f8c4f;hp=2fa87841f893ea6aace1a1acd055b20e34958b47;hpb=73ba97016012e678ba1ad7d45970265470501b61;p=model-checker.git diff --git a/nodestack.cc b/nodestack.cc index 2fa8784..f46e4b7 100644 --- a/nodestack.cc +++ b/nodestack.cc @@ -726,6 +726,27 @@ bool Node::relseq_break_empty() const /******************* end breaking release sequences ***************************/ +/** + * Increments some behavior's index, if a new behavior is available + * @return True if there is a new behavior available; otherwise false + */ +bool Node::increment_behaviors() +{ + /* satisfy a different misc_index values */ + if (increment_misc()) + return true; + /* satisfy a different set of promises */ + if (increment_promise()) + return true; + /* read from a different value */ + if (increment_read_from()) + return true; + /* resolve a release sequence differently */ + if (increment_relseq_break()) + return true; + return false; +} + NodeStack::NodeStack() : node_list(), head_idx(-1),