|
libTriton version 1.0 build 1599
|
(declare-fun <var_name> () (_ BitVec <var_size>)) node
More...
#include <ast.hpp>
Public Member Functions | |
| TRITON_EXPORT | DeclareNode (const SharedAbstractNode &var) |
| TRITON_EXPORT void | init (bool withParents=false) |
| Init properties of the node. If withParents is true, init also properties of parents. | |
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::DeclareNode::DeclareNode | ( | const SharedAbstractNode & | var | ) |
|
virtual |
Init properties of the node. If withParents is true, init also properties of parents.
Implements triton::ast::AbstractNode.