Package ghidra.program.model.pcode
Interface PcodeFactory
-
- All Known Implementing Classes:
HighFunction
,HighParamID
,PcodeSyntaxTree
public interface PcodeFactory
Interface for classes that build PcodeOps and Varnodes
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description VariableStorage
buildStorage(Varnode vn)
Varnode
createFromStorage(Address addr, VariableStorage storage, int logicalSize)
AddressFactory
getAddressFactory()
PcodeDataTypeManager
getDataTypeManager()
PcodeOp
getOpRef(int refid)
Varnode
getRef(int refid)
HighSymbol
getSymbol(long symbolId)
PcodeOp
newOp(SequenceNumber sq, int opc, java.util.ArrayList<Varnode> inputs, Varnode output)
Varnode
newVarnode(int sz, Address addr)
Create a new Varnode with the given size an locationVarnode
newVarnode(int sz, Address addr, int refId)
VariableStorage
readXMLVarnodePieces(XmlElement el, Address addr)
void
setAddrTied(Varnode vn, boolean val)
void
setDataType(Varnode vn, DataType type)
Varnode
setInput(Varnode vn, boolean val)
void
setMergeGroup(Varnode vn, short val)
void
setPersistent(Varnode vn, boolean val)
void
setUnaffected(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
-
-