decompiler  1.0.0
Public Types | Public Member Functions | Public Attributes | List of all members
ghidra::AncestorRealistic::State Class Reference

Node in a depth first traversal of ancestors. More...

Public Types

enum  { seen_solid0 = 1, seen_solid1 = 2, seen_kill = 4 }
 

Public Member Functions

 State (PcodeOp *o, int4 s)
 Constructor given a Varnode read. More...
 
 State (PcodeOp *o, const State &oldState)
 Constructor from old state pulled back through a CPUI_SUBPIECE. More...
 
int4 getSolidSlot (void) const
 Get slot associated with solid movement.
 
void markSolid (int4 s)
 Mark given slot as having solid movement.
 
void markKill (void)
 Mark killedbycall seen.
 
bool seenSolid (void) const
 Has solid movement been seen.
 
bool seenKill (void) const
 Has killedbycall been seen.
 

Public Attributes

PcodeOpop
 Operation along the path to the Varnode.
 
int4 slot
 vn = op->getIn(slot)
 
uint4 flags
 Boolean properties of the node.
 
int4 offset
 Offset of the (eventual) trial value, within a possibly larger register.
 

Detailed Description

Node in a depth first traversal of ancestors.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
seen_solid0 

Indicates a solid movement into the Varnode occurred on at least one path to MULTIEQUAL.

seen_solid1 

Indicates a solid movement into anything other than slot 0 occurred.

seen_kill 

Indicates the Varnode is killed by a call on at least path to MULTIEQUAL.

Constructor & Destructor Documentation

◆ State() [1/2]

ghidra::AncestorRealistic::State::State ( PcodeOp o,
int4  s 
)
inline

Constructor given a Varnode read.

Parameters
ois the PcodeOp reading the Varnode
sis the input slot

◆ State() [2/2]

ghidra::AncestorRealistic::State::State ( PcodeOp o,
const State oldState 
)
inline

Constructor from old state pulled back through a CPUI_SUBPIECE.

Data ultimately in SUBPIECE output is copied from a non-zero offset within the input Varnode. Note this offset

Parameters
ois the CPUI_SUBPIECE
oldStateis the old state being pulled back from

References ghidra::PcodeOp::getIn(), ghidra::Varnode::getOffset(), and offset.


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