decompiler  1.0.0
Classes
jumptable.hh File Reference

Classes to support jump-tables and their recovery. More...

#include "emulateutil.hh"
#include "rangeutil.hh"

Classes

struct  ghidra::JumptableThunkError
 Exception thrown for a thunk mechanism that looks like a jump-table. More...
 
struct  ghidra::JumptableNotReachableError
 Exception thrown is there are no legal flows to a switch. More...
 
class  ghidra::LoadTable
 A description where and how data was loaded from memory. More...
 
class  ghidra::PathMeld
 All paths from a (putative) switch variable to the CPUI_BRANCHIND. More...
 
struct  ghidra::PathMeld::RootedOp
 A PcodeOp in the path set associated with the last Varnode in the intersection. More...
 
class  ghidra::EmulateFunction
 A light-weight emulator to calculate switch targets from switch variables. More...
 
class  ghidra::GuardRecord
 A (putative) switch variable Varnode and a constraint imposed by a CBRANCH. More...
 
class  ghidra::JumpValues
 An iterator over values a switch variable can take. More...
 
class  ghidra::JumpValuesRange
 single entry switch variable that can take a range of values More...
 
class  ghidra::JumpValuesRangeDefault
 A jump-table starting range with two possible execution paths. More...
 
class  ghidra::JumpModel
 A jump-table execution model. More...
 
class  ghidra::JumpModelTrivial
 A trivial jump-table model, where the BRANCHIND input Varnode is the switch variable. More...
 
class  ghidra::JumpBasic
 The basic switch model. More...
 
class  ghidra::JumpBasic2
 A basic jump-table model with an added default address path. More...
 
class  ghidra::JumpBasicOverride
 A basic jump-table model incorporating manual override information. More...
 
class  ghidra::JumpAssisted
 A jump-table model assisted by pseudo-op directives in the code. More...
 
class  ghidra::JumpTable
 A map from values to control-flow targets within a function. More...
 
struct  ghidra::JumpTable::IndexPair
 An address table index and its corresponding out-edge. More...
 

Detailed Description

Classes to support jump-tables and their recovery.