Package ghidra.program.model.lang
Class PrototypeModelMerged
java.lang.Object
ghidra.program.model.lang.PrototypeModel
ghidra.program.model.lang.PrototypeModelMerged
This model serves as a placeholder for multiple model
Currently all the models being selected between must share the same output model
-
Field Summary
Fields inherited from class ghidra.program.model.lang.PrototypeModel
isExtension, name, UNKNOWN_EXTRAPOP
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
encode
(Encoder encoder, PcodeInjectLibrary injectLibrary) Encode this object to an output streamgetModel
(int i) boolean
Determine if this PrototypeModel is equivalent to another instanceboolean
isMerged()
If this returns true, it indicates this model is an artificial merge of other models.int
void
restoreXml
(XmlPullParser parser, List<PrototypeModel> modelList) selectModel
(Parameter[] params) Methods inherited from class ghidra.program.model.lang.PrototypeModel
assignParameterStorage, getAliasParent, getArgLocation, getExtrapop, getInjectName, getInputListType, getInternalStorage, getKilledByCallList, getLikelyTrash, getName, getNextArgLocation, getPotentialInputRegisterStorage, getReturnAddress, getReturnLocation, getStackParameterAlignment, getStackParameterOffset, getStackshift, getStorageLocations, getUnaffectedList, hasInjection, hasThisPointer, isConstructor, isErrorPlaceholder, isProgramExtension, possibleInputParamWithSlot, possibleOutputParamWithSlot, restoreXml, setReturnAddress, toString
-
Constructor Details
-
PrototypeModelMerged
public PrototypeModelMerged()
-
-
Method Details
-
isMerged
public boolean isMerged()Description copied from class:PrototypeModel
If this returns true, it indicates this model is an artificial merge of other models. A merged model can be used as part of the analysis process when attempting to distinguish between different possible models for an unknown function.- Overrides:
isMerged
in classPrototypeModel
- Returns:
- true if this model is an artificial merge of other models
-
numModels
public int numModels() -
getModel
-
encode
Description copied from class:PrototypeModel
Encode this object to an output stream- Overrides:
encode
in classPrototypeModel
- Parameters:
encoder
- is the stream encoderinjectLibrary
- is a library containing any inject payloads associated with the model- Throws:
IOException
- for errors writing to the underlying stream
-
restoreXml
public void restoreXml(XmlPullParser parser, List<PrototypeModel> modelList) throws XmlParseException - Throws:
XmlParseException
-
selectModel
- Throws:
SleighException
-
isEquivalent
Description copied from class:PrototypeModel
Determine if this PrototypeModel is equivalent to another instance- Overrides:
isEquivalent
in classPrototypeModel
- Parameters:
obj
- is the other instance- Returns:
- true if they are equivalent
-