Package ghidra.program.model.pcode
Interface PcodeFactory
-
- All Known Implementing Classes:
HighFunction,HighParamID,PcodeSyntaxTree
public interface PcodeFactoryInterface for classes that build PcodeOps and Varnodes
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description VariableStoragebuildStorage(Varnode vn)VarnodecreateFromStorage(Address addr, VariableStorage storage, int logicalSize)AddressFactorygetAddressFactory()PcodeDataTypeManagergetDataTypeManager()PcodeOpgetOpRef(int refid)VarnodegetRef(int refid)HighSymbolgetSymbol(long symbolId)PcodeOpnewOp(SequenceNumber sq, int opc, java.util.ArrayList<Varnode> inputs, Varnode output)VarnodenewVarnode(int sz, Address addr)Create a new Varnode with the given size an locationVarnodenewVarnode(int sz, Address addr, int refId)VariableStoragereadXMLVarnodePieces(XmlElement el, Address addr)voidsetAddrTied(Varnode vn, boolean val)voidsetDataType(Varnode vn, DataType type)VarnodesetInput(Varnode vn, boolean val)voidsetMergeGroup(Varnode vn, short val)voidsetPersistent(Varnode vn, boolean val)voidsetUnaffected(Varnode vn, boolean val)
-
-
-
Method Detail
-
getAddressFactory
AddressFactory getAddressFactory()
- Returns:
- Address factory
-
getDataTypeManager
PcodeDataTypeManager getDataTypeManager()
- Returns:
- pcode data type manager used to convert strings to Ghidra data types
-
newVarnode
Varnode newVarnode(int sz, Address addr)
Create a new Varnode with the given size an location- Parameters:
sz- size of varnodeaddr- location of varnode- Returns:
- a new varnode
-
readXMLVarnodePieces
VariableStorage readXMLVarnodePieces(XmlElement el, Address addr) throws PcodeXMLException, InvalidInputException
-
createFromStorage
Varnode createFromStorage(Address addr, VariableStorage storage, int logicalSize)
-
buildStorage
VariableStorage buildStorage(Varnode vn) throws InvalidInputException
- Throws:
InvalidInputException
-
getRef
Varnode getRef(int refid)
-
getOpRef
PcodeOp getOpRef(int refid)
-
getSymbol
HighSymbol getSymbol(long symbolId)
-
setAddrTied
void setAddrTied(Varnode vn, boolean val)
-
setPersistent
void setPersistent(Varnode vn, boolean val)
-
setUnaffected
void setUnaffected(Varnode vn, boolean val)
-
setMergeGroup
void setMergeGroup(Varnode vn, short val)
-
newOp
PcodeOp newOp(SequenceNumber sq, int opc, java.util.ArrayList<Varnode> inputs, Varnode output) throws UnknownInstructionException
- Throws:
UnknownInstructionException
-
-