libTriton  version 0.7 build 1407
Public Member Functions | Protected Attributes | List of all members
triton::engines::symbolic::PathConstraint Class Reference

The path constraint class. More...

#include <pathConstraint.hpp>

Public Member Functions

TRITON_EXPORT PathConstraint ()
TRITON_EXPORT PathConstraint (const PathConstraint &other)
 Constructor by copy.
TRITON_EXPORT PathConstraintoperator= (const PathConstraint &other)
TRITON_EXPORT void addBranchConstraint (bool taken, triton::uint64 srdAddr, triton::uint64 dstAddr, const triton::ast::SharedAbstractNode &pc)
 Adds a branch to the path constraint.
TRITON_EXPORT const std::vector< std::tuple< bool, triton::uint64, triton::uint64, triton::ast::SharedAbstractNode > > & getBranchConstraints (void) const
 Returns the branch constraints.
TRITON_EXPORT triton::uint64 getTakenAddress (void) const
 Returns the address of the taken branch.
TRITON_EXPORT triton::ast::SharedAbstractNode getTakenPathConstraintAst (void) const
 Returns the path constraint AST of the taken branch.
TRITON_EXPORT bool isMultipleBranches (void) const
 Returns true if it is not a direct jump.

Protected Attributes

std::vector< std::tuple< bool, triton::uint64, triton::uint64, triton::ast::SharedAbstractNode > > branches
 The branches constraints. More...

Detailed Description

The path constraint class.

Definition at line 45 of file pathConstraint.hpp.

Member Data Documentation

◆ branches

std::vector<std::tuple<bool, triton::uint64, triton::uint64, triton::ast::SharedAbstractNode> > triton::engines::symbolic::PathConstraint::branches

The branches constraints.

Vector of <flag, source addr, dst addr, pc>, flag is set to true if the branch is taken according the pc. The source address is the location of the branch instruction and the destination address is the destination of the jump. E.g: "0x11223344: jne 0x55667788", 0x11223344 is the source address and 0x55667788 is the destination if and only if the branch is taken, otherwise the destination is the next instruction address.

Definition at line 54 of file pathConstraint.hpp.

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