ROSE  0.11.66.0
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
LibraryIdentification::FunctionInfo Class Reference

Description

class FunctionInfo Combines all the information to uniquely identify a single function in one object.

Definition at line 24 of file FunctionInfo.h.

#include <FunctionInfo.h>

Collaboration diagram for LibraryIdentification::FunctionInfo:
Collaboration graph
[legend]

Public Member Functions

 FunctionInfo (const std::string &ifuncName, const std::string &ifuncHash, const std::string &ilibHash)
 FunctionInfo. More...
 
 FunctionInfo (const Rose::BinaryAnalysis::Partitioner2::Partitioner &partitioner, Rose::BinaryAnalysis::Partitioner2::Function::Ptr function, const std::string &ilibHash)
 FunctionInfo. More...
 
 FunctionInfo (const Rose::BinaryAnalysis::Partitioner2::Partitioner &partitioner, Rose::BinaryAnalysis::Partitioner2::Function::Ptr function)
 FunctionInfo. More...
 
 FunctionInfo (const Rose::BinaryAnalysis::Partitioner2::Partitioner &partitioner, Rose::BinaryAnalysis::Partitioner2::Function::Ptr function, LibraryInfo &libInfo)
 FunctionInfo. More...
 
 FunctionInfo (const std::string &ifuncHash)
 FunctionInfo. More...
 
 FunctionInfo (const std::string &ifuncHash, Rose::BinaryAnalysis::Partitioner2::Function::Ptr function)
 FunctionInfo. More...
 
bool operator== (const FunctionInfo &rhs)
 

Static Public Member Functions

static std::string getHash (const Rose::BinaryAnalysis::Partitioner2::Partitioner &partitioner, Rose::BinaryAnalysis::Partitioner2::Function::Ptr function)
 

Public Attributes

std::string funcName
 
std::string funcHash
 
std::string libHash
 
Rose::BinaryAnalysis::Partitioner2::Function::Ptr binaryFunction
 

Friends

bool operator< (const FunctionInfo &lhs, const FunctionInfo &rhs)
 

Constructor & Destructor Documentation

LibraryIdentification::FunctionInfo::FunctionInfo ( const std::string &  ifuncName,
const std::string &  ifuncHash,
const std::string &  ilibHash 
)
inline

FunctionInfo.

Constructor. Combines all the information required to identify a function. This constructor allows the user to define everything.

Parameters
[in]funcNameName of the function to add
[in]funcHashUnique Hash of the function to add (Please use Fowler-Noll-Vo HasherFnv class in Combinatorics.h)
[in]libHashUnique Hash of the library this function belongs to. The Library should already be in the database.

Definition at line 40 of file FunctionInfo.h.

LibraryIdentification::FunctionInfo::FunctionInfo ( const Rose::BinaryAnalysis::Partitioner2::Partitioner partitioner,
Rose::BinaryAnalysis::Partitioner2::Function::Ptr  function,
const std::string &  ilibHash 
)
inline

FunctionInfo.

Constructor. Combines all the information required to identify a function. This constructor constructs the hash from the SgAsmFunction node. Note that currently on FNV hasher is used. This should be an option.

Parameters
[in]partitionerRequired to get the basic blocks of the function
[in]functionBinary AST Function Node
[in]libHashUnique Hash of the library this function belongs to. The Library should already be in the database.

Definition at line 59 of file FunctionInfo.h.

LibraryIdentification::FunctionInfo::FunctionInfo ( const Rose::BinaryAnalysis::Partitioner2::Partitioner partitioner,
Rose::BinaryAnalysis::Partitioner2::Function::Ptr  function 
)
inline

FunctionInfo.

Constructor. Combines all the information required to identify a function. This constructor constructs the hash from the SgAsmFunction node. Note that currently on FNV hasher is used. This should be an option.

Parameters
[in]partitionerRequired to get the basic blocks of the function
[in]functionBinary AST Function Node

Definition at line 80 of file FunctionInfo.h.

LibraryIdentification::FunctionInfo::FunctionInfo ( const Rose::BinaryAnalysis::Partitioner2::Partitioner partitioner,
Rose::BinaryAnalysis::Partitioner2::Function::Ptr  function,
LibraryInfo libInfo 
)
inline

FunctionInfo.

Constructor. Combines all the information required to identify a function. This constructor constructs the hash from the SgAsmFunction node. Note that currently on FNV hasher is used. This should be an option.

Parameters
[in]partitionerRequired to get the basic blocks of the function
[in]functionBinary AST Function Node
[in]libInfoLibraryInfo that should be in the database

Definition at line 101 of file FunctionInfo.h.

LibraryIdentification::FunctionInfo::FunctionInfo ( const std::string &  ifuncHash)
inline

FunctionInfo.

Constructor. Only takes the hash. (Never used? Nomrmally there is a binaryFunction availible as well.) Rest to be filled in from matching in the database.

Parameters
[in]funcHashUnique Hash of the function

Definition at line 116 of file FunctionInfo.h.

LibraryIdentification::FunctionInfo::FunctionInfo ( const std::string &  ifuncHash,
Rose::BinaryAnalysis::Partitioner2::Function::Ptr  function 
)
inline

FunctionInfo.

Constructor. Only takes the hash and the binaryFunction. Rest to be filled in from matching in the database.

Parameters
[in]funcHashUnique Hash of the function to add (Please use Fowler-Noll-Vo HasherFnv class in Combinatorics.h)
[in]binaryFunctionfrom the partitioner

Definition at line 129 of file FunctionInfo.h.


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