libTriton  version 0.6 build 1382
Public Member Functions | Public Attributes | Protected Attributes | List of all members
triton::engines::symbolic::SymbolicExpression Class Reference

The symbolic expression class. More...

#include <symbolicExpression.hpp>

Public Member Functions

TRITON_EXPORT SymbolicExpression (const triton::ast::SharedAbstractNode &node, triton::usize id, symkind_e kind, const std::string &comment="")
 Constructor.
 
TRITON_EXPORT SymbolicExpression (const SymbolicExpression &other)
 Constructor by copy.
 
TRITON_EXPORT SymbolicExpressionoperator= (const SymbolicExpression &other)
 Operator.
 
TRITON_EXPORT triton::usize getId (void) const
 Returns the symbolic expression id.
 
TRITON_EXPORT bool isMemory (void) const
 Returns true if the symbolic expression is assigned to a memory. More...
 
TRITON_EXPORT bool isRegister (void) const
 Returns true if the symbolic expression is assigned to a register. More...
 
TRITON_EXPORT bool isSymbolized (void) const
 Returns true if the expression contains a symbolic variable.
 
TRITON_EXPORT symkind_e getKind (void) const
 Returns the kind of the symbolic expression.
 
TRITON_EXPORT const triton::ast::SharedAbstractNodegetAst (void) const
 Returns the SMT AST root node of the symbolic expression. This is the semantics.
 
TRITON_EXPORT triton::ast::SharedAbstractNode getNewAst (void) const
 Returns a new SMT AST root node of the symbolic expression. This new instance is a duplicate of the original node and may be changed without changing the original semantics.
 
TRITON_EXPORT const std::string & getComment (void) const
 Returns the comment of the symbolic expression.
 
TRITON_EXPORT std::string getFormattedId (void) const
 Returns the id as string of the symbolic expression according the mode of the AST representation.
 
TRITON_EXPORT std::string getFormattedComment (void) const
 Returns the comment as string of the symbolic expression according the mode of the AST representation.
 
TRITON_EXPORT const triton::arch::MemoryAccessgetOriginMemory (void) const
 Returns the origin memory access if kind is equal to triton::engines::symbolic::MEM, invalid memory otherwise.
 
TRITON_EXPORT const triton::arch::RegistergetOriginRegister (void) const
 Returns the origin register if kind is equal to triton::engines::symbolic::REG, REG_INVALID otherwise.
 
TRITON_EXPORT void setAst (const triton::ast::SharedAbstractNode &node)
 Sets a root node.
 
TRITON_EXPORT void setComment (const std::string &comment)
 Sets a comment to the symbolic expression.
 
TRITON_EXPORT void setKind (symkind_e k)
 Sets the kind of the symbolic expression.
 
TRITON_EXPORT void setOriginMemory (const triton::arch::MemoryAccess &mem)
 Sets the origin memory acccess.
 
TRITON_EXPORT void setOriginRegister (const triton::arch::Register &reg)
 Sets the origin register.
 

Public Attributes

bool isTainted
 True if the symbolic expression is tainted.
 

Protected Attributes

symkind_e kind
 The kind of the symbolic expression.
 
triton::ast::SharedAbstractNode ast
 The root node (AST) of the symbolic expression.
 
std::string comment
 The comment of the symbolic expression.
 
triton::usize id
 The symbolic expression id. This id is unique.
 
triton::arch::MemoryAccess originMemory
 The origin memory address if kind is equal to triton::engines::symbolic::MEM, invalid memory otherwise.
 
triton::arch::Register originRegister
 The origin register if kind is equal to triton::engines::symbolic::REG, REG_INVALID otherwise.
 

Detailed Description

The symbolic expression class.

Definition at line 48 of file symbolicExpression.hpp.

Member Function Documentation

◆ isMemory()

bool triton::engines::symbolic::SymbolicExpression::isMemory ( void  ) const

Returns true if the symbolic expression is assigned to a memory.

See also
triton::engines::symbolic::symkind_e

Definition at line 163 of file symbolicExpression.cpp.

◆ isRegister()

bool triton::engines::symbolic::SymbolicExpression::isRegister ( void  ) const

Returns true if the symbolic expression is assigned to a register.

See also
triton::engines::symbolic::symkind_e

Definition at line 158 of file symbolicExpression.cpp.


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