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.
  • Method Details

    • 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 IllegalArgumentException
      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

      void setComment(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, String name, DataType dt, 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 argument
      dt - data type of the new argument
      comment - comment for the argument
      source - the source of this function definition argument: Symbol.DEFAULT, Symbol.ANALYSIS, Symbol.IMPORTED, or Symbol.USER_DEFINED