Class PcodeEmit
- java.lang.Object
-
- ghidra.app.plugin.processors.sleigh.PcodeEmit
-
- Direct Known Subclasses:
PcodeEmitObjects,PcodeEmitPacked
public abstract class PcodeEmit extends java.lang.ObjectClass for converting ConstructTpl into a pcode ops given a particular InstructionContext
-
-
Field Summary
Fields Modifier and Type Field Description protected VarnodeData[]incacheprotected java.util.ArrayList<java.lang.Integer>labeldefprotected intnumOps
-
Constructor Summary
Constructors Modifier Constructor Description protectedPcodeEmit()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 voidbuild(ConstructTpl construct, int secnum)intgetFallOffset()AddressgetStartAddress()ParserWalkergetWalker()abstract voidresolveRelatives()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
-
-