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
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidencode(Encoder encoder, PcodeInjectLibrary injectLibrary) Encode this object to an output streamgetModel(int i) booleanDetermine if this PrototypeModel is equivalent to another instancebooleanisMerged()If this returns true, it indicates this model is an artificial merge of other models.intvoidrestoreXml(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:PrototypeModelIf 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:
 isMergedin classPrototypeModel- Returns:
 - true if this model is an artificial merge of other models
 
 - 
numModels
public int numModels() - 
getModel
 - 
encode
Description copied from class:PrototypeModelEncode this object to an output stream- Overrides:
 encodein 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:PrototypeModelDetermine if this PrototypeModel is equivalent to another instance- Overrides:
 isEquivalentin classPrototypeModel- Parameters:
 obj- is the other instance- Returns:
 - true if they are equivalent
 
 
 -