Ghidra 11.3.2
Ghidra internal decompiler documentation.
Loading...
Searching...
No Matches
ghidra::CopySignature Class Reference

A feature representing 1 or more stand-alone copies in a basic block. More...

#include <signature.hh>

Inheritance diagram for ghidra::CopySignature:
[legend]
Collaboration diagram for ghidra::CopySignature:
[legend]

Public Member Functions

 CopySignature (const BlockBasic *b, 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 BlockBasicbl
 The basic block containing the COPY.
 

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 1 or more stand-alone copies in a basic block.

A COPY operation is considered stand-alone if either a constant or a function input is copied into a location that is then not read directly by the function. These COPYs are incorporated into a single feature, which encodes the number and type of COPYs but does not encode the order in which they occur within the block.

Member Function Documentation

◆ encode()

void ghidra::CopySignature::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 bl, ghidra::Encoder::closeElement(), ghidra::Signature::getHash(), ghidra::FlowBlock::getIndex(), ghidra::Encoder::openElement(), ghidra::Encoder::writeSignedInteger(), and ghidra::Encoder::writeUnsignedInteger().

◆ printOrigin()

void ghidra::CopySignature::printOrigin ( ostream &  s) const
virtual

Restore this feature from the given stream.

Print a brief description of this feature to the given stream

Reimplemented from ghidra::Signature.

References bl, and ghidra::BlockBasic::printHeader().


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