1#ifndef ROSE_BinaryAnalysis_AstHasher_H 
    2#define ROSE_BinaryAnalysis_AstHasher_H 
    3#include <featureTests.h> 
    4#ifdef ROSE_ENABLE_BINARY_ANALYSIS 
    6#include <Rose/BinaryAnalysis/Partitioner2/BasicTypes.h> 
    7#include <Combinatorics.h>                               
   12namespace BinaryAnalysis {
 
   20    bool hashingConstants_ = 
false;
 
   21    bool hashingAddresses_ = 
false;
 
   22    std::shared_ptr<Combinatorics::Hasher> hasher_;
 
   30    explicit AstHasher(
const std::shared_ptr<Combinatorics::Hasher>&);
 
   47    std::shared_ptr<Combinatorics::Hasher> 
hasher() 
const;
 
 
Compute the hash for an AST.
 
bool hashingConstants() const
Property: Whether to hash constants.
 
bool hashingAddresses() const
Property: Whether to hash addresses.
 
void hash(SgNode *)
Hash an AST.
 
void hash(const Partitioner2::BasicBlockPtr &bb)
Hash a basic block.
 
void hashingConstants(bool)
Property: Whether to hash constants.
 
std::shared_ptr< Combinatorics::Hasher > hasher() const
Property: The associated low-level hasher.
 
AstHasher(const std::shared_ptr< Combinatorics::Hasher > &)
Create a new AST hasher using the specified low-level hasher.
 
void hashingAddresses(bool)
Property: Whether to hash addresses.
 
This class represents the base class for all IR nodes within Sage III.