libTriton version 1.0 build 1592
|
(distinct <expr1> <expr2> ...)
node
More...
#include <ast.hpp>
Public Member Functions | |
TRITON_EXPORT | DistinctNode (const SharedAbstractNode &expr1, const SharedAbstractNode &expr2) |
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::DistinctNode::DistinctNode | ( | const SharedAbstractNode & | expr1, |
const SharedAbstractNode & | expr2 ) |
|
virtual |
Init properties of the node. If withParents is true, init also properties of parents.
Implements triton::ast::AbstractNode.