decompiler 1.0.0
Public Member Functions | Private Attributes | List of all members
ghidra::VarnodeSignature Class Reference

A feature representing a portion of the data-flow graph rooted at a particular Varnode. More...

#include <signature.hh>

Inheritance diagram for ghidra::VarnodeSignature:
ghidra::Signature

Public Member Functions

 VarnodeSignature (const Varnode *v, hashword h)
 Constructor.
 
virtual void encode (Encoder &encoder) const
 
virtual void printOrigin (ostream &s) const
 Restore this feature from the given stream.
 
- Public Member Functions inherited from ghidra::Signature
 Signature (hashword h)
 Constructor.
 
uint4 getHash (void) const
 Get the underyling 32-bit hash of the feature.
 
void print (ostream &s) const
 Print the feature hash and a brief description of this feature to the given stream.
 
int4 compare (const Signature *op2) const
 Compare two features.
 
virtual ~Signature (void)
 Destructor.
 
virtual void decode (Decoder &decoder)
 Encode this feature to the given stream.
 

Private Attributes

const Varnode * vn
 The root Varnode.
 

Additional Inherited Members

- Static Public Member Functions inherited from ghidra::Signature
static bool comparePtr (Signature *a, Signature *b)
 Compare two Signature pointers via their underlying hash values.
 

Detailed Description

A feature representing a portion of the data-flow graph rooted at a particular Varnode.

The feature recursively incorporates details about the Varnode, the PcodeOp that defined it and its input Varnodes, up to a specific depth.

Member Function Documentation

◆ encode()

void ghidra::VarnodeSignature::encode ( Encoder &  encoder) const
virtual

The hash value is encoded to the stream, along with any descriptive information about how the feature was formed.

Parameters
encoderis the stream encoder

Reimplemented from ghidra::Signature.

References ghidra::Encoder::closeElement(), ghidra::PcodeOp::encode(), ghidra::Varnode::encode(), ghidra::Varnode::getDef(), ghidra::Signature::getHash(), ghidra::Varnode::isWritten(), ghidra::Encoder::openElement(), vn, and ghidra::Encoder::writeUnsignedInteger().

◆ printOrigin()

virtual void ghidra::VarnodeSignature::printOrigin ( ostream &  s) const
inlinevirtual

Restore this feature from the given stream.

Print a brief description of this feature to the given stream

Reimplemented from ghidra::Signature.

References ghidra::Varnode::printRaw(), and vn.


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