14 #include <boost/foreach.hpp>
15 #include "filteredCFG.h"
16 #include <boost/unordered_map.hpp>
34 std::vector<SgInitializedName*>
key;
53 key.push_back(thisNode);
66 key.assign(prefix.begin(),prefix.end());
67 key.push_back(thisNode);
76 key.assign(other.
key.begin(), other.
key.end());
89 std::vector<SgInitializedName*>&
getKey() {
return key; }
95 void setKey(
const std::vector<SgInitializedName*>& newKey) {
key.assign(newKey.begin(),newKey.end()); }
106 std::string
name =
"";
107 std::vector<SgInitializedName*>::iterator iter;
110 for(iter =
key.begin(); iter !=
key.end(); ++iter)
112 if(iter !=
key.begin())
116 name += (*iter)->get_name().getString();
135 SgNode *node = cfgn.getNode();
155 if (!cfgn.isInteresting())
178 return cfgn.getIndex() == 1;
208 typedef std::vector<SgInitializedName*>
VarName;
224 typedef FilteredCFGNode<IsDefUseFilter>
cfgNode;
227 typedef FilteredCFGEdge<IsDefUseFilter>
cfgEdge;
453 void toDOT(
const std::string fileName);
606 BOOST_FOREACH(NodeVec::value_type& val, vec)
608 temp =
dynamic_cast<T*
>(val);
864 refs.push_back(thisNode);
874 refs.assign(subtree.begin(), subtree.end());
875 refs.push_back(thisNode);
884 refs.assign(subtree.begin(), subtree.end());
897 void setRefs(
const std::vector<SgNode*>& newRefs) {
refs.assign(newRefs.begin(), newRefs.end()); }
948 uses.push_back(useNode);
958 if (useTree.size() > 0)
959 uses.assign(useTree.begin(), useTree.end());
976 void setUses(
const std::vector<SgNode*>& newUses)
978 uses.assign(newUses.begin(), newUses.end());