libTriton version 1.0 build 1590
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
triton::engines::symbolic::PathManager Class Reference

The path manager class. More...

#include <pathManager.hpp>

Inheritance diagram for triton::engines::symbolic::PathManager:

Public Member Functions

TRITON_EXPORT PathManager (const triton::modes::SharedModes &modes, const triton::ast::SharedAstContext &astCtxt)
 Constructor.
 
TRITON_EXPORT PathManager (const PathManager &other)
 Constructor by copy.
 
TRITON_EXPORT PathManageroperator= (const PathManager &other)
 Copies a PathManager.
 
TRITON_EXPORT triton::usize getSizeOfPathConstraints (void) const
 Returns the size of the path constraints.
 
TRITON_EXPORT const std::vector< triton::engines::symbolic::PathConstraint > & getPathConstraints (void) const
 Returns the logical conjunction vector of path constraints.
 
TRITON_EXPORT std::vector< triton::engines::symbolic::PathConstraintgetPathConstraints (triton::usize start, triton::usize end) const
 Returns the logical conjunction vector of path constraints from a given range.
 
TRITON_EXPORT std::vector< triton::engines::symbolic::PathConstraintgetPathConstraintsOfThread (triton::uint32 threadId) const
 Returns the logical conjunction vector of path constraint of a given thread.
 
TRITON_EXPORT triton::ast::SharedAbstractNode getPathPredicate (void) const
 Returns the current path predicate as an AST of logical conjunction of each taken branch.
 
TRITON_EXPORT std::vector< triton::ast::SharedAbstractNodegetPredicatesToReachAddress (triton::uint64 addr) const
 Returns path predicates which may reach the targeted address.
 
TRITON_EXPORT void pushPathConstraint (const triton::arch::Instruction &inst, const triton::engines::symbolic::SharedSymbolicExpression &expr)
 Pushs constraints of a branch instruction to the path predicate.
 
TRITON_EXPORT void pushPathConstraint (const triton::ast::SharedAbstractNode &node, const std::string &comment="")
 Pushes constraint created from node to the current path predicate.
 
TRITON_EXPORT void pushPathConstraint (const triton::engines::symbolic::PathConstraint &pco)
 Pushes constraint to the current path predicate.
 
TRITON_EXPORT void popPathConstraint (void)
 Pops the last constraints added to the path predicate.
 
TRITON_EXPORT void clearPathConstraints (void)
 Clears the current path predicate.
 

Protected Attributes

std::vector< triton::engines::symbolic::PathConstraintpathConstraints
 The logical conjunction vector of path constraints.
 

Detailed Description

The path manager class.

Definition at line 47 of file pathManager.hpp.

Constructor & Destructor Documentation

◆ PathManager() [1/2]

triton::engines::symbolic::PathManager::PathManager ( const triton::modes::SharedModes modes,
const triton::ast::SharedAstContext astCtxt 
)

Constructor.

Definition at line 19 of file pathManager.cpp.

◆ PathManager() [2/2]

triton::engines::symbolic::PathManager::PathManager ( const PathManager other)

Constructor by copy.

Definition at line 24 of file pathManager.cpp.

Member Function Documentation

◆ clearPathConstraints()

void triton::engines::symbolic::PathManager::clearPathConstraints ( void  )

Clears the current path predicate.

Definition at line 271 of file pathManager.cpp.

◆ getPathConstraints() [1/2]

std::vector< triton::engines::symbolic::PathConstraint > triton::engines::symbolic::PathManager::getPathConstraints ( triton::usize  start,
triton::usize  end 
) const

Returns the logical conjunction vector of path constraints from a given range.

Definition at line 64 of file pathManager.cpp.

◆ getPathConstraints() [2/2]

const std::vector< triton::engines::symbolic::PathConstraint > & triton::engines::symbolic::PathManager::getPathConstraints ( void  ) const

Returns the logical conjunction vector of path constraints.

Definition at line 44 of file pathManager.cpp.

◆ getPathConstraintsOfThread()

std::vector< triton::engines::symbolic::PathConstraint > triton::engines::symbolic::PathManager::getPathConstraintsOfThread ( triton::uint32  threadId) const

Returns the logical conjunction vector of path constraint of a given thread.

Definition at line 50 of file pathManager.cpp.

◆ getPathPredicate()

triton::ast::SharedAbstractNode triton::engines::symbolic::PathManager::getPathPredicate ( void  ) const

Returns the current path predicate as an AST of logical conjunction of each taken branch.

Definition at line 88 of file pathManager.cpp.

◆ getPredicatesToReachAddress()

std::vector< triton::ast::SharedAbstractNode > triton::engines::symbolic::PathManager::getPredicatesToReachAddress ( triton::uint64  addr) const

Returns path predicates which may reach the targeted address.

Definition at line 107 of file pathManager.cpp.

◆ getSizeOfPathConstraints()

triton::usize triton::engines::symbolic::PathManager::getSizeOfPathConstraints ( void  ) const

Returns the size of the path constraints.

Definition at line 38 of file pathManager.cpp.

◆ operator=()

PathManager & triton::engines::symbolic::PathManager::operator= ( const PathManager other)

Copies a PathManager.

Definition at line 30 of file pathManager.cpp.

◆ popPathConstraint()

void triton::engines::symbolic::PathManager::popPathConstraint ( void  )

Pops the last constraints added to the path predicate.

Definition at line 264 of file pathManager.cpp.

◆ pushPathConstraint() [1/3]

void triton::engines::symbolic::PathManager::pushPathConstraint ( const triton::arch::Instruction inst,
const triton::engines::symbolic::SharedSymbolicExpression expr 
)

Pushs constraints of a branch instruction to the path predicate.

Definition at line 155 of file pathManager.cpp.

◆ pushPathConstraint() [2/3]

void triton::engines::symbolic::PathManager::pushPathConstraint ( const triton::ast::SharedAbstractNode node,
const std::string &  comment = "" 
)

Pushes constraint created from node to the current path predicate.

Definition at line 234 of file pathManager.cpp.

◆ pushPathConstraint() [3/3]

void triton::engines::symbolic::PathManager::pushPathConstraint ( const triton::engines::symbolic::PathConstraint pco)

Pushes constraint to the current path predicate.

Definition at line 258 of file pathManager.cpp.

Member Data Documentation

◆ pathConstraints

std::vector<triton::engines::symbolic::PathConstraint> triton::engines::symbolic::PathManager::pathConstraints
protected

The logical conjunction vector of path constraints.

Definition at line 57 of file pathManager.hpp.


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