ROSE 0.11.145.147
|
Compute the hash for an AST.
The user supplies a low-level hasher when this object is created, then hashes an AST, basic block, or any other supported object, then obtains the hash from the low-level hasher. The specifics of how various data structures are recursively hashed is controlled by properties of this object.
Definition at line 19 of file AstHasher.h.
#include <Rose/BinaryAnalysis/AstHasher.h>
Public Member Functions | |
AstHasher & | operator= (const AstHasher &)=delete |
AstHasher (const std::shared_ptr< Combinatorics::Hasher > &) | |
Create a new AST hasher using the specified low-level hasher. | |
std::shared_ptr< Combinatorics::Hasher > | hasher () const |
Property: The associated low-level hasher. | |
void | hash (SgNode *) |
Hash an AST. | |
void | hash (const Partitioner2::BasicBlockPtr &bb) |
Hash a basic block. | |
bool | hashingConstants () const |
Property: Whether to hash constants. | |
void | hashingConstants (bool) |
Property: Whether to hash constants. | |
bool | hashingAddresses () const |
Property: Whether to hash addresses. | |
void | hashingAddresses (bool) |
Property: Whether to hash addresses. | |
void Rose::BinaryAnalysis::AstHasher::hash | ( | SgNode * | ) |
void Rose::BinaryAnalysis::AstHasher::hash | ( | const Partitioner2::BasicBlockPtr & | bb | ) |
Hash a basic block.
Add the specified basic block (recursively) to the associated low-level hasher.