Ghidra Decompiler Analysis Engine
Public Member Functions | Public Attributes | List of all members
PropagationState Class Reference

A class that holds a data-type traversal state during type propagation. More...

#include <coreaction.hh>

Collaboration diagram for PropagationState:
Collaboration graph
[legend]

Public Member Functions

 PropagationState (Varnode *v)
 Constructor. More...
 
void step (void)
 Advance to the next propagation edge. More...
 

Public Attributes

Varnodevn
 The root Varnode.
 
list< PcodeOp * >::const_iterator iter
 Iterator to current descendant being enumerated.
 
PcodeOpop
 The current descendant or the defining PcodeOp.
 
int4 inslot
 Slot holding Varnode for descendant PcodeOp.
 
int4 slot
 Current edge relative to current PcodeOp.
 

Detailed Description

A class that holds a data-type traversal state during type propagation.

For a given Varnode, this class iterates all the possible edges its data-type might propagate through.

Constructor & Destructor Documentation

◆ PropagationState()

PropagationState::PropagationState ( Varnode v)

Constructor.

Parameters
vis the root Varnode to iterate over

Member Function Documentation

◆ step()

void PropagationState::step ( void  )

Advance to the next propagation edge.

At the high level, this iterates through all the descendant PcodeOps of the root Varnode, then the defining PcodeOp. At the low level, this iterates from the output Varnode of the current PcodeOp then through all the input Varnodes


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