Package ghidra.program.model.lang
Class ParamListStandardOut
java.lang.Object
ghidra.program.model.lang.ParamListStandard
ghidra.program.model.lang.ParamListStandardOut
- All Implemented Interfaces:
ParamList
- Direct Known Subclasses:
ParamListRegisterOut
A list of resources describing possible storage locations for a function's return value,
and a strategy for selecting a storage location based on data-types in a function signature.
Similar to the parent class, when assigning storage, the first entry that matches the data-type
is chosen. But if this instance fails to find a match (because the return value data-type is too
big) the data-type is converted to a pointer and storage is assigned based on that pointer.
Additionally, if configured, this instance will signal that a hidden input parameter is required
to fully model where the large return value is stored.
The resource list is checked to ensure entries are distinguishable.
-
Nested Class Summary
Nested classes/interfaces inherited from interface ghidra.program.model.lang.ParamList
ParamList.WithSlotRec
-
Field Summary
Fields inherited from class ghidra.program.model.lang.ParamListStandard
entry, modelRules, numgroup, spacebase, splitMetatype, thisbeforeret
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
assignMap
(PrototypePieces proto, DataTypeManager dtManager, ArrayList<ParameterPieces> res, boolean addAutoParams) Given a list of datatypes, calculate the storage locations used for passing those data-typesMethods inherited from class ghidra.program.model.lang.ParamListStandard
assignAddress, assignAddressFallback, encode, getEntry, getNumParamEntry, getPotentialRegisterStorage, getSpacebase, getStackParameterAlignment, getStackParameterOffset, isEquivalent, isThisBeforeRetPointer, possibleParamWithSlot, restoreXml
-
Constructor Details
-
ParamListStandardOut
public ParamListStandardOut()
-
-
Method Details
-
assignMap
public void assignMap(PrototypePieces proto, DataTypeManager dtManager, ArrayList<ParameterPieces> res, boolean addAutoParams) Description copied from interface:ParamList
Given a list of datatypes, calculate the storage locations used for passing those data-types- Specified by:
assignMap
in interfaceParamList
- Overrides:
assignMap
in classParamListStandard
- Parameters:
proto
- is the list of datatypesdtManager
- is the data-type managerres
- is the vector for holding the storage locations and other parameter propertiesaddAutoParams
- if true add/process auto-parameters
-