Package ghidra.program.model.data
Interface FunctionDefinition
-
- All Superinterfaces:
DataType
,FunctionSignature
- All Known Implementing Classes:
FunctionDefinitionDataType
,FunctionSignatureImpl
public interface FunctionDefinition extends DataType, FunctionSignature
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, VOID
-
Fields inherited from interface ghidra.program.model.listing.FunctionSignature
VAR_ARGS_DISPLAY_STRING, VOID_PARAM_DISPLAY_STRING
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
replaceArgument(int ordinal, java.lang.String name, DataType dt, java.lang.String comment, SourceType source)
Replace the given argument with another data typevoid
setArguments(ParameterDefinition[] args)
Set the arguments to this function.void
setComment(java.lang.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, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDescription, getDisplayName, getDocs, getLastChangeTime, getLastChangeTimeInSourceArchive, getLength, getMnemonic, getName, getParents, getPathName, getRepresentation, getSettingsDefinitions, getSourceArchive, getUniversalID, getValue, getValueClass, isDeleted, isDynamicallySized, isEquivalent, isNotYetDefined, removeParent, replaceWith, setCategoryPath, setDefaultSettings, 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 Detail
-
setArguments
void setArguments(ParameterDefinition[] args)
Set the arguments to this function.- Parameters:
args
- array of parameter definitions to be used as arguments to this function
-
setReturnType
void setReturnType(DataType type) throws java.lang.IllegalArgumentException
Set the return data type for this function- Parameters:
type
- the return datatype to be set.- Throws:
java.lang.IllegalArgumentException
- if data type is not a fixed length type
-
setComment
void setComment(java.lang.String comment)
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
void setGenericCallingConvention(GenericCallingConvention genericCallingConvention)
Set the generic calling convention associated with this function definition.- Parameters:
genericCallingConvention
- generic calling convention
-
replaceArgument
void replaceArgument(int ordinal, java.lang.String name, DataType dt, java.lang.String comment, SourceType source)
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
-
-