libTriton version 1.0 build 1590
Loading...
Searching...
No Matches
Public Member Functions | List of all members
triton::ast::StoreNode Class Reference

(store array index expr) More...

#include <ast.hpp>

Inheritance diagram for triton::ast::StoreNode:

Public Member Functions

TRITON_EXPORT StoreNode (const SharedAbstractNode &array, triton::usize index, const SharedAbstractNode &expr)
 
TRITON_EXPORT StoreNode (const SharedAbstractNode &array, const SharedAbstractNode &index, const SharedAbstractNode &expr)
 
TRITON_EXPORT void init (bool withParents=false)
 Init properties of the node. If withParents is true, init also properties of parents.
 
TRITON_EXPORT triton::uint8 select (triton::uint64 addr) const
 Select a concrete value into the memory array.
 
TRITON_EXPORT triton::uint8 select (const triton::uint512 &addr) const
 Select a concrete value into the memory array.
 
TRITON_EXPORT triton::uint8 select (const SharedAbstractNode &node) const
 Select a concrete value into the memory array.
 
TRITON_EXPORT std::unordered_map< triton::uint64, triton::uint8 > & getMemory (void)
 Gets the concrete memory array.
 
TRITON_EXPORT triton::uint32 getIndexSize (void) const
 Gets the index size.
 
- Public Member Functions inherited from triton::ast::AbstractNode
TRITON_EXPORT AbstractNode (triton::ast::ast_e type, const SharedAstContext &ctxt)
 Constructor.
 
virtual TRITON_EXPORT ~AbstractNode ()
 Destructor.
 
TRITON_EXPORT SharedAstContext getContext (void) const
 Access to its context.
 
TRITON_EXPORT triton::ast::ast_e getType (void) const
 Returns the type of the node.
 
TRITON_EXPORT triton::uint32 getBitvectorSize (void) const
 Returns the size of the node.
 
TRITON_EXPORT triton::uint512 getBitvectorMask (void) const
 Returns the vector mask according the size of the node.
 
TRITON_EXPORT bool isArray (void) const
 Returns true if it's an array node.
 
TRITON_EXPORT bool isSigned (void) const
 According to the size of the expression, returns true if the MSB is 1.
 
TRITON_EXPORT bool isSymbolized (void) const
 Returns true if the tree contains a symbolic variable.
 
TRITON_EXPORT bool isLogical (void) const
 Returns true if it's a logical node.
 
TRITON_EXPORT bool hasSameConcreteValueAndTypeAs (const SharedAbstractNode &other) const
 Returns true if the node's concrete value and value type match those of the second one.
 
TRITON_EXPORT bool canReplaceNodeWithoutUpdate (const SharedAbstractNode &other) const
 Returns true if the node's value, value type and properties match those of the second one.
 
TRITON_EXPORT bool equalTo (const SharedAbstractNode &other) const
 Returns true if the current tree is equal to the second one.
 
TRITON_EXPORT triton::uint32 getLevel (void) const
 Returns the deep level of the tree.
 
TRITON_EXPORT triton::uint512 getHash (void) const
 Returns the hash of the tree.
 
TRITON_EXPORT triton::uint512 evaluate (void) const
 Evaluates the tree.
 
void initParents (void)
 Initializes parents.
 
TRITON_EXPORT std::vector< SharedAbstractNode > & getChildren (void)
 Returns the children of the node.
 
TRITON_EXPORT std::vector< SharedAbstractNodegetParents (void)
 Returns the parents of node or an empty set if there is still no parent defined.
 
TRITON_EXPORT void removeParent (AbstractNode *p)
 Removes a parent node.
 
TRITON_EXPORT void setParent (AbstractNode *p)
 Sets a parent node.
 
TRITON_EXPORT void setParent (std::unordered_set< AbstractNode * > &p)
 Sets the parent nodes.
 
TRITON_EXPORT void setBitvectorSize (triton::uint32 size)
 Sets the size of the node.
 
TRITON_EXPORT void addChild (const SharedAbstractNode &child)
 Adds a child.
 
TRITON_EXPORT void setChild (triton::uint32 index, const SharedAbstractNode &child)
 Sets a child at an index.
 
TRITON_EXPORT std::string str (void) const
 Returns the string representation of the node.
 

Additional Inherited Members

- Protected Attributes inherited from triton::ast::AbstractNode
triton::uint32 level
 Deep level for computing hash.
 
triton::ast::ast_e type
 The type of the node.
 
std::vector< SharedAbstractNodechildren
 The children of the node.
 
std::unordered_map< AbstractNode *, std::pair< triton::uint32, WeakAbstractNode > > parents
 
triton::uint32 size
 The size of the node.
 
triton::uint512 eval
 The value of the tree from this root node.
 
triton::uint512 hash
 The hash of the tree.
 
bool symbolized
 True if the tree contains a symbolic variable.
 
bool logical
 True if it's a logical node.
 
bool array
 True if it's an array node.
 
SharedAstContext ctxt
 Contect use to create this node.
 

Detailed Description

(store array index expr)

Definition at line 816 of file ast.hpp.

Constructor & Destructor Documentation

◆ StoreNode() [1/2]

triton::ast::StoreNode::StoreNode ( const SharedAbstractNode array,
triton::usize  index,
const SharedAbstractNode expr 
)

Definition at line 3121 of file ast.cpp.

◆ StoreNode() [2/2]

triton::ast::StoreNode::StoreNode ( const SharedAbstractNode array,
const SharedAbstractNode index,
const SharedAbstractNode expr 
)

Definition at line 3128 of file ast.cpp.

Member Function Documentation

◆ getIndexSize()

triton::uint32 triton::ast::StoreNode::getIndexSize ( void  ) const

Gets the index size.

Definition at line 3224 of file ast.cpp.

◆ getMemory()

std::unordered_map< triton::uint64, triton::uint8 > & triton::ast::StoreNode::getMemory ( void  )

Gets the concrete memory array.

Definition at line 3219 of file ast.cpp.

◆ init()

void triton::ast::StoreNode::init ( bool  withParents = false)
virtual

Init properties of the node. If withParents is true, init also properties of parents.

Implements triton::ast::AbstractNode.

Definition at line 3135 of file ast.cpp.

◆ select() [1/3]

triton::uint8 triton::ast::StoreNode::select ( const SharedAbstractNode node) const

Select a concrete value into the memory array.

Definition at line 3214 of file ast.cpp.

◆ select() [2/3]

triton::uint8 triton::ast::StoreNode::select ( const triton::uint512 addr) const

Select a concrete value into the memory array.

Definition at line 3209 of file ast.cpp.

◆ select() [3/3]

triton::uint8 triton::ast::StoreNode::select ( triton::uint64  addr) const

Select a concrete value into the memory array.

Definition at line 3201 of file ast.cpp.


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