|
libTriton version 1.0 build 1599
|
(Array (_ BitVec indexSize) (_ BitVec 8)) node
More...
#include <ast.hpp>
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< SharedAbstractNode > | getParents (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< SharedAbstractNode > | children |
| 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. | |
| triton::ast::ArrayNode::ArrayNode | ( | triton::uint32 | indexSize, |
| const SharedAstContext & | ctxt ) |
| triton::uint32 triton::ast::ArrayNode::getIndexSize | ( | void | ) | const |
| std::unordered_map< triton::uint64, triton::uint8 > & triton::ast::ArrayNode::getMemory | ( | void | ) |
|
virtual |
Init properties of the node. If withParents is true, init also properties of parents.
Implements triton::ast::AbstractNode.
| triton::uint8 triton::ast::ArrayNode::select | ( | const SharedAbstractNode & | node | ) | const |
| triton::uint8 triton::ast::ArrayNode::select | ( | const triton::uint512 & | addr | ) | const |
| triton::uint8 triton::ast::ArrayNode::select | ( | triton::uint64 | addr | ) | const |
| void triton::ast::ArrayNode::store | ( | triton::uint64 | addr, |
| triton::uint8 | value ) |