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

(Array (_ BitVec indexSize) (_ BitVec 8)) node More...

#include <ast.hpp>

Inheritance diagram for triton::ast::ArrayNode:

Public Member Functions

TRITON_EXPORT ArrayNode (triton::uint32 indexSize, const SharedAstContext &ctxt)
 
TRITON_EXPORT void init (bool withParents=false)
 Init properties of the node. If withParents is true, init also properties of parents.
 
TRITON_EXPORT void store (triton::uint64 addr, triton::uint8 value)
 Stores a concrete value into the memory array.
 
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

(Array (_ BitVec indexSize) (_ BitVec 8)) node

Definition at line 193 of file ast.hpp.

Constructor & Destructor Documentation

◆ ArrayNode()

triton::ast::ArrayNode::ArrayNode ( triton::uint32  indexSize,
const SharedAstContext ctxt 
)

Definition at line 290 of file ast.cpp.

Member Function Documentation

◆ getIndexSize()

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

Gets the index size.

Definition at line 360 of file ast.cpp.

◆ getMemory()

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

Gets the concrete memory array.

Definition at line 355 of file ast.cpp.

◆ init()

void triton::ast::ArrayNode::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 296 of file ast.cpp.

◆ select() [1/3]

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

Select a concrete value into the memory array.

Definition at line 350 of file ast.cpp.

◆ select() [2/3]

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

Select a concrete value into the memory array.

Definition at line 345 of file ast.cpp.

◆ select() [3/3]

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

Select a concrete value into the memory array.

Definition at line 337 of file ast.cpp.

◆ store()

void triton::ast::ArrayNode::store ( triton::uint64  addr,
triton::uint8  value 
)

Stores a concrete value into the memory array.

Definition at line 332 of file ast.cpp.


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