Package ghidra.program.model.data
Interface FunctionDefinition
- All Superinterfaces:
DataType
,FunctionSignature
- All Known Implementing Classes:
FunctionDefinitionDataType
,FunctionSignatureImpl
Defines a function signature for things like function pointers.
-
Field Summary
Fields inherited from interface ghidra.program.model.data.DataType
CONFLICT_SUFFIX, DEFAULT, NO_LAST_CHANGE_TIME, NO_SOURCE_SYNC_TIME, TYPEDEF_ATTRIBUTE_PREFIX, TYPEDEF_ATTRIBUTE_SUFFIX, VOID
Fields inherited from interface ghidra.program.model.listing.FunctionSignature
VAR_ARGS_DISPLAY_STRING, VOID_PARAM_DISPLAY_STRING
-
Method Summary
Modifier and TypeMethodDescriptionvoid
replaceArgument
(int ordinal, String name, DataType dt, String comment, SourceType source) Replace the given argument with another data typevoid
setArguments
(ParameterDefinition[] args) Set the arguments to this function.void
setComment
(String comment) Set the function commentvoid
setGenericCallingConvention
(GenericCallingConvention genericCallingConvention) Set the generic calling convention associated with this function definition.void
setReturnType
(DataType type) Set the return data type for this functionvoid
setVarArgs
(boolean hasVarArgs) Set whether parameters can be passed as a VarArg (variable argument list).Methods inherited from interface ghidra.program.model.data.DataType
addParent, clone, copy, dataTypeAlignmentChanged, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, encodeRepresentation, encodeValue, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDescription, getDisplayName, getDocs, getLastChangeTime, getLastChangeTimeInSourceArchive, getLength, getMnemonic, getName, getParents, getPathName, getRepresentation, getSettingsDefinitions, getSourceArchive, getTypeDefSettingsDefinitions, getUniversalID, getValue, getValueClass, hasLanguageDependantLength, isDeleted, isEncodable, isEquivalent, isNotYetDefined, isZeroLength, removeParent, replaceWith, setCategoryPath, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive
Methods inherited from interface ghidra.program.model.listing.FunctionSignature
getArguments, getComment, getGenericCallingConvention, getName, getPrototypeString, getPrototypeString, getReturnType, hasVarArgs, isEquivalentSignature
-
Method Details
-
setArguments
Set the arguments to this function.- Parameters:
args
- array of parameter definitions to be used as arguments to this function
-
setReturnType
Set the return data type for this function- Parameters:
type
- the return datatype to be set.- Throws:
IllegalArgumentException
- if data type is not a fixed length type
-
setComment
Set the function comment- Parameters:
comment
- the comment to set.
-
setVarArgs
void setVarArgs(boolean hasVarArgs) Set whether parameters can be passed as a VarArg (variable argument list).- Parameters:
hasVarArgs
- true if this function has a variable argument list (ie printf(fmt, ...)).
-
setGenericCallingConvention
Set the generic calling convention associated with this function definition.- Parameters:
genericCallingConvention
- generic calling convention
-
replaceArgument
Replace the given argument with another data type- Parameters:
ordinal
- the index of the argument to be replaced, starting from '0'name
- name of the new argumentdt
- data type of the new argumentcomment
- comment for the argumentsource
- the source of this function definition argument: Symbol.DEFAULT, Symbol.ANALYSIS, Symbol.IMPORTED, or Symbol.USER_DEFINED
-