Class PcodeEmit
- java.lang.Object
-
- ghidra.app.plugin.processors.sleigh.PcodeEmit
-
- Direct Known Subclasses:
PcodeEmitObjects
,PcodeEmitPacked
public abstract class PcodeEmit extends java.lang.Object
Class for converting ConstructTpl into a pcode ops given a particular InstructionContext
-
-
Field Summary
Fields Modifier and Type Field Description protected VarnodeData[]
incache
protected java.util.ArrayList<java.lang.Integer>
labeldef
protected int
numOps
-
Constructor Summary
Constructors Modifier Constructor Description protected
PcodeEmit()
Pcode emitter constructor for empty or unimiplemented instructionsPcodeEmit(ParserWalker walk, InstructionContext ictx, int fallOffset, PcodeOverride override, UniqueAddressFactory uniqueFactory)
Pcode emitter constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
build(ConstructTpl construct, int secnum)
int
getFallOffset()
Address
getStartAddress()
ParserWalker
getWalker()
abstract void
resolveRelatives()
Now that we have seen all label templates and references convert the collected references into full relative addresses
-
-
-
Field Detail
-
incache
protected VarnodeData[] incache
-
labeldef
protected java.util.ArrayList<java.lang.Integer> labeldef
-
numOps
protected int numOps
-
-
Constructor Detail
-
PcodeEmit
protected PcodeEmit()
Pcode emitter constructor for empty or unimiplemented instructions
-
PcodeEmit
public PcodeEmit(ParserWalker walk, InstructionContext ictx, int fallOffset, PcodeOverride override, UniqueAddressFactory uniqueFactory)
Pcode emitter constructor- Parameters:
walk
- is the ParserWalker state for the tree that needs to be walked to generate pcodeictx
- is the InstructionContext interface to resolve requests for contextfallOffset
- default instruction fall offset (i.e., instruction length including delay slotted instructions)override
- required if pcode overrides are to be utilizeduniqueFactory
- required when override specified or if overlay normalization is required
-
-
Method Detail
-
getStartAddress
public Address getStartAddress()
-
getFallOffset
public int getFallOffset()
-
getWalker
public ParserWalker getWalker()
-
resolveRelatives
public abstract void resolveRelatives()
Now that we have seen all label templates and references convert the collected references into full relative addresses
-
build
public void build(ConstructTpl construct, int secnum) throws UnknownInstructionException, MemoryAccessException
-
-