ROSE 0.11.145.147
Public Member Functions | List of all members
Rose::BinaryAnalysis::AstHasher Class Reference

Description

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

AstHasheroperator= (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::Hasherhasher () 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.
 

Member Function Documentation

◆ hash() [1/2]

void Rose::BinaryAnalysis::AstHasher::hash ( SgNode )

Hash an AST.

Add the specified AST (recursively) to the associated low-level hasher.

◆ hash() [2/2]

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.


The documentation for this class was generated from the following file: