1 #ifndef ROSE_BinaryAnalysis_AstHash_H
2 #define ROSE_BinaryAnalysis_AstHash_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
7 #include <Partitioner2/BasicBlock.h>
8 #include "Combinatorics.h"
35 AstHash(boost::shared_ptr<Rose::Combinatorics::Hasher> in_hasher,
bool includeConstants =
false,
bool includeAddresses =
false) :
36 hasher_(in_hasher), includeConstants(includeConstants), includeAddresses(includeAddresses){}
45 const boost::shared_ptr<Rose::Combinatorics::Hasher> hasher()
const {
return hasher_; };
50 boost::shared_ptr<Rose::Combinatorics::Hasher> hasher_;
55 bool includeConstants;
59 bool includeAddresses;
Class for traversing the AST.
Main namespace for the ROSE library.
void visit(SgNode *n)
this method is called at every traversed node.
This class represents the base class for all IR nodes within Sage III.
A simple traversal that builds up a hash code for the AST.